home *** CD-ROM | disk | FTP | other *** search
- 0 goto 100
- 1 list 1000-2100
- 2 list 1920-2100
- 3 list 2300-2999
- 100 poke 53280,0:poke 53281,0:poke 56325,35:poke 646,4:poke 650,128
- 110 open 1,8,1,"seq-transver .obj"
- 120 sys 9*4096
- 130 ;
- 140 .opt o1
- 150 ;
- 160 *= $cd00
- 170 ;
- 180 ;
- 190 ;
- 199 ;
- 200 ;----------------------------------
- 201 ;
- 210 setlfs = $ffba ;"log[164][198]ilenr.,[199]eraetnr.,[211]kundadr. setzen
- 220 setnam [178] $ffbd ;"ascilename setzen
- 230 open = $ffc0 ;"[198]ile oeffnen
- 240 [135]st [178] $ffb7 ;"(NULL)tatusvariable lesen
- 290 close = $ffc3 ;"[198]ile schliessen
- 295 chkin [178] $ffc6 ;"ascile auf valingabe setzen
- 300 chkout = $ffc9 ;"[198]ile auf [193]usgabe setzen
- 310 chrout [178] $ffd2 ;"(NULL)eichen ausgeben
- 315 chrin = $ffcf ;"[218]eichen holen
- 320 [156]chn [178] $ffcc ;"(NULL)tandardwerte fuer right$/(NULL) setzen
- 330 ;
- 370 chckom = $aefd ;"[193]uf [203]omma testen
- 380 frmevl [178] $ad9e ;"atnusdruck auswerten
- 390 frestr = $b6a6 ;"weitere [193]uswertungen fuer [211]trings
- 400 [161]byt [178] $b79e ;"peekyte holen
- 410 ;
- 500 pt = $22 ;"[218]eiger auf [212]extende
- 510 hpt [178] $14 ;"zu sendendes peekyte
- 520 mconv = $02 ;"[198]lag fuer [193][211][195][201][201]-[203]onvertierung
- 530 synerr [178] $af08 ;"?(NULL)(NULL)(NULL)(NULL)atn(NULL) val(NULL)(NULL)(NULL)(NULL) ausgeben
- 600 buf = $ce00 ;"[194]uffer fuer [210][211] 232
- 610 ribuf [178] $f7 ;"(NULL)eiger auf valingabebuffer
- 620 robuf = $f9 ;"[218]eiger auf [193]usgabebuffer
- 700 start [178] $0801 ;"(NULL)adeadresse fuer (NULL)val(NULL)-ascile
- 710 enable = $02a1 ;"[210][211] 232 [198]lag: [193]lle [218]eichen gesendet?
- 1000 ;
- 1001 ;"--------------------------------
- 1002 ;"- [211][197][209]-[212]ransfer -- version 1.0 --
- 1003 ;"- (NULL)val(NULL)-asciles mit 4800 peekaud ------
- 1004 ;"- ueber [210][211] 232 senden ----------
- 1005 ;"- geschrieben von --------------
- 1006 ;"-- [205]artin [205]ueller --------------
- 1007 ;"- (c) by atnrnd (NULL)aengler, 64'er --
- 1008 ;"--------------------------------
- 1009 ;
- 1010 baudin jsr chckom ;"atnuf (NULL)omma testen
- 1012 ^ jsr getbyt ;"[203]onvertierungsflag nach
- 1014 [174] stx mc[145]v ;"mconv holen
- 1016 ^ jsr chckom ;"[193]uf [203]omma testen
- 1020 [174] jsr frmevl ;"atnusdruck auswerten
- 1030 ^ jsr frestr ;"[211]tringauswertungen
- 1040 [174] cmp #5 ;"(NULL)aenge des (NULL)trings < 5close?
- 1050 ^ bcs baudw1 ;"[206]ein: => weiter
- 1060 [174] jmp synerr ;"(NULL)onst: (NULL)(NULL)(NULL)(NULL)atn(NULL) val(NULL)(NULL)(NULL)(NULL)closemelden
- 1070 baudw1 ldx pt ;"[211]tringadresse als
- 1080 [174] ldy pt [170] 1 ;"atndresse des ascilenamen
- 1090 ^ jsr setnam ;"dem [207][211] uebergeben
- 1100 [174] lda #1 ;"logische ascilenummer: 1
- 1110 ^ ldx #8 ;"[199]eraetenummer: 8
- 1120 [174] ldy #2 ;"(NULL)ekundaeradresse: 2
- 1130 ^ jsr setlfs ;"setzen
- 1140 [174] jsr [159] ;"str$atei eroeffnen
- 1150 ^ jsr readst ;"[198]ehlermeldung holen
- 1155 [174] beq baud21 ;"(NULL)ein ascehler: => weiter
- 1160 baudw2 jsr clrchn ;"[211]tandartwere fuer [201]/[207] setzen
- 1165 [174] lda #1 ;"ascile schliessen
- 1170 ^ jmp close ;"[218]urueck
- 1180 ;
- 1190 baud21 ldx #1 ;"ascile als valingabefile
- 1200 ^ jsr chkin ;"definieren
- 1210 [174] jsr [135]st ;"ascehler aufgetreten?
- 1220 ^ bne baudw2 ;"[202][193]: => [218]urueck nach [194][193][211][201][195]
- 1230 [174] ldx #[179]start ;"atndresse, ab der die
- 1240 ^ ldy #>start ;"[196]aten des [211][197][209]-[198]ile abgelegt
- 1250 [174] stx pt ;"werden, als (NULL)eiger merken
- 1260 ^ sty pt + 1 ;"(= [194]asicanfang)
- 1270 ;
- 1280 baudl1 jsr chrin ;"(NULL)eichen vom ascile holen
- 1290 ^ ldy #0 ;"und in den [211]peicher
- 1300 [174] sta (pt),y ;"schreiben
- 1310 ^ inc pt ;"[218]eiger um
- 1320 [174] bne baudw3 ;"eins erhoehen
- 1330 ^ inc pt + 1
- 1340 ;
- 1350 baudw3 jsr readst ;"[198]ehler aufgetreten?
- 1360 [174] beq baudl1 ;"(NULL)valright$(NULL): => weiter
- 1370 ^ and #%01000000 ;"[198]ile zu ende?
- 1390 [174] beq baudw2 ;"(NULL)valright$(NULL): => (NULL)urueck nach peekatn(NULL)right$len
- 1420 ;
- 1430 baudw4 jsr baudw2 ;"[196]atei schliessen
- 1460 ;"(NULL)(NULL) 232 (NULL)chnittstelle oeffnen
- 1470 ;"4800 [194]aud, 8 [196]atenbits, 1 [211]topbit
- 1480 ;"(NULL)arity disabled, 3-(NULL)ine left$andshake,
- 1485 ;"[198]ull [196]uplex
- 1490 [174] lda #1 ;"(NULL)ogische ascilenummer: 1
- 1500 ^ ldx #2 ;"[199]eraetenummer: 2
- 1510 [174] ldy #3 ;"(NULL)ekundaeradresse: 3
- 1520 ^ jsr setlfs ;"setzen
- 1530 [174] lda #4 ;"(NULL)erte fuer
- 1540 ^ ldx #<rsnam ;"[210][211] 232
- 1550 [174] ldy #[177]rsnam ;"setzen
- 1560 ^ jsr setnam
- 1570 ^ jsr open ;"[198]ile oeffnen
- 1580 [174] ldx #3 ;"(NULL)eiger fuer (NULL)(NULL) 232 peekuffer
- 1590 baudl9 lda rstab,x ;"setzen
- 1600 [174] sta ribuf,x
- 1610 [174] dex
- 1620 [174] bpl baudl9
- 1650 ;
- 1660 [174] ldx #1 ;"ascile als atnusgabefile
- 1670 ^ jsr chkout ;"deklarieren
- 1680 [174] ldx #[179]start ;"(NULL)tartadresse fuer
- 1690 ^ ldy #>start ;"das [211][197][209]-[198]ile als [218]eiger
- 1700 [174] stx hpt ;"merken
- 1710 ^ sty hpt + 1
- 1712 ^ lda 56334 ;"[212]imerirq sperren
- 1714 [174] [175] #254
- 1716 [174] sta 56334
- 1720 ;
- 1730 baudl2 ldy #0 ;"atnktuelles (NULL)eichen
- 1740 ^ lda (hpt),y ;"holen
- 1750 [174] bit mc[145]v ;"(NULL)eichen konvertieren?
- 1760 ^ bmi baud51 ;"[206][197][201][206]: => weiter
- 1770 [174] cmp #65 ;"(NULL)onst: lenommodore'atn(NULL)lenright$right$'
- 1780 ^ bcc baudw5 ;"nach [193][211][195][201][201]
- 1790 [174] cmp #128
- 1800 [174] bcs baud41
- 1810 [174] [176]a #%00100000
- 1820 [174] bne baudw5
- 1830 baud41 cmp #192
- 1840 [174] bcc baudw5
- 1850 [174] sec
- 1860 [174] sbc #128
- 1870 baudw5 [175] #%01111111
- 1880 baud51 tax ;"(NULL)eichen merken
- 1890 baudl3 lda enable ;"[201]st das vorherige [218]eichen
- 1900 [174] [175] #%00000001 ;"schon gesendet worden
- 1910 ^ bne baudl3 ;"[206][197][201][206]: => [215]eiter
- 1915 [174] txa ;"(NULL)eichen zurueckholen
- 1917 ^ jsr chrout ;"und ueber [210][211] 232 ausgeben
- 1920 ;
- 1930 [174] inc hpt ;"(NULL)eiger auf aktuelles
- 1940 ^ bne baudw6 ;"[218]eichen um eins
- 1950 [174] inc hpt [170] 1 ;"incrementieren
- 1960 baudw6 lda pt ;"[201]st bereits das
- 1970 [174] cmp hpt ;"letzte (NULL)eichen
- 1980 ^ bne baudl2 ;"uebertragen worden
- 1990 [174] lda pt [170] 1 ;"(NULL)valright$(NULL): => (NULL)eiter uebertragen
- 2000 ^ cmp hpt + 1
- 2010 ^ bne baudl2
- 2020 ;
- 2022 baudl4 lda enable ;"[211]onst warten, bis das [218]eichen
- 2024 [174] [175] #%00000001 ;"schon geschickt worden ist!
- 2026 ^ bne baudl4
- 2040 ^ jsr baudw2 ;"[198]ile schliessen
- 2060 ;
- 2070 [174] lda 56334 ;"(NULL)imerirqs wieder
- 2080 ^ ora #1 ;"erlauben
- 2090 [174] sta 56334
- 2100 [174] rts ;"(NULL)rogrammende
- 2300 rsnam .byte %00000000 ;"1 [211]topbit,8 [196]atenbits,4800 [194]aud
- 2310 [174] .byte %00000000 ;"(NULL)arity disabled,ascull str$uplex,
- 2315 ;"3-[204]ine [200]andshake
- 2320 [174] .byte 2 ;"(NULL)erte fuer 4800 peekaud
- 2330 ^ .byte 0
- 2340 ;
- 2350 rstab .byte <buf ;"[212]abellen fuer [193]dressen
- 2360 [174] .byte [177]buf ;"der (NULL)(NULL) 232 peekuffer
- 2370 ^ .byte <(buf + 256)
- 2380 ^ .byte >(buf + 256)
- 60000 .end
- 60010 end
- 60100 open 15,8,15,"s:seq-transver"
- 60110 close 15
- 60120 save "seq-transver",8
-