# File vio_v20mod.asm 0000 ; z80dasm 1.1.0 0000 ; command line: z80dasm -a -g 0xa000 -o vio_v20.asm -l -t VIOv20.bin 0000 0000 org 0a000h a000 a000 a5 and l ;a000 a5 . a001 c3 1c a0 jp la01ch ;a001 c3 1c a0 . . . a004 sub_a004h: a004 c3 9e a1 jp la19eh ;a004 c3 9e a1 . . . a007 c3 c0 a1 jp la1c0h ;a007 c3 c0 a1 . . . a00a sub_a00ah: a00a c3 fc a1 jp la1fch ;a00a c3 fc a1 . . . a00d sub_a00dh: a00d c3 4f a2 jp la24fh ;a00d c3 4f a2 . O . a010 c3 33 a4 jp la433h ;a010 c3 33 a4 . 3 . a013 c3 41 a4 jp la441h ;a013 c3 41 a4 . A . a016 c3 d7 a1 jp la1d7h ;a016 c3 d7 a1 . . . a019 sub_a019h: a019 c3 c6 a1 jp la1c6h ;a019 c3 c6 a1 . . . a01c la01ch: a01c f1 pop af ;a01c f1 . a01d f5 push af ;a01d f5 . a01e fe 62 cp 062h ;a01e fe 62 . b a020 c2 32 a0 jp nz,la032h ;a020 c2 32 a0 . 2 . a023 3a cc ff ld a,(0ffcch) ;a023 3a cc ff : . . a026 fe 30 cp 030h ;a026 fe 30 . 0 a028 20 08 jr nz,la032h ;a028 20 08 . a02a e5 push hl ;a02a e5 . a02b 21 14 ff ld hl,0ff14h ;a02b 21 14 ff ! . . a02e 22 82 ff ld (0ff82h),hl ;a02e 22 82 ff " . . a031 e1 pop hl ;a031 e1 . a032 la032h: a032 e5 push hl ;a032 e5 . a033 21 01 46 ld hl,04601h ;a033 21 01 46 ! . F a036 7e ld a,(hl) ;a036 7e ~ a037 fe a5 cp 0a5h ;a037 fe a5 . . a039 c4 04 a0 call nz,sub_a004h ;a039 c4 04 a0 . . . a03c 21 00 46 ld hl,04600h ;a03c 21 00 46 ! . F a03f la03fh: a03f db f0 in a,(0f0h) ;a03f db f0 . . a041 07 rlca ;a041 07 . a042 30 fb jr nc,la03fh ;a042 30 fb 0 . a044 7e ld a,(hl) ;a044 7e ~ a045 fe a5 cp 0a5h ;a045 fe a5 . . a047 ca 4c a0 jp z,la04ch ;a047 ca 4c a0 . L . a04a e1 pop hl ;a04a e1 . a04b c9 ret ;a04b c9 . a04c la04ch: a04c e1 pop hl ;a04c e1 . a04d c5 push bc ;a04d c5 . a04e d5 push de ;a04e d5 . a04f e5 push hl ;a04f e5 . a050 dd e5 push ix ;a050 dd e5 . . a052 fd e5 push iy ;a052 fd e5 . . a054 cd 8a a0 call sub_a08ah ;a054 cd 8a a0 . . . a057 21 81 ff ld hl,0ff81h ;a057 21 81 ff ! . . a05a 36 13 ld (hl),013h ;a05a 36 13 6 . a05c cd 11 a1 call sub_a111h ;a05c cd 11 a1 . . . a05f cd b3 a0 call sub_a0b3h ;a05f cd b3 a0 . . . a062 cd d2 a0 call sub_a0d2h ;a062 cd d2 a0 . . . a065 fd e1 pop iy ;a065 fd e1 . . a067 dd e1 pop ix ;a067 dd e1 . . a069 e1 pop hl ;a069 e1 . a06a d1 pop de ;a06a d1 . a06b c1 pop bc ;a06b c1 . a06c c9 ret ;a06c c9 . a06d fd e5 push iy ;a06d fd e5 . . a06f c5 push bc ;a06f c5 . a070 e5 push hl ;a070 e5 . a071 21 04 ff ld hl,0ff04h ;a071 21 04 ff ! . . a074 la074h: a074 7e ld a,(hl) ;a074 7e ~ a075 fe 0d cp 00dh ;a075 fe 0d . . a077 28 03 jr z,la07ch ;a077 28 03 ( . a079 23 inc hl ;a079 23 # a07a 18 f8 jr la074h ;a07a 18 f8 . . a07c la07ch: a07c 36 00 ld (hl),000h ;a07c 36 00 6 . a07e fd 21 04 ff ld iy,0ff04h ;a07e fd 21 04 ff . ! . . a082 c3 41 a4 jp la441h ;a082 c3 41 a4 . A . a085 e1 pop hl ;a085 e1 . a086 c1 pop bc ;a086 c1 . a087 fd e1 pop iy ;a087 fd e1 . . a089 c9 ret ;a089 c9 . a08a sub_a08ah: a08a ed 4b 82 ff ld bc,(0ff82h) ;a08a ed 4b 82 ff . K . . a08e 21 0a 46 ld hl,0460ah ;a08e 21 0a 46 ! . F a091 cd 4d a4 call sub_a44dh ;a091 cd 4d a4 . M . a094 78 ld a,b ;a094 78 x a095 bc cp h ;a095 bc . a096 28 1a jr z,la0b2h ;a096 28 1a ( . a098 fe ff cp 0ffh ;a098 fe ff . . a09a 28 08 jr z,la0a4h ;a09a 28 08 ( . a09c 11 4b fe ld de,0fe4bh ;a09c 11 4b fe . K . a09f 01 72 fe ld bc,0fe72h ;a09f 01 72 fe . r . a0a2 18 06 jr la0aah ;a0a2 18 06 . . a0a4 la0a4h: a0a4 11 04 ff ld de,0ff04h ;a0a4 11 04 ff . . . a0a7 01 2b ff ld bc,0ff2bh ;a0a7 01 2b ff . + . a0aa la0aah: a0aa ed 53 0a 46 ld (0460ah),de ;a0aa ed 53 0a 46 . S . F a0ae ed 43 0c 46 ld (0460ch),bc ;a0ae ed 43 0c 46 . C . F a0b2 la0b2h: a0b2 c9 ret ;a0b2 c9 . a0b3 sub_a0b3h: a0b3 ed 5b 82 ff ld de,(0ff82h) ;a0b3 ed 5b 82 ff . [ . . a0b7 21 0c 46 ld hl,0460ch ;a0b7 21 0c 46 ! . F a0ba cd 4d a4 call sub_a44dh ;a0ba cd 4d a4 . M . a0bd af xor a ;a0bd af . a0be ed 52 sbc hl,de ;a0be ed 52 . R a0c0 2d dec l ;a0c0 2d - a0c1 bd cp l ;a0c1 bd . a0c2 c8 ret z ;a0c2 c8 . a0c3 45 ld b,l ;a0c3 45 E a0c4 13 inc de ;a0c4 13 . a0c5 la0c5h: a0c5 1a ld a,(de) ;a0c5 1a . a0c6 fe 0d cp 00dh ;a0c6 fe 0d . . a0c8 28 04 jr z,la0ceh ;a0c8 28 04 ( . a0ca 13 inc de ;a0ca 13 . a0cb 10 f8 djnz la0c5h ;a0cb 10 f8 . . a0cd c9 ret ;a0cd c9 . a0ce la0ceh: a0ce eb ex de,hl ;a0ce eb . a0cf 36 00 ld (hl),000h ;a0cf 36 00 6 . a0d1 c9 ret ;a0d1 c9 . a0d2 sub_a0d2h: a0d2 0e 04 ld c,004h ;a0d2 0e 04 . . a0d4 cd 0a a0 call sub_a00ah ;a0d4 cd 0a a0 . . . a0d7 21 0a 46 ld hl,0460ah ;a0d7 21 0a 46 ! . F a0da cd 4d a4 call sub_a44dh ;a0da cd 4d a4 . M . a0dd ed 5b 82 ff ld de,(0ff82h) ;a0dd ed 5b 82 ff . [ . . a0e1 la0e1h: a0e1 cd fd a0 call sub_a0fdh ;a0e1 cd fd a0 . . . a0e4 28 10 jr z,la0f6h ;a0e4 28 10 ( . a0e6 7e ld a,(hl) ;a0e6 7e ~ a0e7 fe 0d cp 00dh ;a0e7 fe 0d . . a0e9 28 1b jr z,la106h ;a0e9 28 1b ( . a0eb 4f ld c,a ;a0eb 4f O a0ec d5 push de ;a0ec d5 . a0ed e5 push hl ;a0ed e5 . a0ee cd 10 a2 call sub_a210h ;a0ee cd 10 a2 . . . a0f1 e1 pop hl ;a0f1 e1 . a0f2 d1 pop de ;a0f2 d1 . a0f3 23 inc hl ;a0f3 23 # a0f4 18 eb jr la0e1h ;a0f4 18 eb . . a0f6 la0f6h: a0f6 7e ld a,(hl) ;a0f6 7e ~ a0f7 fe 0d cp 00dh ;a0f7 fe 0d . . a0f9 cc 06 a1 call z,la106h ;a0f9 cc 06 a1 . . . a0fc c9 ret ;a0fc c9 . a0fd sub_a0fdh: a0fd e5 push hl ;a0fd e5 . a0fe d5 push de ;a0fe d5 . a0ff a7 and a ;a0ff a7 . a100 eb ex de,hl ;a100 eb . a101 ed 52 sbc hl,de ;a101 ed 52 . R a103 d1 pop de ;a103 d1 . a104 e1 pop hl ;a104 e1 . a105 c9 ret ;a105 c9 . a106 la106h: a106 0e 0d ld c,00dh ;a106 0e 0d . . a108 cd 0a a0 call sub_a00ah ;a108 cd 0a a0 . . . a10b 0e 0a ld c,00ah ;a10b 0e 0a . . a10d cd 0a a0 call sub_a00ah ;a10d cd 0a a0 . . . a110 c9 ret ;a110 c9 . a111 sub_a111h: a111 21 0a 46 ld hl,0460ah ;a111 21 0a 46 ! . F a114 cd 4d a4 call sub_a44dh ;a114 cd 4d a4 . M . a117 01 15 00 ld bc,00015h ;a117 01 15 00 . . . a11a 3e 2a ld a,02ah ;a11a 3e 2a > * a11c ed b1 cpir ;a11c ed b1 . . a11e 28 01 jr z,la121h ;a11e 28 01 ( . a120 la120h: a120 c9 ret ;a120 c9 . a121 la121h: a121 2b dec hl ;a121 2b + a122 01 5d 0c ld bc,00c5dh ;a122 01 5d 0c . ] . a125 la125h: a125 0a ld a,(bc) ;a125 0a . a126 fe 0d cp 00dh ;a126 fe 0d . . a128 28 40 jr z,la16ah ;a128 28 40 ( @ a12a be cp (hl) ;a12a be . a12b 20 f3 jr nz,la120h ;a12b 20 f3 . a12d 03 inc bc ;a12d 03 . a12e 23 inc hl ;a12e 23 # a12f 18 f4 jr la125h ;a12f 18 f4 . . a131 43 ld b,e ;a131 43 C a132 4f ld c,a ;a132 4f O a133 50 ld d,b ;a133 50 P a134 59 ld e,c ;a134 59 Y a135 52 ld d,d ;a135 52 R a136 49 ld c,c ;a136 49 I a137 47 ld b,a ;a137 47 G a138 48 ld c,b ;a138 48 H a139 54 ld d,h ;a139 54 T a13a 53 ld d,e ;a13a 53 S a13b 20 42 jr nz,$+68 ;a13b 20 42 B a13d 59 ld e,c ;a13d 59 Y a13e 20 42 jr nz,$+68 ;a13e 20 42 B a140 41 ld b,c ;a140 41 A a141 52 ld d,d ;a141 52 R a142 44 ld b,h ;a142 44 D a143 45 ld b,l ;a143 45 E a144 48 ld c,b ;a144 48 H a145 4c ld c,h ;a145 4c L a146 45 ld b,l ;a146 45 E a147 20 45 jr nz,$+71 ;a147 20 45 E a149 4c ld c,h ;a149 4c L a14a 45 ld b,l ;a14a 45 E a14b 43 ld b,e ;a14b 43 C a14c 54 ld d,h ;a14c 54 T a14d 52 ld d,d ;a14d 52 R a14e 4f ld c,a ;a14e 4f O a14f 4e ld c,(hl) ;a14f 4e N a150 49 ld c,c ;a150 49 I a151 43 ld b,e ;a151 43 C a152 20 44 jr nz,$+70 ;a152 20 44 D a154 2d dec l ;a154 2d - a155 34 inc (hl) ;a155 34 4 a156 37 scf ;a156 37 7 a157 39 add hl,sp ;a157 39 9 a158 36 20 ld (hl),020h ;a158 36 20 6 a15a 53 ld d,e ;a15a 53 S a15b 41 ld b,c ;a15b 41 A a15c 4c ld c,h ;a15c 4c L a15d 5a ld e,d ;a15d 5a Z a15e 4b ld c,e ;a15e 4b K a15f 4f ld c,a ;a15f 4f O a160 54 ld d,h ;a160 54 T a161 54 ld d,h ;a161 54 T a162 45 ld b,l ;a162 45 E a163 4e ld c,(hl) ;a163 4e N a164 20 30 jr nz,$+50 ;a164 20 30 0 a166 36 20 ld (hl),020h ;a166 36 20 6 a168 38 35 jr c,$+55 ;a168 38 35 8 5 a16a la16ah: a16a 21 0a 46 ld hl,0460ah ;a16a 21 0a 46 ! . F a16d cd 4d a4 call sub_a44dh ;a16d cd 4d a4 . M . a170 06 28 ld b,028h ;a170 06 28 . ( a172 la172h: a172 36 20 ld (hl),020h ;a172 36 20 6 a174 23 inc hl ;a174 23 # a175 10 fb djnz la172h ;a175 10 fb . . a177 cd 06 a1 call la106h ;a177 cd 06 a1 . . . a17a 21 0a 46 ld hl,0460ah ;a17a 21 0a 46 ! . F a17d cd 4d a4 call sub_a44dh ;a17d cd 4d a4 . M . a180 22 82 ff ld (0ff82h),hl ;a180 22 82 ff " . . a183 cd 88 a1 call sub_a188h ;a183 cd 88 a1 . . . a186 18 98 jr la120h ;a186 18 98 . . a188 sub_a188h: a188 21 5d 0c ld hl,00c5dh ;a188 21 5d 0c ! ] . a18b la18bh: a18b 4e ld c,(hl) ;a18b 4e N a18c 79 ld a,c ;a18c 79 y a18d fe 0d cp 00dh ;a18d fe 0d . . a18f 28 06 jr z,la197h ;a18f 28 06 ( . a191 cd 0a a0 call sub_a00ah ;a191 cd 0a a0 . . . a194 23 inc hl ;a194 23 # a195 18 f4 jr la18bh ;a195 18 f4 . . a197 la197h: a197 cd 06 a1 call la106h ;a197 cd 06 a1 . . . a19a cd 06 a1 call la106h ;a19a cd 06 a1 . . . a19d c9 ret ;a19d c9 . a19e la19eh: a19e 11 04 ff ld de,0ff04h ;a19e 11 04 ff . . . a1a1 01 2b ff ld bc,0ff2bh ;a1a1 01 2b ff . + . a1a4 ed 53 0a 46 ld (0460ah),de ;a1a4 ed 53 0a 46 . S . F a1a8 ed 43 0c 46 ld (0460ch),bc ;a1a8 ed 43 0c 46 . C . F a1ac 21 9d a4 ld hl,la49dh ;a1ac 21 9d a4 ! . . a1af cd 19 a0 call sub_a019h ;a1af cd 19 a0 . . . a1b2 0e 0c ld c,00ch ;a1b2 0e 0c . . a1b4 cd 0a a0 call sub_a00ah ;a1b4 cd 0a a0 . . . a1b7 3e a5 ld a,0a5h ;a1b7 3e a5 > . a1b9 32 01 46 ld (04601h),a ;a1b9 32 01 46 2 . F a1bc 32 00 46 ld (04600h),a ;a1bc 32 00 46 2 . F a1bf c9 ret ;a1bf c9 . a1c0 la1c0h: a1c0 cd 9e a1 call la19eh ;a1c0 cd 9e a1 . . . a1c3 c3 00 00 jp 00000h ;a1c3 c3 00 00 . . . a1c6 la1c6h: a1c6 0e f0 ld c,0f0h ;a1c6 0e f0 . . a1c8 la1c8h: a1c8 7e ld a,(hl) ;a1c8 7e ~ a1c9 fe ff cp 0ffh ;a1c9 fe ff . . a1cb c8 ret z ;a1cb c8 . a1cc ed 79 out (c),a ;a1cc ed 79 . y a1ce 23 inc hl ;a1ce 23 # a1cf 7e ld a,(hl) ;a1cf 7e ~ a1d0 0c inc c ;a1d0 0c . a1d1 ed 79 out (c),a ;a1d1 ed 79 . y a1d3 0d dec c ;a1d3 0d . a1d4 23 inc hl ;a1d4 23 # a1d5 18 f1 jr la1c8h ;a1d5 18 f1 . . a1d7 la1d7h: a1d7 0e 0c ld c,00ch ;a1d7 0e 0c . . a1d9 cd 0a a0 call sub_a00ah ;a1d9 cd 0a a0 . . . a1dc 0e 00 ld c,000h ;a1dc 0e 00 . . a1de la1deh: a1de cd 0d a0 call sub_a00dh ;a1de cd 0d a0 . . . a1e1 0c inc c ;a1e1 0c . a1e2 79 ld a,c ;a1e2 79 y a1e3 fe 80 cp 080h ;a1e3 fe 80 . . a1e5 20 f7 jr nz,la1deh ;a1e5 20 f7 . a1e7 0e 0d ld c,00dh ;a1e7 0e 0d . . a1e9 cd 0a a0 call sub_a00ah ;a1e9 cd 0a a0 . . . a1ec 0e 0a ld c,00ah ;a1ec 0e 0a . . a1ee cd 0a a0 call sub_a00ah ;a1ee cd 0a a0 . . . a1f1 0e 80 ld c,080h ;a1f1 0e 80 . . a1f3 la1f3h: a1f3 cd 0d a0 call sub_a00dh ;a1f3 cd 0d a0 . . . a1f6 0c inc c ;a1f6 0c . a1f7 20 fa jr nz,la1f3h ;a1f7 20 fa . a1f9 c3 00 00 jp 00000h ;a1f9 c3 00 00 . . . a1fc la1fch: a1fc fd e5 push iy ;a1fc fd e5 . . a1fe dd e5 push ix ;a1fe dd e5 . . a200 e5 push hl ;a200 e5 . a201 d5 push de ;a201 d5 . a202 c5 push bc ;a202 c5 . a203 f5 push af ;a203 f5 . a204 cd 10 a2 call sub_a210h ;a204 cd 10 a2 . . . a207 f1 pop af ;a207 f1 . a208 c1 pop bc ;a208 c1 . a209 d1 pop de ;a209 d1 . a20a e1 pop hl ;a20a e1 . a20b dd e1 pop ix ;a20b dd e1 . . a20d fd e1 pop iy ;a20d fd e1 . . a20f c9 ret ;a20f c9 . a210 sub_a210h: a210 79 ld a,c ;a210 79 y a211 01 0a 00 ld bc,0000ah ;a211 01 0a 00 . . . a214 21 45 a2 ld hl,la245h ;a214 21 45 a2 ! E . a217 ed b1 cpir ;a217 ed b1 . . a219 28 03 jr z,la21eh ;a219 28 03 ( . a21b c3 56 a2 jp la256h ;a21b c3 56 a2 . V . a21e la21eh: a21e 21 2e a2 ld hl,la22eh ;a21e 21 2e a2 ! . . a221 79 ld a,c ;a221 79 y a222 e6 0f and 00fh ;a222 e6 0f . . a224 87 add a,a ;a224 87 . a225 4f ld c,a ;a225 4f O a226 06 00 ld b,000h ;a226 06 00 . . a228 09 add hl,bc ;a228 09 . a229 5e ld e,(hl) ;a229 5e ^ a22a 23 inc hl ;a22a 23 # a22b 56 ld d,(hl) ;a22b 56 V a22c eb ex de,hl ;a22c eb . a22d e9 jp (hl) ;a22d e9 . a22e la22eh: a22e 99 sbc a,c ;a22e 99 . a22f a3 and e ;a22f a3 . a230 7a ld a,d ;a230 7a z a231 a3 and e ;a231 a3 . a232 17 rla ;a232 17 . a233 a3 and e ;a233 a3 . a234 09 add hl,bc ;a234 09 . a235 a3 and e ;a235 a3 . a236 fe a2 cp 0a2h ;a236 fe a2 . . a238 f0 ret p ;a238 f0 . a239 a2 and d ;a239 a2 . a23a d1 pop de ;a23a d1 . a23b a2 and d ;a23b a2 . a23c b8 cp b ;a23c b8 . a23d a2 and d ;a23d a2 . a23e b3 or e ;a23e b3 . a23f a2 and d ;a23f a2 . a240 9f sbc a,a ;a240 9f . a241 a2 and d ;a241 a2 . a242 c3 56 a2 jp la256h ;a242 c3 56 a2 . V . a245 la245h: a245 0d dec c ;a245 0d . a246 0a ld a,(bc) ;a246 0a . a247 0c inc c ;a247 0c . a248 5f ld e,a ;a248 5f _ a249 00 nop ;a249 00 . a24a 01 02 03 ld bc,00302h ;a24a 01 02 03 . . . a24d 09 add hl,bc ;a24d 09 . a24e 04 inc b ;a24e 04 . a24f la24fh: a24f c5 push bc ;a24f c5 . a250 79 ld a,c ;a250 79 y a251 cd 56 a2 call la256h ;a251 cd 56 a2 . V . a254 c1 pop bc ;a254 c1 . a255 c9 ret ;a255 c9 . a256 la256h: a256 21 95 a2 ld hl,la295h ;a256 21 95 a2 ! . . a259 01 05 00 ld bc,00005h ;a259 01 05 00 . . . a25c ed b1 cpir ;a25c ed b1 . . a25e ; call z,sub_a28eh ;a25e cc 8e a2 . . . a25e 00 nop a25f 00 nop a260 00 nop a261 4f ld c,a ;a261 4f O a262 cd 6a a4 call sub_a46ah ;a262 cd 6a a4 . j . a265 la265h: a265 db f0 in a,(0f0h) ;a265 db f0 . . a267 07 rlca ;a267 07 . a268 30 fb jr nc,la265h ;a268 30 fb 0 . a26a 71 ld (hl),c ;a26a 71 q a26b cd 60 a4 call sub_a460h ;a26b cd 60 a4 . ` . a26e 7b ld a,e ;a26e 7b { a26f 3c inc a ;a26f 3c < a270 fe 28 cp 028h ;a270 fe 28 . ( a272 28 05 jr z,la279h ;a272 28 05 ( . a274 5f ld e,a ;a274 5f _ a275 la275h: a275 cd cc a3 call sub_a3cch ;a275 cd cc a3 . . . a278 c9 ret ;a278 c9 . a279 la279h: a279 af xor a ;a279 af . a27a 5f ld e,a ;a27a 5f _ a27b la27bh: a27b 7a ld a,d ;a27b 7a z a27c 3c inc a ;a27c 3c < a27d 06 14 ld b,014h ;a27d 06 14 . . a27f b8 cp b ;a27f b8 . a280 28 03 jr z,la285h ;a280 28 03 ( . a282 57 ld d,a ;a282 57 W a283 18 f0 jr la275h ;a283 18 f0 . . a285 la285h: a285 3d dec a ;a285 3d = a286 57 ld d,a ;a286 57 W a287 cd cc a3 call sub_a3cch ;a287 cd cc a3 . . . a28a cd 35 a3 call sub_a335h ;a28a cd 35 a3 . 5 . a28d c9 ret ;a28d c9 . a28e sub_a28eh: a28e 2b dec hl ;a28e 2b + a28f 01 05 00 ld bc,00005h ;a28f 01 05 00 . . . a292 09 add hl,bc ;a292 09 . a293 7e ld a,(hl) ;a293 7e ~ a294 c9 ret ;a294 c9 . a295 la295h: a295 60 ld h,b ;a295 60 ` a296 61 ld h,c ;a296 61 a a297 66 ld h,(hl) ;a297 66 f a298 67 ld h,a ;a298 67 g a299 5b ld e,e ;a299 5b [ a29a 61 ld h,c ;a29a 61 a a29b 66 ld h,(hl) ;a29b 66 f a29c 68 ld l,b ;a29c 68 h a29d 6c ld l,h ;a29d 6c l a29e 5e ld e,(hl) ;a29e 5e ^ a29f sub_a29fh: a29f cd 60 a4 call sub_a460h ;a29f cd 60 a4 . ` . a2a2 af xor a ;a2a2 af . a2a3 5f ld e,a ;a2a3 5f _ a2a4 21 06 46 ld hl,04606h ;a2a4 21 06 46 ! . F a2a7 la2a7h: a2a7 db f0 in a,(0f0h) ;a2a7 db f0 . . a2a9 07 rlca ;a2a9 07 . a2aa 30 fb jr nc,la2a7h ;a2aa 30 fb 0 . a2ac 7e ld a,(hl) ;a2ac 7e ~ a2ad fe a5 cp 0a5h ;a2ad fe a5 . . a2af 28 ca jr z,la27bh ;a2af 28 ca ( . a2b1 18 c2 jr la275h ;a2b1 18 c2 . . a2b3 cd 60 a4 call sub_a460h ;a2b3 cd 60 a4 . ` . a2b6 18 c3 jr la27bh ;a2b6 18 c3 . . a2b8 21 00 40 ld hl,04000h ;a2b8 21 00 40 ! . @ a2bb 11 01 40 ld de,04001h ;a2bb 11 01 40 . . @ a2be 01 20 03 ld bc,00320h ;a2be 01 20 03 . . a2c1 3e 20 ld a,020h ;a2c1 3e 20 > a2c3 la2c3h: a2c3 77 ld (hl),a ;a2c3 77 w a2c4 be cp (hl) ;a2c4 be . a2c5 20 fc jr nz,la2c3h ;a2c5 20 fc . a2c7 cd 14 a4 call sub_a414h ;a2c7 cd 14 a4 . . . a2ca 16 00 ld d,000h ;a2ca 16 00 . . a2cc 5a ld e,d ;a2cc 5a Z a2cd cd cc a3 call sub_a3cch ;a2cd cd cc a3 . . . a2d0 c9 ret ;a2d0 c9 . a2d1 cd 60 a4 call sub_a460h ;a2d1 cd 60 a4 . ` . a2d4 7b ld a,e ;a2d4 7b { a2d5 3d dec a ;a2d5 3d = a2d6 fe ff cp 0ffh ;a2d6 fe ff . . a2d8 28 12 jr z,la2ech ;a2d8 28 12 ( . a2da 5f ld e,a ;a2da 5f _ a2db cd cc a3 call sub_a3cch ;a2db cd cc a3 . . . a2de f5 push af ;a2de f5 . a2df cd 6a a4 call sub_a46ah ;a2df cd 6a a4 . j . a2e2 16 20 ld d,020h ;a2e2 16 20 . a2e4 la2e4h: a2e4 db f0 in a,(0f0h) ;a2e4 db f0 . . a2e6 07 rlca ;a2e6 07 . a2e7 30 fb jr nc,la2e4h ;a2e7 30 fb 0 . a2e9 72 ld (hl),d ;a2e9 72 r a2ea f1 pop af ;a2ea f1 . a2eb c9 ret ;a2eb c9 . a2ec la2ech: a2ec cd 2e a3 call sub_a32eh ;a2ec cd 2e a3 . . . a2ef c9 ret ;a2ef c9 . a2f0 cd 60 a4 call sub_a460h ;a2f0 cd 60 a4 . ` . a2f3 7b ld a,e ;a2f3 7b { a2f4 3c inc a ;a2f4 3c < a2f5 fe 28 cp 028h ;a2f5 fe 28 . ( a2f7 28 f3 jr z,la2ech ;a2f7 28 f3 ( . a2f9 la2f9h: a2f9 5f ld e,a ;a2f9 5f _ a2fa cd cc a3 call sub_a3cch ;a2fa cd cc a3 . . . a2fd c9 ret ;a2fd c9 . a2fe cd 60 a4 call sub_a460h ;a2fe cd 60 a4 . ` . a301 7b ld a,e ;a301 7b { a302 3d dec a ;a302 3d = a303 fe ff cp 0ffh ;a303 fe ff . . a305 28 e5 jr z,la2ech ;a305 28 e5 ( . a307 18 f0 jr la2f9h ;a307 18 f0 . . a309 cd 60 a4 call sub_a460h ;a309 cd 60 a4 . ` . a30c 7a ld a,d ;a30c 7a z a30d 3d dec a ;a30d 3d = a30e fe ff cp 0ffh ;a30e fe ff . . a310 28 da jr z,la2ech ;a310 28 da ( . a312 la312h: a312 57 ld d,a ;a312 57 W a313 cd cc a3 call sub_a3cch ;a313 cd cc a3 . . . a316 c9 ret ;a316 c9 . a317 cd 60 a4 call sub_a460h ;a317 cd 60 a4 . ` . a31a 7a ld a,d ;a31a 7a z a31b 3c inc a ;a31b 3c < a31c fe 14 cp 014h ;a31c fe 14 . . a31e 28 cc jr z,la2ech ;a31e 28 cc ( . a320 18 f0 jr la312h ;a320 18 f0 . . a322 sub_a322h: a322 21 be a4 ld hl,la4beh ;a322 21 be a4 ! . . a325 la325h: a325 cd c6 a1 call la1c6h ;a325 cd c6 a1 . . . a328 c9 ret ;a328 c9 . a329 sub_a329h: a329 21 c1 a4 ld hl,la4c1h ;a329 21 c1 a4 ! . . a32c 18 f7 jr la325h ;a32c 18 f7 . . a32e sub_a32eh: a32e 21 00 01 ld hl,00100h ;a32e 21 00 01 ! . . a331 cd 6e 08 call 0086eh ;a331 cd 6e 08 . n . a334 c9 ret ;a334 c9 . a335 sub_a335h: a335 cd 22 a3 call sub_a322h ;a335 cd 22 a3 . " . a338 06 13 ld b,013h ;a338 06 13 . . a33a 11 00 40 ld de,04000h ;a33a 11 00 40 . . @ a33d 21 28 40 ld hl,04028h ;a33d 21 28 40 ! ( @ a340 la340h: a340 c5 push bc ;a340 c5 . a341 la341h: a341 db f0 in a,(0f0h) ;a341 db f0 . . a343 07 rlca ;a343 07 . a344 30 fb jr nc,la341h ;a344 30 fb 0 . a346 db f0 in a,(0f0h) ;a346 db f0 . . a348 07 rlca ;a348 07 . a349 30 f6 jr nc,la341h ;a349 30 f6 0 . a34b 06 28 ld b,028h ;a34b 06 28 . ( a34d la34dh: a34d 7e ld a,(hl) ;a34d 7e ~ a34e be cp (hl) ;a34e be . a34f 20 fc jr nz,la34dh ;a34f 20 fc . a351 eb ex de,hl ;a351 eb . a352 la352h: a352 77 ld (hl),a ;a352 77 w a353 be cp (hl) ;a353 be . a354 20 fc jr nz,la352h ;a354 20 fc . a356 eb ex de,hl ;a356 eb . a357 23 inc hl ;a357 23 # a358 13 inc de ;a358 13 . a359 10 f2 djnz la34dh ;a359 10 f2 . . a35b c1 pop bc ;a35b c1 . a35c 10 e2 djnz la340h ;a35c 10 e2 . . a35e d5 push de ;a35e d5 . a35f e1 pop hl ;a35f e1 . a360 13 inc de ;a360 13 . a361 01 28 00 ld bc,00028h ;a361 01 28 00 . ( . a364 06 00 ld b,000h ;a364 06 00 . . a366 0d dec c ;a366 0d . a367 f5 push af ;a367 f5 . a368 c5 push bc ;a368 c5 . a369 0e 20 ld c,020h ;a369 0e 20 . a36b la36bh: a36b db f0 in a,(0f0h) ;a36b db f0 . . a36d 07 rlca ;a36d 07 . a36e 30 fb jr nc,la36bh ;a36e 30 fb 0 . a370 71 ld (hl),c ;a370 71 q a371 c1 pop bc ;a371 c1 . a372 f1 pop af ;a372 f1 . a373 cd f8 a3 call sub_a3f8h ;a373 cd f8 a3 . . . a376 cd 29 a3 call sub_a329h ;a376 cd 29 a3 . ) . a379 c9 ret ;a379 c9 . a37a cd 60 a4 call sub_a460h ;a37a cd 60 a4 . ` . a37d 7b ld a,e ;a37d 7b { a37e fe 24 cp 024h ;a37e fe 24 . $ a380 d0 ret nc ;a380 d0 . a381 la381h: a381 3c inc a ;a381 3c < a382 21 93 a3 ld hl,la393h ;a382 21 93 a3 ! . . a385 01 06 00 ld bc,00006h ;a385 01 06 00 . . . a388 ed b1 cpir ;a388 ed b1 . . a38a 28 02 jr z,la38eh ;a38a 28 02 ( . a38c 18 f3 jr la381h ;a38c 18 f3 . . a38e la38eh: a38e 5f ld e,a ;a38e 5f _ a38f cd cc a3 call sub_a3cch ;a38f cd cc a3 . . . a392 c9 ret ;a392 c9 . a393 la393h: a393 06 0c ld b,00ch ;a393 06 0c . . a395 12 ld (de),a ;a395 12 . a396 18 1e jr la3b6h ;a396 18 1e . . a398 24 inc h ;a398 24 $ a399 21 06 46 ld hl,04606h ;a399 21 06 46 ! . F a39c la39ch: a39c db f0 in a,(0f0h) ;a39c db f0 . . a39e 07 rlca ;a39e 07 . a39f 30 fb jr nc,la39ch ;a39f 30 fb 0 . a3a1 7e ld a,(hl) ;a3a1 7e ~ a3a2 f5 push af ;a3a2 f5 . a3a3 e5 push hl ;a3a3 e5 . a3a4 0e 00 ld c,000h ;a3a4 0e 00 . . a3a6 la3a6h: a3a6 db f0 in a,(0f0h) ;a3a6 db f0 . . a3a8 07 rlca ;a3a8 07 . a3a9 30 fb jr nc,la3a6h ;a3a9 30 fb 0 . a3ab 71 ld (hl),c ;a3ab 71 q a3ac cd 9f a2 call sub_a29fh ;a3ac cd 9f a2 . . . a3af e1 pop hl ;a3af e1 . a3b0 c1 pop bc ;a3b0 c1 . a3b1 la3b1h: a3b1 db f0 in a,(0f0h) ;a3b1 db f0 . . a3b3 07 rlca ;a3b3 07 . a3b4 30 fb jr nc,la3b1h ;a3b4 30 fb 0 . a3b6 la3b6h: a3b6 70 ld (hl),b ;a3b6 70 p a3b7 cd 6a a4 call sub_a46ah ;a3b7 cd 6a a4 . j . a3ba 0e 20 ld c,020h ;a3ba 0e 20 . a3bc la3bch: a3bc db f0 in a,(0f0h) ;a3bc db f0 . . a3be 07 rlca ;a3be 07 . a3bf 30 fb jr nc,la3bch ;a3bf 30 fb 0 . a3c1 71 ld (hl),c ;a3c1 71 q a3c2 e5 push hl ;a3c2 e5 . a3c3 d1 pop de ;a3c3 d1 . a3c4 13 inc de ;a3c4 13 . a3c5 01 27 00 ld bc,00027h ;a3c5 01 27 00 . ' . a3c8 cd f8 a3 call sub_a3f8h ;a3c8 cd f8 a3 . . . a3cb c9 ret ;a3cb c9 . a3cc sub_a3cch: a3cc cd 71 a4 call sub_a471h ;a3cc cd 71 a4 . q . a3cf 7a ld a,d ;a3cf 7a z a3d0 21 00 00 ld hl,00000h ;a3d0 21 00 00 ! . . a3d3 b7 or a ;a3d3 b7 . a3d4 28 09 jr z,la3dfh ;a3d4 28 09 ( . a3d6 01 28 00 ld bc,00028h ;a3d6 01 28 00 . ( . a3d9 45 ld b,l ;a3d9 45 E a3da la3dah: a3da 09 add hl,bc ;a3da 09 . a3db 3d dec a ;a3db 3d = a3dc 20 fc jr nz,la3dah ;a3dc 20 fc . a3de 57 ld d,a ;a3de 57 W a3df la3dfh: a3df 19 add hl,de ;a3df 19 . a3e0 0e f0 ld c,0f0h ;a3e0 0e f0 . . a3e2 3e 0e ld a,00eh ;a3e2 3e 0e > . a3e4 ed 79 out (c),a ;a3e4 ed 79 . y a3e6 0c inc c ;a3e6 0c . a3e7 ed 61 out (c),h ;a3e7 ed 61 . a a3e9 0d dec c ;a3e9 0d . a3ea 3c inc a ;a3ea 3c < a3eb ed 79 out (c),a ;a3eb ed 79 . y a3ed 0c inc c ;a3ed 0c . a3ee ed 69 out (c),l ;a3ee ed 69 . i a3f0 11 00 40 ld de,04000h ;a3f0 11 00 40 . . @ a3f3 19 add hl,de ;a3f3 19 . a3f4 cd 86 a4 call sub_a486h ;a3f4 cd 86 a4 . . . a3f7 c9 ret ;a3f7 c9 . a3f8 sub_a3f8h: a3f8 f5 push af ;a3f8 f5 . a3f9 41 ld b,c ;a3f9 41 A a3fa la3fah: a3fa db f0 in a,(0f0h) ;a3fa db f0 . . a3fc 07 rlca ;a3fc 07 . a3fd 30 fb jr nc,la3fah ;a3fd 30 fb 0 . a3ff db f0 in a,(0f0h) ;a3ff db f0 . . a401 07 rlca ;a401 07 . a402 30 f6 jr nc,la3fah ;a402 30 f6 0 . a404 la404h: a404 7e ld a,(hl) ;a404 7e ~ a405 be cp (hl) ;a405 be . a406 20 fc jr nz,la404h ;a406 20 fc . a408 eb ex de,hl ;a408 eb . a409 la409h: a409 77 ld (hl),a ;a409 77 w a40a be cp (hl) ;a40a be . a40b 20 fc jr nz,la409h ;a40b 20 fc . a40d eb ex de,hl ;a40d eb . a40e 23 inc hl ;a40e 23 # a40f 13 inc de ;a40f 13 . a410 10 f2 djnz la404h ;a410 10 f2 . . a412 f1 pop af ;a412 f1 . a413 c9 ret ;a413 c9 . a414 sub_a414h: a414 f5 push af ;a414 f5 . a415 78 ld a,b ;a415 78 x a416 b1 or c ;a416 b1 . a417 28 18 jr z,la431h ;a417 28 18 ( . a419 78 ld a,b ;a419 78 x a41a 41 ld b,c ;a41a 41 A a41b 4f ld c,a ;a41b 4f O a41c la41ch: a41c 7e ld a,(hl) ;a41c 7e ~ a41d be cp (hl) ;a41d be . a41e 20 fc jr nz,la41ch ;a41e 20 fc . a420 eb ex de,hl ;a420 eb . a421 la421h: a421 77 ld (hl),a ;a421 77 w a422 be cp (hl) ;a422 be . a423 20 fc jr nz,la421h ;a423 20 fc . a425 eb ex de,hl ;a425 eb . a426 23 inc hl ;a426 23 # a427 13 inc de ;a427 13 . a428 10 f2 djnz la41ch ;a428 10 f2 . . a42a 79 ld a,c ;a42a 79 y a42b b0 or b ;a42b b0 . a42c 28 03 jr z,la431h ;a42c 28 03 ( . a42e 0d dec c ;a42e 0d . a42f 18 eb jr la41ch ;a42f 18 eb . . a431 la431h: a431 f1 pop af ;a431 f1 . a432 c9 ret ;a432 c9 . a433 la433h: a433 fd 7e 00 ld a,(iy+000h) ;a433 fd 7e 00 . ~ . a436 fe 00 cp 000h ;a436 fe 00 . . a438 c8 ret z ;a438 c8 . a439 4f ld c,a ;a439 4f O a43a cd 0a a0 call sub_a00ah ;a43a cd 0a a0 . . . a43d fd 23 inc iy ;a43d fd 23 . # a43f 18 f2 jr la433h ;a43f 18 f2 . . a441 la441h: a441 cd 33 a4 call la433h ;a441 cd 33 a4 . 3 . a444 fd 21 4a a4 ld iy,la44ah ;a444 fd 21 4a a4 . ! J . a448 18 e9 jr la433h ;a448 18 e9 . . a44a la44ah: a44a 0d dec c ;a44a 0d . a44b 0a ld a,(bc) ;a44b 0a . a44c 00 nop ;a44c 00 . a44d sub_a44dh: a44d f5 push af ;a44d f5 . a44e d5 push de ;a44e d5 . a44f la44fh: a44f db f0 in a,(0f0h) ;a44f db f0 . . a451 07 rlca ;a451 07 . a452 30 fb jr nc,la44fh ;a452 30 fb 0 . a454 5e ld e,(hl) ;a454 5e ^ a455 23 inc hl ;a455 23 # a456 la456h: a456 db f0 in a,(0f0h) ;a456 db f0 . . a458 07 rlca ;a458 07 . a459 30 fb jr nc,la456h ;a459 30 fb 0 . a45b 56 ld d,(hl) ;a45b 56 V a45c eb ex de,hl ;a45c eb . a45d d1 pop de ;a45d d1 . a45e f1 pop af ;a45e f1 . a45f c9 ret ;a45f c9 . a460 sub_a460h: a460 e5 push hl ;a460 e5 . a461 21 04 46 ld hl,04604h ;a461 21 04 46 ! . F a464 cd 4d a4 call sub_a44dh ;a464 cd 4d a4 . M . a467 eb ex de,hl ;a467 eb . a468 e1 pop hl ;a468 e1 . a469 c9 ret ;a469 c9 . a46a sub_a46ah: a46a 21 02 46 ld hl,04602h ;a46a 21 02 46 ! . F a46d cd 4d a4 call sub_a44dh ;a46d cd 4d a4 . M . a470 c9 ret ;a470 c9 . a471 sub_a471h: a471 f5 push af ;a471 f5 . a472 e5 push hl ;a472 e5 . a473 21 04 46 ld hl,04604h ;a473 21 04 46 ! . F a476 la476h: a476 db f0 in a,(0f0h) ;a476 db f0 . . a478 07 rlca ;a478 07 . a479 30 fb jr nc,la476h ;a479 30 fb 0 . a47b 73 ld (hl),e ;a47b 73 s a47c 23 inc hl ;a47c 23 # a47d la47dh: a47d db f0 in a,(0f0h) ;a47d db f0 . . a47f 07 rlca ;a47f 07 . a480 30 fb jr nc,la47dh ;a480 30 fb 0 . a482 72 ld (hl),d ;a482 72 r a483 e1 pop hl ;a483 e1 . a484 f1 pop af ;a484 f1 . a485 c9 ret ;a485 c9 . a486 sub_a486h: a486 f5 push af ;a486 f5 . a487 d5 push de ;a487 d5 . a488 11 02 46 ld de,04602h ;a488 11 02 46 . . F a48b eb ex de,hl ;a48b eb . a48c la48ch: a48c db f0 in a,(0f0h) ;a48c db f0 . . a48e 07 rlca ;a48e 07 . a48f 30 fb jr nc,la48ch ;a48f 30 fb 0 . a491 73 ld (hl),e ;a491 73 s a492 23 inc hl ;a492 23 # a493 la493h: a493 db f0 in a,(0f0h) ;a493 db f0 . . a495 07 rlca ;a495 07 . a496 30 fb jr nc,la493h ;a496 30 fb 0 . a498 72 ld (hl),d ;a498 72 r a499 eb ex de,hl ;a499 eb . a49a d1 pop de ;a49a d1 . a49b f1 pop af ;a49b f1 . a49c c9 ret ;a49c c9 . a49d la49dh: a49d 00 nop ;a49d 00 . a49e 3f ccf ;a49e 3f ? a49f 01 28 02 ld bc,00228h ;a49f 01 28 02 . ( . a4a2 30 03 jr nc,la4a7h ;a4a2 30 03 0 . a4a4 05 dec b ;a4a4 05 . a4a5 04 inc b ;a4a5 04 . a4a6 19 add hl,de ;a4a6 19 . a4a7 la4a7h: a4a7 05 dec b ;a4a7 05 . a4a8 0e 06 ld c,006h ;a4a8 0e 06 . . a4aa 14 inc d ;a4aa 14 . a4ab 07 rlca ;a4ab 07 . a4ac 17 rla ;a4ac 17 . a4ad 08 ex af,af' ;a4ad 08 . a4ae 00 nop ;a4ae 00 . a4af 09 add hl,bc ;a4af 09 . a4b0 0b dec bc ;a4b0 0b . a4b1 0a ld a,(bc) ;a4b1 0a . a4b2 60 ld h,b ;a4b2 60 ` a4b3 0b dec bc ;a4b3 0b . a4b4 0b dec bc ;a4b4 0b . a4b5 0c inc c ;a4b5 0c . a4b6 00 nop ;a4b6 00 . a4b7 0d dec c ;a4b7 0d . a4b8 00 nop ;a4b8 00 . a4b9 0e 00 ld c,000h ;a4b9 0e 00 . . a4bb 0f rrca ;a4bb 0f . a4bc 00 nop ;a4bc 00 . a4bd ff rst 38h ;a4bd ff . a4be la4beh: a4be 0a ld a,(bc) ;a4be 0a . a4bf 20 ff jr nz,$+1 ;a4bf 20 ff . a4c1 la4c1h: a4c1 0a ld a,(bc) ;a4c1 0a . a4c2 60 ld h,b ;a4c2 60 ` a4c3 ff rst 38h ;a4c3 ff . a4c4 00 nop ;a4c4 00 . a4c5 00 nop ;a4c5 00 . a4c6 00 nop ;a4c6 00 . a4c7 00 nop ;a4c7 00 . a4c8 00 nop ;a4c8 00 . a4c9 00 nop ;a4c9 00 . a4ca 00 nop ;a4ca 00 . a4cb 00 nop ;a4cb 00 . a4cc 00 nop ;a4cc 00 . a4cd 00 nop ;a4cd 00 . a4ce 00 nop ;a4ce 00 . a4cf 00 nop ;a4cf 00 . a4d0 .. defm 'Modified VIOMON 2.0, fjkraan@xs4all.nl, 2013-02-11' a502 ff rst 38h ;a4d0 ff . a503 ff rst 38h ;a4d1 ff . # End of file vio_v20mod.asm a504