C64 Software  <  SCA: The C64 Software Collection / HARDCOPY.S

  Run
1000              ;SAVE"",8
1010              ;
1020              ; HARDCOPY NEC P6
1030              ;
1040              ; V0.01 / 8.4.89
1050              ;
1060              ;
1070              ORG 2049
1080              ;
1090              ;
1100 CHKIN        EQU $FFC6
1110 CLRCH        EQU $FFCC
1120 OUTCHR       EQU $FFD2
1130 BASIN        EQU $FFCF
1140 GET          EQU $F142 ; NUR TAST.
1150              ;
1160 ST           EQU 144
1170 XCNTR        EQU 100
1180 YCNTR        EQU 101
1190 BYTE         EQU 102
1200 TMP1         EQU 252
1210 TMP2         EQU 254
1220              ;
1230 FILENAME     EQU 49152
1240              ;
1250 BA           EQU 8192     ; START
1260 BE           EQU BA+10001 ; ENDE+1
1270 C1           EQU BA+8000
1280 C2           EQU BA+9000
1290 C0           EQU BA+10000
1300 C1A          EQU 1024
1310 C2A          EQU 55296
1320              ;
1330              ;
1340              ;
1350              DFB 15,8,250,255,158,"",0,0,0,0
1360 ANFANG       LDX #0
1370              STX 157
1380              STX 53280
1390              STX 53281
1400 TEXT1LOOP    LDA TEXT1,X
1410              BEQ LOADER
1420              JSR OUTCHR
1430              INX
1440              BNE TEXT1LOOP
1450              ;
1460 LOADER       JSR INPUT
1470              ;
1480 LOADIT       JSR INIT
1490              LDA #1
1500              LDX #8
1510              LDY #0 ; RELATIV
1520              JSR 65466
1530              LDA #15
1540              LDX #<FILENAME
1550              LDY #>FILENAME
1560              JSR 65469
1570              LDA #0
1580              LDX #<BA
1590              LDY #>BA
1600              JSR 65493
1610              BCS LOADER
1620              ;
1630              LDX #0
1640 TEXT2LOOP    LDA TEXT2,X
1650              BEQ MAINLOOP
1660              JSR OUTCHR
1670              INX
1680              BNE TEXT2LOOP
1690              ;
1700 MAINLOOP     JSR GET
1710              CMP #32
1720              BNE MAINLOOP
1730              ;
1740 WHATNOW      JSR SHOWPIC
1750 WHATNOW1     JSR GET
1760              CMP #80      ; ""
1770              BNE WHATNOW2
1780              JSR PRINT
1790              JMP WHATNOW
1800              ;
1810 WHATNOW2     CMP #88      ; ""
1820              BNE WHATNOW1
1830              JSR NORM
1840              JMP ANFANG
1850              ;
1860              ;
1870              ;
1880 SHOWPIC      LDA #<C1
1890              STA TMP1
1900              LDA #>C1
1910              STA TMP1+1
1920              LDA #<C1A
1930              STA TMP2
1940              LDA #>C1A
1950              STA TMP2+1
1960              ;
1970              JSR MOVE
1980              ;
1990              LDA #<C2
2000              STA TMP1
2010              LDA #>C2
2020              STA TMP1+1
2030              LDA #<C2A
2040              STA TMP2
2050              LDA #>C2A
2060              STA TMP2+1
2070              ;
2080              JSR MOVE
2090              ;
2100              LDA #59
2110              STA 53265
2120              LDA #24
2130              STA 53272
2140              LDA #216
2150              STA 53270
2160              LDA #0
2170              STA 53280
2180              LDA C0
2190              STA 53281
2200              RTS
2210              ;
2220 MOVE         LDX #4
2230              LDY #0
2240 MOVE1        LDA (TMP1),Y
2250              STA (TMP2),Y
2260              INY
2270              BNE MOVE1
2280              INC TMP1+1
2290              INC TMP2+1
2300              DEX
2310              BNE MOVE1
2320              RTS
2330              ;
2340 NORM         LDA #27
2350              STA 53265
2360              LDA #21
2370              STA 53272
2380              LDA #200
2390              STA 53270
2400              LDA #147
2410              JMP OUTCHR
2420              ;
2430              ;
2440              ;
2450 INPUT        LDX #0
2460 ILOOP1       LDA ITEXT,X
2470              BEQ INPUT1
2480              JSR OUTCHR
2490              INX
2500              BNE ILOOP1
2510              ;
2520 INPUT1       LDA #129 ; ""
2530              STA FILENAME
2540              LDX #14
2550              LDA #32
2560 ILOOP2       STA FILENAME,X
2570              DEX
2580              BNE ILOOP2
2590              ;
2600              INX
2610 ILOOP3       JSR BASIN
2620              CMP #13
2630              BEQ INPUTAUS
2640              CMP #36 ; ""
2650              BEQ DIR
2660              ;
2670              STA FILENAME,X
2680              INX
2690              BNE ILOOP3
2700 INPUTAUS     RTS
2710              ;
2720 DIR          JSR INIT
2730              LDA #1
2740              LDX #8
2750              LDY #0
2760              JSR 65466
2770              LDA #1
2780              LDX #<DTEXT
2790              LDY #>DTEXT
2800              JSR 65469
2810              JSR 65472
2820              ;
2830              LDA #147
2840              JSR OUTCHR
2850              LDX #1
2860              JSR CHKIN
2870              JSR BASIN
2880              JSR BASIN
2890 DIR1         JSR BASIN
2900              JSR BASIN
2910              BEQ DIREND
2920              JSR BASIN
2930              STA TMP1
2940              JSR BASIN
2950              LDX TMP1
2960              JSR $BDCD ; NUMOUT
2970              LDA #32
2980              JSR OUTCHR
2990 DIR2         JSR GET
3000              BEQ DIR3
3010              CMP #3
3020              BEQ DIREND
3030 DIRWAIT      JSR GET
3040              BEQ DIRWAIT
3050              CMP #3
3060              BEQ DIREND
3070 DIR3         JSR BASIN
3080              JSR OUTCHR
3090              BNE DIR2
3100              LDA #13
3110              JSR OUTCHR
3120              JMP DIR1
3130              ;
3140 DIREND       JSR CLRCH
3150              LDA #1
3160              JSR 65475 ; CLOSE
3170              JMP INPUT
3180              ;
3190 INIT         LDA #1
3200              LDX #8
3210              LDY #15
3220              JSR 65466
3230              LDA #1
3240              LDX #<INITEXT
3250              LDY #>INITEXT
3260              JSR 65469
3270              JSR 65472
3280              LDA #1
3290              JMP 65475
3300              ;
3310              ;
3320 TEXT1        DFB "",13
3330              DFB "",13
3340              DFB "",13
3350              DFB "",13
3360              DFB "",13,0
3370 ITEXT        DFB 13,"",0
3380 TEXT2        DFB 13,"",13
3390              DFB "",13
3400              DFB "",0
3410 DTEXT        DFB ""
3420 INITEXT      DFB ""
3430              ;
3440              ;
3450              ;
3460 PRINT        RTS
3470              ;
READY.