home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 67
/
64er_Magazin_Sonderheft_67_19xx_Markt__Technik_de_Side_B.d64
/
op.auto-save
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
3KB
|
112 lines
10 sys36864
20 .opt oo
30 *= $c800
100 cia =$dd00
102 ddra =cia+2
104 ddrb =cia+3
106 prta =cia
108 prtb =cia+1
110 errout =$a445
112 errptr =$22
116 namel =$b7
118 namep =$bb
120 strout =$ab1e
122 oldsave =$f5ed
124 savev =$332
126 ga =$ba
128 setpar =$ffba
130 open =$ffc0
132 close =open+3
134 rd1 =53266
136 rd2 =162
138 getx =$b7f1
500 jmp swon
502 jmp swoff
600 errt .asc "unable to access rt[195]
610 hi .[198] "auto-save eingeschaltet":.byt 13,0
620 ts .[198] "auto-save abgeschaltet ":.byt 13,0
630 fi[195] .w[176] 0,0,0,0,0,0,0,0
632 .[198] ",u,w
706 buc1 brk
708 buc2 brk
710 art brk
716 xmem brk
718 ymem brk
720 diffe brk
722 sd .byt 123
800 at1 .byt 20,0,13,141,148,34,160:.asc "*=,?:
801 et1 [178][172]
1100 maken ldy #15:lda #32
1102 [156]n sta fi[195],y:dey:bpl [156]n:iny
1104 copn cpy namel:bcs fuln:lda (namep),y:sta fi[195],y:iny:cpy #4:bcc copn
1106 fuln ldy #5
1108 ldx #7:jsr das:ldx #6:jsr das:ldx #9:jsr das:ldx #8:jsr das
1110 ldx #11:jsr das:ldx #10:jsr das:iny
1112 ldx #5:jsr das:ldx #4:jsr das:ldx #3:jsr das:ldx #2:jsr das
1114 lda #20:sta namel:lda #[179]fi[195]:ldy #[177]fi[195]:sta namep:sty namep[170]1
1116 ldx ga:lda #57:ldy #8:jsr setpar:jsr [159]:lda #57:jsr [160]
1117 lda d[139]fe:bne strich:rts
1118 strich lda #"-":ldx #13
1120 spi sta fi[195],x:dex:bpl spi
1122 jsr [187]:sta fi[195][170]14:jsr [187]:sta fi[195][170]15:jsr [159]:lda #57:jmp [160]
1150 [187] lda rd1:adc sd:e[176] rd2:asl:adc #0:sta sd:ldx #et1[171]at1[171]1
1152 attn cmp at1,x:beq [187]:dex:bpl attn:rts
1200 das jsr [194]:[176]a #48:sta fi[195],y:iny:rts
1300 swoff lda #[179]old[148]:ldy #[177]old[148]:sta [148]v:sty [148]v[170]1
1302 lda #[179]ts:ldy #[177]ts:jmp strout
1310 sw[145] jsr [161]x:stx d[139]fe:jsr initrtc
1312 lda #[179]neu[148]:ldy #[177]neu[148]:sta [148]v:sty [148]v[170]1
1314 lda #[179]hi:ldy #[177]hi:jmp strout
1400 neu[148] jsr old[148]
1402 lda ga:cmp #8:bcs d[145]eu:rts
1404 d[145]eu jmp maken
2000 ; register x anfahren
2002 regx lda prta:[176]a #4:sta prta:[175] #251:sta prta ; reset
2004 l1 lda prtb:[175] #16:bne err[176] ; q5 darf nicht 1 sein
2006 txa:beq reach ; register erreicht
2008 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb ; clock
2010 dex:bne l1 ; x mal clocken
2012 reach rts
2100 ; platine nicht angeschlossen
2104 err[176] lda #[179]errt:sta errptr:lda #[177]errt:jmp errout
2200 ; register x nach a lesen
2202 [194] jsr regx ; x anfahren
2204 lda #224:sta ddrb ; p[176]t auf eingabe
2206 lda prtb:[175] #127:sta prtb ; [135][171]signal
2208 lda prtb:[175] #15:pha ; p[176]t lesen
2210 lda prtb:[176]a #192:sta prtb ; [135] & write aus
2212 pla:rts
2300 ; cia initialisieren
2302 ciainit lda ddra:[176]a #4:sta ddra ; reset ausgang
2304 lda #224:sta ddrb ; p[176]t auf eingang
2306 sta prtb ; [171]clk, [171]wr, [171]rd aus
2308 rts
2400 ; uhr initialisieren
2402 initrtc jsr ciainit
2404 ; test, ob rtc angeschlossen
2410 lda prta:[176]a #4:sta prta:[175] #251:sta prta ; reset
2412 ldx #16 ; 16 mal clocken
2414 l2 lda prtb:[175] #16
2415 bne err[176] ; q5 darf nicht 1 sein
2416 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb ; clock
2418 dex:bne l2
2420 ldx #16 ; 16 mal clocken
2422 l3 lda prtb:[175] #16:beq err[176] ; q5 muss 1 sein
2424 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb ; clock
2426 dex:bne l3
2428 lda prtb:[175] #16:beq nuden:jmp err[176]; q5 darf nicht 1 sein
2430 ; uhr hochfahren
2432 nuden lda #0:ldx #13:jsr [151] ; register 13 loeschen
2434 lda #1:ldx #14:jsr [151] ; register 14 ruecksetzen
2436 lda #4:ldx #15 ; register 15 uhr anfahren 24 std modus
2500 ; schreibt a in register x
2502 [151] [175] #15:sta tep[170]1:jsr regx ; x anfahren
2504 lda prtb:[176]a #192:sta prtb ; [135] & write aus
2506 lda #239:sta ddrb ; p[176]t auf ausgang
2508 lda prtb:[175] #240
2509 tep [176]a #0:sta prtb ; a auf p[176]t
2510 lda prtb:[175] #191:sta prtb ; write
2512 lda prtb:[176]a #192:sta prtb ; [135] & write aus
2514 lda #224:sta ddrb ; p[176]t auf eingang
2516 rts