123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470 |
- displaymem equ 0x3000
- nomemchecks equ 9
- org 00000h
- l0000h:
- di
- ld sp,0ffa6h
- xor a
- jp l_init
- ld de,0303eh
- call cleartopline
- nop
- nop
- pop hl
- displaymsg:
- ld c,(hl)
- inc hl
- ld b,000h
- jp printroutine
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- jp l0000h
- jp l0000h
- l_init:
- out (0c0h),a
- out (0c4h),a
- out (0c5h),a
- out (0c6h),a
- out (0c7h),a
- out (0d4h),a
- out (0d8h),a
- ld hl,PIOA_start
- jp l0562h
- PIOA_start:
- defb 0b5h
- defb 004h
- defb 0cfh
- defb 0b8h
- defb 037h
- defb 0efh
- ;
- defb 0b4h
- defb 001h
- defb 001h
- ;
- defb 0a1h
- defb 006h
- defb 048h
- defb 048h
- defb 004h
- defb 044h
- defb 005h
- defb 0eah
- ;
- defb 0a3h
- defb 008h
- defb 048h
- defb 048h
- defb 004h
- defb 044h
- defb 001h
- defb 000h
- defb 003h
- defb 0c1h
- ;
- defb 0a5h
- defb 002h
- defb 048h
- defb 048h
- ;
- defb 0a7h
- defb 002h
- defb 048h
- defb 048h
- ;
- defb 0a8h
- defb 002h
- defb 003h
- defb 003h
- ;
- defb 0a9h
- defb 002h
- defb 003h
- defb 003h
- ;
- defb 0aah
- defb 002h
- defb 057h
- defb 04eh
- ;
- defb 000h
- defb 000h
- PIOA_end:
- ld ix,initcontinue
- jp setupclearscreen
- initcontinue:
- ld a,080h
- out (0d4h),a
- ld de,displaymem
- ld hl,TESTING_start
- jp displaymsg
- TESTING_start:
- defb 008h
- defb 054h
- defb 065h
- defb 073h
- defb 074h
- defb 069h
- defb 06eh
- defb 067h
- defb 02eh
- TESTING_end:
- ld a,005h
- out (0a3h),a
- ld a,068h
- out (0a3h),a
- ld a,0f0h
- out (0c8h),a
- ld ix,0c001h
- ld bc,00c5h
- ld d,nomemchecks
- ld a,0a0h
- out (0c5h),a
- ld (ix-001h),b
- dec b
- inc a
- out (0c5h),a
- ld (ix-001h),b
- dec a
- out (0c5h),a
- ld b,(ix-001h)
- inc b
- jr z,skipd011
- ld d,011h
- skipd011:
- ld b,d
- ld hl,memtesteval
- ld de,0000h
- beginmemtest:
- outi
- jr z,memcmp
- exx
- ld b,055h
- ld e,000h
- memtestloop:
- ld hl,0c000h
- ld c,b
- memtestwriteloop:
- ld (hl),c
- rlc c
- inc l
- jr nz,memtestwriteloop
- rlc c
- inc h
- jr nz,memtestwriteloop
- ld h,0c0h
- ld c,b
- memtestreadloop:
- ld a,(hl)
- xor c
- or e
- ld e,a
- rlc c
- inc l
- jr nz,memtestreadloop
- rlc c
- inc h
- jr nz,memtestreadloop
- rlc b
- jr nc,memtestloop
- ld a,e
- exx
- and a
- jr z,memgood
- inc a
- jr z,memerror
- or d
- ld d,a
- jr memgood
- memerror:
- inc e
- memgood:
- ld a,b
- cp 004h
- jr nz,beginmemtest
- ld a,020h
- out (0c0h),a
- jr beginmemtest
- memtesteval:
- and c
- pop bc
- pop hl
- nop
- jr nz,floppystart2
- ld h,b
- add a,b
- and b
- ret nz
- ret po
- ld bc,04121h
- ld h,c
- add a,c
- nop
- memcmp:
- xor a
- or d
- or e
- jr z,floppystart
- ld ix,memcheckdisplay
- jp setupcrt
- memcheckdisplay:
- ld de,displaymem
- ld hl,ERROR2_start
- jp displaymsg
- ERROR2_start:
- defb 017h
- defb 045h
- defb 072h
- defb 072h
- defb 06fh
- defb 072h
- defb 020h
- defb 023h
- defb 032h
- defb 020h
- defb 03ah
- defb 043h
- defb 061h
- defb 06ch
- defb 06ch
- defb 020h
- defb 073h
- defb 065h
- defb 072h
- defb 076h
- defb 069h
- defb 063h
- defb 065h
- defb 02eh
- ERROR2_end:
- halt
- floppystart:
- out (0c5h),a
- out (0c8h),a
- dec hl
- dec hl
- ld a,(hl)
- floppystart2:
- rrca
- and 080h
- ld (0ff80h),a
- ld de,0ffa6h
- ld hl,005beh
- ld bc,0005ah
- ldir
- call setupclearscreen2
- readydiskloop:
- call readydisk
- call sub_061ch
- ld a,0ffh
- jr c,skipinvert
- cpl
- skipinvert:
- ld (0ff93h),a
- ld hl,00404h
- ld (0ff91h),hl
- or a
- jr nz,l01c3h
- ld c,010h
- call sub_065ah
- jr c,l01abh
- ld bc,00000h
- call sub_040eh
- jr c,l01abh
- call sub_03a2h
- ld a,(0ff8bh)
- ld (0ff91h),a
- l01abh:
- ld c,011h
- call sub_065ah
- jr c,l01c3h
- ld bc,0000h
- call sub_040eh
- jr c,l01c3h
- call sub_03a2h
- ld a,(0ff8bh)
- ld (0ff92h),a
- l01c3h:
- ld a,001h
- ld c,008h
- l01c7h:
- or 0a0h
- out (0c0h),a
- ld b,a
- l01cch:
- in a,(0b0h)
- rr a
- jr c,l01cch
- in a,(0b0h)
- add a,a
- jr c,l01ddh
- call delayloop
- call loadingdisk
- l01ddh:
- inc c
- ld a,b
- add a,a
- and 00fh
- jr nz,l01c7h
- ld a,(0ff93h)
- or a
- jr nz,l0204h
- in a,(0ffh)
- and 020h
- jr nz,l0204h
- ld c,010h
- call sub_065ah
- ld b,000h
- call nc,loadingdisk
- ld c,011h
- call sub_065ah
- ld b,000h
- call nc,loadingdisk
- l0204h:
- call setupclearscreen2
- ld bc,002a3h
- ld hl,0061ah
- otir
- ld de,03000h
- ld hl,NOSYSTEM_start
- jp displaymsg
- NOSYSTEM_start:
- defb 019h
- defb 04eh
- defb 06fh
- defb 020h
- defb 053h
- defb 079h
- defb 073h
- defb 074h
- defb 065h
- defb 06dh
- defb 020h
- defb 044h
- defb 065h
- defb 076h
- defb 069h
- defb 063h
- defb 065h
- defb 020h
- defb 04fh
- defb 06eh
- defb 020h
- defb 04ch
- defb 069h
- defb 06eh
- defb 065h
- defb 02eh
- NOSYSTEM_end:
- call delayloop
- call delayloop
- call delayloop
- jp readydiskloop
- l023eh:
- ld ix,returnsetupcrt1
- jp setupcrt
- returnsetupcrt1:
- call screenclearnetry2
- rst 10h
- ERROR0_start:
- defb 017h
- defb 045h
- defb 072h
- defb 072h
- defb 06fh
- defb 072h
- defb 020h
- defb 023h
- defb 030h
- defb 03ah
- defb 020h
- defb 043h
- defb 061h
- defb 06ch
- defb 06ch
- defb 020h
- defb 073h
- defb 065h
- defb 072h
- defb 076h
- defb 069h
- defb 063h
- defb 065h
- defb 02eh
- ERROR0_end:
- halt
- loadingdisk:
- push bc
- xor a
- ld (0ff81h),a
- ld (0ff82h),a
- rst 8
- LOADING_start:
- defb 008h
- defb 04ch
- defb 06fh
- defb 061h
- defb 064h
- defb 069h
- defb 06eh
- defb 067h
- defb 020h
- LOADING_end:
- pop ix
- call sub_04a1h
- jr c,l023eh
- ld bc,0000h
- call sub_040eh
- jr c,l02ddh
- ld hl,(0ff81h)
- ld a,l
- and a
- jr z,l029ch
- ld a,h
- and 003h
- in a,(0ffh)
- jr z,l0298h
- bit 0,a
- jr nz,l029ch
- l0295h:
- jp l034bh
- l0298h:
- bit 1,a
- jr z,l0295h
- l029ch:
- call sub_03a2h
- jp c,l0343h
- jr z,l02b6h
- call sub_040eh
- jr c,l02ddh
- ld hl,0401fh
- bit 0,(hl)
- jp nz,l034fh
- call sub_040eh
- jr c,l02ddh
- l02b6h:
- exx
- ld hl,0400eh
- ld d,(hl)
- inc hl
- ld e,(hl)
- push de
- pop iy
- ld hl,04080h
- ld c,(hl)
- inc hl
- inc hl
- ld d,(hl)
- inc hl
- ld e,(hl)
- inc hl
- ld a,(hl)
- inc hl
- ld l,(hl)
- ld h,a
- ex de,hl
- push hl
- ld a,e
- add a,0ffh
- ld a,d
- exx
- ld e,000h
- adc a,e
- ld d,a
- pop hl
- call sub_0414h
- l02ddh:
- jr c,l0347h
- ld a,(0ff8bh)
- cp 002h
- jr z,l02eeh
- xor a
- ex af,af' ;02e7
- exx ;02e8
- jp 0ffa6h ;02e9
- l02ech:
- ex af,af'
- adc a,c
- l02eeh:
- push ix
- pop bc
- ld a,(0ff8bh)
- ld de,00013h
- ld hl,0ff8dh
- jr nz,l033fh
- cp 002h
- jp nz,0ffb8h
- push bc
- bit 3,c
- jr nz,l030bh
- ld a,0ffh
- ld (0ff81h),a
- l030bh:
- in a,(0ffh)
- ld c,a
- xor a
- bit 0,c
- jr z,l0315h
- ld a,00fh
- l0315h:
- bit 1,c
- jr z,l031bh
- or 0f0h
- l031bh:
- ld b,a
- ld a,(0ff81h)
- cpl
- and a
- jr z,l0334h
- push bc
- push ix
- pop bc
- ld a,c
- sub 007h
- ld b,a
- ld a,080h
- l032dh:
- rlca
- rlca
- djnz l032dh
- pop bc
- and b
- rrca
- l0334h:
- xor b
- pop bc
- ld (0ff81h),a
- ld a,(0ff8bh)
- jp 0ffb8h
- l033fh:
- ld a,033h
- jr l0351h
- l0343h:
- ld a,030h
- jr l0351h
- l0347h:
- ld a,032h
- jr l0351h
- l034bh:
- ld a,039h
- jr l0351h
- l034fh:
- ld a,031h
- l0351h:
- push ix
- push af
- call screenclearnetry2
- push de
- rst 10h
- INVALID_start:
- defb 028h
- defb 045h
- defb 072h
- defb 072h
- defb 06fh
- defb 072h
- defb 020h
- defb 023h
- defb 031h
- defb 030h
- defb 03ah
- defb 020h
- defb 049h
- defb 06eh
- defb 076h
- defb 061h
- defb 06ch
- defb 069h
- defb 064h
- defb 020h
- defb 053h
- defb 079h
- defb 073h
- defb 074h
- defb 065h
- defb 06dh
- defb 020h
- defb 044h
- defb 069h
- defb 073h
- defb 06bh
- defb 020h
- defb 069h
- defb 06eh
- defb 020h
- defb 044h
- defb 072h
- defb 069h
- defb 076h
- defb 065h
- defb 020h
- INVALID_end:
- pop hl
- pop bc
- ld de,0008h
- add hl,de
- add hl,de
- inc hl
- ld a,004h
- out (0c8h),a
- ld (hl),b
- xor a
- out (0c8h),a
- call delayloop
- call delayloop
- call setupclearscreen2
- call readydisk
- exx
- pop bc
- scf
- ret
- sub_03a2h:
- ld a,003h
- ld (0ff8bh),a
- ld hl,0401dh
- ld a,(hl)
- cp 0e5h
- scf
- ret z
- cp 06ch
- scf
- ret z
- add a,001h
- jr nc,l03bdh
- ld hl,0ff8bh
- ld (hl),002h
- ret
- l03bdh:
- inc hl
- ld b,(hl)
- ld a,b
- inc hl
- ld c,(hl)
- add a,001h
- adc a,c
- ld hl,0ff8bh
- ld (hl),002h
- jr z,l03d4h
- ld (hl),001h
- ld a,b
- or c
- scf
- ret z
- or a
- ret
- l03d4h:
- ld bc,0001h
- or a
- ret
- readydisk:
- ld de,displaymem
- rst 10h
- READY_start:
- defb 01dh
- defb 052h
- defb 033h
- defb 02dh
- defb 030h
- defb 030h
- defb 043h
- defb 020h
- defb 052h
- defb 065h
- defb 061h
- defb 064h
- defb 079h
- defb 020h
- defb 046h
- defb 06fh
- defb 072h
- defb 020h
- defb 053h
- defb 079h
- defb 073h
- defb 074h
- defb 065h
- defb 06dh
- defb 020h
- defb 044h
- defb 069h
- defb 073h
- defb 06bh
- defb 020h
- READY_end:
- call delayloop
- ret
- ld b,00ah
- ld hl,0000h
- l0404h:
- inc hl
- ld a,l
- or h
- jr nz,l0404h
- djnz l0404h
- jp memcmp
- sub_040eh:
- ld de,00100h
- ld hl,04000h
- sub_0414h:
- push bc
- push ix
- pop bc
- ld a,c
- pop bc
- cp 010h
- jp nc,l06c1h
- l041fh:
- ld a,005h
- l0421h:
- ex af,af' ;0421
- push bc ;0422
- ex (sp),hl ;0423
- ld a,l ;0424
- and 00fh ;0425
- push bc ;0427
- push af ;0428
- ld a,(0ff81h) ;0429
- and a ;042c
- ld b,000h ;042d
- jr z,l0433h ;042f
- ld b,010h ;0431
- l0433h:
- pop af ;0433
- add a,b ;0434
- inc a ;0435
- out (0b2h),a ;0436 Floppy sector register
- add hl,hl ;0438
- add hl,hl ;0439
- add hl,hl ;043a
- add hl,hl ;043b
- cp 011h ;043c
- ld a,h ;043e
- out (0b3h),a ;043f Floppy data register
- jr c,l0453h ;0441
- rra ;0443
- out (0b3h),a ;0444 Floppy data register
- push ix ;0446
- pop bc ;0448
- ld a,b ;0449
- jr nc,l044eh ;044a
- or 010h ;044c
- l044eh:
- ld (0ff82h),a ;044e
- out (0c0h),a ;0451 Floppy external control
- l0453h:
- pop bc ;0453
- pop hl ;0454
- ld a,01dh ;0455
- call setfloppystatus ;0457
- and 098h ;045a
- jr nz,l0486h ;045c
- call sub_04c1h ;045e
- l0461h:
- ld a,(0ff82h) ;0461
- bit 4,a ;0464
- ld a,082h ;0466
- jr z,l046ch ;0468
- ld a,08ah ;046a
- l046ch:
- call setfloppystatus ;046c
- and 09ch ;046f
- jr nz,l0486h ;0471
- inc h ;0473
- inc bc ;0474
- dec d ;0475
- ret z ;0476
- ld a,c ;0477
- and 00fh ;0478
- jr z,l041fh ;047a
- in a,(0b2h) ;047c Floppy sector register
- inc a ;047e
- out (0b2h),a ;047f Floppy sector register
- ld a,005h ;0481
- l0483h:
- ex af,af'
- jr l0461h
- l0486h:
- scf
- bit 7,a
- ret nz
- ex af,af' ;048a
- dec a ;048b
- jr nz,l0421h ;048c
- ex af,af'
- bit 4,a
- jr z,l049fh
- ld a,(0ff81h)
- and a
- jr nz,l049fh
- cpl
- ld (0ff81h),a
- jr l041fh
- l049fh:
- scf
- ret
- sub_04a1h:
- push bc
- push ix
- pop bc
- ld a,c
- pop bc
- cp 010h
- jp nc,l0788h
- ld a,001h
- call setfloppystatus
- and 004h
- ret nz
- scf
- ret
- setfloppystatus:
- out (0b0h),a
- l04b8h:
- in a,(0b4h)
- bit 4,a
- jr z,l04b8h
- in a,(0b0h)
- ret
- sub_04c1h:
- push bc
- ld bc,0b301h
- jr l04cbh
- sub_04c7h:
- push bc
- ld bc,07803h
- l04cbh:
- ld a,b
- ld (0ff8ch),a
- ld a,c
- out (0b4h),a
- ld bc,006ach
- ld a,0c3h
- l04d7h:
- out (c),a
- djnz l04d7h
- ld a,07dh
- out (c),a
- out (c),l
- out (c),h
- out (c),e
- out (c),d
- push hl
- ld hl,004fbh
- ld b,003h
- otir
- ld a,(0ff8ch)
- out (c),a
- ld b,005h
- otir
- pop hl
- pop bc
- ret
- inc d
- jr z,l0483h
- adc a,d
- rst 8
- ld bc,087cfh
- setupclearscreen2:
- pop ix
- setupclearscreen:
- xor a
- ld bc,00eb9h
- ld hl,0054fh
- setupclearloop :
- out (0b8h),a
- inc a
- outi
- jr nz,setupclearloop
- ld de,03002h
- ld hl,displaymem
- ld bc,00ffeh
- l051ch:
- ld a,004h
- out (0c8h),a
- xor a
- ld (hl),a
- inc hl
- ld (hl),020h
- dec hl
- ldir
- xor a
- out (0c8h),a
- jp (ix)
- cleartopline:
- push de
- ld l,e
- ld h,d
- inc de
- inc de
- ld bc,0004eh
- push ix
- ld ix,clearlineend
- jr l051ch
-
- clearlineend:
- pop ix
- pop de
- ret
- printroutine:
- ld a,004h
- out (0c8h),a
- printcharloop:
- inc de
- ldi
- jp pe,printcharloop
- xor a
- out (0c8h),a
- jp (hl)
- defb 069h
- defb 050h
- defb 056h
- defb 00bh
- defb 019h
- defb 003h
- defb 018h
- defb 018h
- defb 000h
- defb 00bh
- defb 020h
- defb 000h
- defb 000h
- defb 000h
- DB_end:
- pop hl
- jr l0562h
- screenclearloop:
- otir
- l0562h:
- ld c,(hl)
- inc hl
- ld b,(hl)
- inc hl
- ld a,b
- and a
- jr nz,screenclearloop
- jp (hl)
- screenclearnetry2:
- ld de,03100h
- ld a,00fh
- out (0b8h),a
- xor a
- out (0b9h),a
- in a,(0bbh)
- or a
- ret nz
- ld de,030a0h
- ret
- delayloop:
- ld hl,04600h
- l0580h:
- dec hl
- ex (sp),hl
- ex (sp),hl
- ex (sp),hl
- ex (sp),hl
- ld a,l
- or h
- jr nz,l0580h
- ret
- pop ix
- setupcrt:
- ld a,00fh
- out (0b8h),a
- xor a
- out (0b9h),a
- in a,(0bbh)
- and a
- jr nz,l059ch
- ld a,081h
- out (0d4h),a
- l059ch:
- ld bc,006cch
- ld hl,005b8h
- otir
- ld bc,0000h
- l05a7h:
- ex (sp),hl
- ex (sp),hl
- dec bc
- ld a,b
- or c
- jr nz,l05a7h
- ld a,080h
- out (0d4h),a
- ld a,09fh
- out (0cch),a
- jp (ix)
- l05b8h:
- adc a,(hl)
- inc b
- sub d
- cp a
- rst 18h
- rst 38h
- l05beh:
- ld a,001h
- out (0c8h),a
- l05c2h:
- ex af,af' ;05c2
- adc a,(hl) ;05c3
- ex af,af'
- inc hl
- dec de
- ld a,e
- or d
- jr nz,l05c2h
- out (0c8h),a
- jp l02ech
- cp 002h
- ld a,001h
- out (0c8h),a
- jr nz,l05f5h
- ld a,(0ff81h)
- ld (0022h),a
- ld a,c
- sub 010h
- jr c,l05f5h
- ld c,a
- jr z,l05eeh
- ld a,(0ff8fh)
- cp 095h
- jr nz,l05eeh
- inc c
- l05eeh:
- ld a,004h
- add a,c
- ld c,a
- push bc
- pop ix
- l05f5h:
- ld a,(0ff80h)
- or c
- ld c,a
- ld a,(0ff91h)
- ld (de),a
- inc de
- push bc
- ld bc,00004h
- ldir
- ld de,00023h
- ld hl,0ff8dh
- ld a,(0ff92h)
- ld (de),a
- inc de
- ld bc,00004h
- ldir
- pop bc
- jp (iy)
- dec b
- add a,b
- dec b
- nop
- sub_061ch:
- ld bc,002a3h
- ld hl,00618h
- otir
- ld b,0ffh
- l0626h:
- in a,(079h)
- cp 0c7h
- jr z,l0630h
- djnz l0626h
- scf
- ret
- l0630h:
- call reading
- ret c
- in a,(0ffh)
- rra
- rra
- and 007h
- ld hl,007e2h
- jr z,l064fh
- ld hl,007d6h
- dec a
- jr z,l0648h
- ld hl,007cah
- l0648h:
- call sub_076bh
- call reading
- ret c
- l064fh:
- ld de,0ff8dh
- ld bc,00004h
- ldir
- jp l077fh
- sub_065ah:
- push bc
- pop ix
- ld a,010h
- sub c
- jr z,l0664h
- ld a,020h
- l0664h:
- ld hl,0ff83h
- ld b,004h
- ld (hl),008h
- inc hl
- ld (hl),a
- l066dh:
- inc hl
- ld (hl),000h
- djnz l066dh
- call reading
- ret c
- call moveoutreseta
- call reading2
- and 002h
- ret z
- scf
- ret
- l0681h:
- push bc
- call screenclearnetry2
- rst 10h
- ERROR1_start:
- defb 028h
- defb 045h
- defb 072h
- defb 072h
- defb 06fh
- defb 072h
- defb 020h
- defb 031h
- defb 03ah
- defb 020h
- defb 044h
- defb 069h
- defb 073h
- defb 06bh
- defb 020h
- defb 073h
- defb 079h
- defb 073h
- defb 074h
- defb 065h
- defb 06dh
- defb 020h
- defb 065h
- defb 072h
- defb 072h
- defb 06fh
- defb 072h
- defb 02ch
- defb 020h
- defb 043h
- defb 061h
- defb 06ch
- defb 06ch
- defb 020h
- defb 053h
- defb 065h
- defb 072h
- defb 076h
- l06ach:
- defb 069h
- defb 063h
- defb 065h
- ERROR1_end:
- call delayloop
- call delayloop
- call delayloop
- call setupclearscreen2
- call readydisk
- pop bc
- scf
- ret
- l06c1h:
- call sub_04c7h
- ld a,b
- ld (0ff85h),a
- ld a,c
- ld (0ff86h),a
- l06cch:
- ld a,d
- ld (0ff87h),a
- push bc
- push hl
- call reading
- jp c,l06fbh
- ld hl,0ff83h
- ld bc,00678h
- l06deh:
- in a,(079h)
- and 041h
- jr nz,l06deh
- outi
- jr nz,l06deh
- out (07ah),a
- nop
- l06ebh:
- in a,(079h)
- and 044h
- jr nz,l06ebh
- out (07bh),a
- call reading2
- and 002h
- call nz,sub_06ffh
- l06fbh:
- pop hl
- pop bc
- inc bc
- ret
- sub_06ffh:
- call reading
- ret c
- ld a,003h
- call moveout
- ld bc,00478h
- ld hl,0ff89h
- l070eh:
- in a,(079h)
- cp 00fh
- jr nz,l070eh
- ini
- jr nz,l070eh
- call reading2
- ld a,(0ff89h)
- sub 098h
- ret z
- scf
- ret
- reading:
- in a,(079h)
- and 080h
- scf
- ret z
- ld a,001h
- out (079h),a
- ld b,0ffh
- l072fh:
- in a,(079h)
- and 080h
- ret z
- djnz l072fh
- scf
- ret
- reading2:
- in a,(079h)
- and 044h
- jr nz,reading2
- in a,(078h)
- ld b,a
- l0741h:
- in a,(079h)
- and 042h
- jr nz,l0741h
- in a,(078h)
- ld a,b
- ret
- moveoutreseta:
- ld a,000h
- moveout:
- call sub_0760h
- ld a,(0ff84h)
- call sub_0760h
- ld a,000h
- ld b,004h
- l075ah:
- call sub_0760h
- djnz l075ah
- ret
- sub_0760h:
- push af
- l0761h:
- in a,(079h)
- and 041h
- jr nz,l0761h
- pop af
- out (078h),a
- ret
- sub_076bh:
- ld a,00ch
- call moveout
- ld bc,00878h
- l0773h:
- in a,(079h)
- cp 007h
- jr nz,l0773h
- outi
- jr nz,l0773h
- jr reading2
- l077fh:
- ld a,0e4h
- call steproutine
- ret z
- jp l0681h
- l0788h:
- call reading
- ret c
- ld a,001h
- call steproutine
- ret z
- jr l079dh
- steproutine:
- call moveout
- call reading2
- and 002h
- ret
- l079dh:
- call screenclearnetry2
- rst 10h
- ERROR3_start:
- defb 027h
- defb 045h
- defb 072h
- defb 072h
- defb 06fh
- defb 072h
- defb 020h
- defb 033h
- defb 03ah
- defb 020h
- defb 044h
- defb 069h
- defb 073h
- defb 06bh
- defb 020h
- defb 04dh
- defb 061h
- defb 06ch
- defb 066h
- defb 075h
- defb 06eh
- defb 063h
- defb 074h
- defb 069h
- defb 06fh
- defb 06eh
- defb 02ch
- defb 020h
- defb 043h
- defb 061h
- defb 06ch
- defb 06ch
- defb 020h
- defb 053h
- defb 065h
- defb 072h
- defb 076h
- defb 069h
- defb 063h
- defb 065h
- ERROR3_end:
- halt
- l07cah:
- ld bc,00432h
- ld bc,00031h
- ld b,b
- dec bc
- ld b,000h
- sub l
- rst 38h
- l07d6h:
- ld bc,00232h
- ld bc,00031h
- ld b,b
- dec bc
- ld b,000h
- ld c,d
- rst 38h
- l07e2h:
- nop
- nop
- ld c,d
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
- rst 38h
|