START: 0000 130 58 .AD 0130 0001 132 5A M1|U2M ;CLEAR UAR AND GET IN MODE 1 0002 010 08 ZXZY ;start of screen PULP: 0003 110 48 ZA ;init loop counter PULP1: 0004 200 80 .LD 0 ;store 0 0005 104 44 DY ;one row up 0006 240 A0 .LD 40 ;store 40 0007 045 25 IA1|ALMJ ;inc counter 0010 004 04 .AD PULP1 ;jump if < 40 0011 071 39 IX|ADXJ ;next column 0012 003 03 .AD PULP ;jump if x != ac (40) ; start a new character line 0013 026 16 IA|A2M ;increment video line count 0014 006 06 DXDY|M2A ;load current video line 0015 142 62 M2B 0016 230 98 .LD 30 ;num lines 0017 045 25 IA1|ALMJ ;increment, wrap around 0020 022 12 .AD 22 0021 110 48 ZA ;AC <- 0 0022 022 12 A2M ;store back 0023 016 0E ZXZY|DXDY|M2A ;AC = 167 before first scanline ; wait for the next scanline 0024 141 61 VSCJ ;wait for hsynch 0025 024 14 .AD 24 (0024) ; start of scanline 0026 014 0C ZXZY|DXDY ;X=177 0027 063 33 B2M|ADXJ ;store current line M(177,37) 0030 143 63 .AD 0143 ;stay in same character ; end of character line 0031 002 02 M2A ;load current line 0032 105 45 DY|AEM2J ;check cursor Y, M(177,36) 0033 041 21 .AD 0041 ;this is the cursor line ; we now have two empty lines before the next char line starts 0034 100 40 ZCAV ;turn off video 0035 014 0C ZXZY|DXDY 0036 134 5C M1|IROM 0037 135 5D M1|IROM|TRUJ 0040 034 1C .AD 34 (1034) ; cursor is in this char line, draw it with AC set to cursor X 0041 051 29 IXDY|ALMJ ;check frame count 0042 034 1C .AD 0034 0043 154 6C ZX|DX ;cursor X 0044 002 02 M2A 0045 150 68 ZX 0046 000 00 SCFF ;turn on cursor 0047 141 61 VSCJ ;wait for hsynch 0050 047 27 .AD 47 ; end of cursor line 0051 100 40 ZCAV ;turn off video 0052 150 68 ZX 0053 360 F0 .LD 160 0054 014 0C ZXZY|DXDY 0055 365 F5 .LD 165 0056 131 59 M1|TRUJ 0057 132 5A .AD 132 0060 105 45 DY|AEM2J 0061 130 58 .AD 130 0062 022 12 A2M 0063 142 62 M2B 0064 014 0C ZXZY|DXDY 0065 062 32 B2M 0066 050 28 IXDY 0067 002 02 M2A 0070 144 64 DX 0071 023 13 A2M|AEMJ 0072 102 42 .AD 102 0073 022 12 A2M 0074 104 44 DY 0075 002 02 M2A 0076 230 98 .LD 30 0077 045 25 IA1|ALMJ 0100 071 39 .AD 71 0101 200 80 .LD 0 0102 016 0E ZXZY|DXDY|M2A 0103 164 74 DA 0104 063 33 B2M|ADXJ 0105 073 3B .AD 73 0106 002 02 M2A 0107 202 82 .LD 2 0110 041 21 ALMJ 0111 126 56 .AD 126 0112 207 87 .LD 7 0113 041 21 ALMJ 0114 125 55 .AD 125 0115 215 8D .LD 15 0116 041 21 ALMJ 0117 124 54 .AD 124 0120 222 92 .LD 22 0121 041 21 ALMJ 0122 127 57 .AD 127 0123 372 FA .LD 172 0124 370 F8 .LD 170 0125 367 F7 .LD 167 0126 366 F6 .LD 166 0127 371 F9 .LD 171 ;wait for new char line 0130 141 61 VSCJ 0131 130 58 .AD 130 (0130) ;wait for hsynch 0132 017 0F ZXZY|DXDY|M2A|URJ ;load video line counter 0133 220 90 .AD 220 (0220) ;got a character 0134 372 FA .LD 0172 0135 045 25 IA1|ALMJ 0136 232 9A .AD 0232 0137 023 13 A2M|AEMJ ;always taken 0140 262 B2 .AD 0262 0141 145 65 DX|VSCJ ;unused? 0142 137 5F .AD 0137 ; draw one scanline of a character 0143 020 10 SVID ;TURN ON VIDEO 0144 040 20 B2Y ;char line 0145 024 14 IA ;inc char line 0146 151 69 ZX|VSCJ ;start new line 0147 024 14 .AD 24 (0024) 0150 004 04 DXDY 0151 041 21 KCLJ or ALMJ 0152 326 D6 .AD 326 0153 064 34 IY 0154 111 49 ZA|PRQJ or AEM2J 0155 346 E6 .AD 346 0156 002 02 M2A 0157 233 9B .LD 33 0160 041 21 KCLJ or ALMJ 0161 336 DE .AD 336 0162 257 AF .LD 57 0163 041 21 KCLJ or ALMJ 0164 336 DE .AD 336 0165 021 11 TABJ or AEMJ 0166 331 D9 .AD 331 0167 063 33 B2M|FRQJ or ADXJ 0170 346 E6 .AD 346 ;erase line 0171 026 16 IA|A2M ;increment EOS count 0172 030 18 X8 0173 050 28 IXDY 0174 002 02 M2A ;EOS line 0175 230 98 .LD 30 0176 045 25 IA1|ALMJ ;inc EOS line % 24 0177 201 81 .AD 0201 0200 110 48 ZA 0201 022 12 A2M ;store new EOS line 0202 142 62 M2B 0203 150 68 ZX 0204 040 20 B2Y ;address leftmost char 0205 317 CF .LD 117 0206 002 02 M2A ;last X 0207 200 80 .LD 0 0210 142 62 M2B ;B <- 0 0211 144 64 DX 0212 073 3B IX|B2M|ADXJ ;clear line loop 0213 212 8A .AD 212 0214 016 0E ZXZY|DXDY|M2A 0215 024 14 IA 0216 027 17 IA|A2M|AEMJ 0217 130 58 .AD 0130 ;always taken ; UART has received a char 0220 026 16 IA|A2M 0221 006 06 DXDY|M2A 0222 026 16 IA|A2M 0223 006 06 DXDY|M2A 0224 026 16 IA|A2M 0225 102 42 M2X 0226 104 44 DY 0227 004 04 DXDY 0230 133 5B M1|U2M|TRUJ 0231 262 B2 .AD 262 ; eh? 0232 022 12 A2M 0233 144 64 DX 0234 006 06 DXDY|M2A ;EOS count? 0235 230 98 .LD 30 0236 041 21 ALMJ 0237 171 79 .AD 0171 ;erase line 0240 110 48 ZA 0241 031 19 X8|AEMJ ;printer SILO count? 0242 141 61 .AD 0141 ;empty 0243 170 78 M0 0244 003 03 M2A|PSCJ 0245 262 B2 .AD 262 0246 101 41 PRQJ 0247 262 B2 .AD 262 0250 164 74 DA 0251 022 12 A2M 0252 144 64 DX 0253 022 12 A2M 0254 050 28 IXDY 0255 002 02 M2A 0256 026 16 IA|A2M 0257 102 42 M2X 0260 004 04 DXDY 0261 162 72 ___ 0262 016 0E ZXZY|DXDY|M2A ;video scan count 0263 170 78 M0 0264 030 18 X8 ;incoming char 0265 061 31 FRQJ 0266 270 B8 .AD 0270 0267 164 74 DA ;one more line for 50hz 0270 130 58 M1 0271 366 F6 .LD 166 0272 041 21 ALMJ 0273 130 58 .AD 0130 ;this happens at 50hz? 0274 036 1E X8|IA|A2M ;increment scan count 0275 010 08 ZXZY 0276 050 28 IXDY 0277 070 38 IX ;video line count (next line) 0300 002 02 M2A 0301 230 98 .LD 30 0302 041 21 ALMJ 0303 013 0B .AD 0013 ;not done with screen ;end of screen 0304 200 80 .LD 0 0305 014 0C ZXZY|DXDY 0306 314 CC .LD 114 0307 144 64 DX 0310 144 64 DX 0311 006 06 DXDY|M2A ;keyboard buffer a 0312 161 71 KEYJ 0313 304 C4 .AD 304 0314 074 3C IX|IY 0315 002 02 M2A 0316 161 71 KEYJ 0317 304 C4 .AD 304 0320 170 78 M0 0321 147 67 DX|M2B|UTJ 0322 337 DF .AD 337 0323 130 58 M1 0324 111 49 ZA|AEM2J 0325 150 68 .AD 150 0326 042 22 M2U 0327 023 13 A2M|AEMJ 0330 337 DF .AD 337 0331 170 78 M0 0332 001 01 PSCJ 0333 335 DD .AD 335 0334 315 CD .LD 115 0335 313 CB .LD 113 0336 042 22 M2U 0337 135 5D M1|IROM|TRUJ 0340 354 EC .AD 354 (0754) 0341 315 CD .LD 115 0342 002 02 M2A 0343 161 71 TOSJ or KEYJ 0344 167 77 .AD 167 0345 200 80 .LD 0 0346 016 0E ZXZY|DXDY|M2A 0347 165 75 DA|TOSJ or KEYJ 0350 347 E7 .AD 347 0351 022 12 A2M 0352 111 49 ZA|PRQJ or AEM2J 0353 337 DF .AD 337 0354 016 0E ZXZY|DXDY|M2A 0355 142 62 M2B 0356 144 64 DX 0357 144 64 DX 0360 021 11 TABJ or AEMJ 0361 341 E1 .AD 341 0362 004 04 DXDY 0363 021 11 TABJ or AEMJ 0364 341 E1 .AD 341 0365 161 71 TOSJ or KEYJ 0366 337 DF .AD 337 0367 111 49 ZA|PRQJ or AEM2J 0370 374 FC .AD 374 0371 074 3C IX|IY 0372 041 21 KCLJ or ALMJ 0373 337 DF .AD 337 0374 062 32 B2M 0375 060 30 CBFF 0376 016 0E ZXZY|DXDY|M2A 0377 030 18 X8 0400 201 81 .LD 1 0401 021 11 TABJ or AEMJ 0402 043 23 .AD 43 0403 204 84 .LD 4 0404 021 11 TABJ or AEMJ 0405 054 2C .AD 54 0406 041 21 KCLJ or ALMJ 0407 222 92 .AD 222 0410 211 89 .LD 11 0411 041 21 KCLJ or ALMJ 0412 043 23 .AD 43 0413 217 8F .LD 17 0414 021 11 TABJ or AEMJ 0415 043 23 .AD 43 0416 025 15 IA|TABJ or AEMJ 0417 176 7E .AD 176 0420 271 B9 .LD 71 0421 025 15 IA|TABJ or AEMJ 0422 210 88 .AD 210 0423 304 C4 .LD 104 0424 025 15 IA|TABJ or AEMJ 0425 043 23 .AD 43 0426 045 25 IA1|KCLJ or ALMJ 0427 222 92 .AD 222 0430 315 CD .LD 115 0431 025 15 IA|TABJ or AEMJ 0432 043 23 .AD 43 0433 025 15 IA|TABJ or AEMJ 0434 054 2C .AD 54 0435 025 15 IA|TABJ or AEMJ 0436 043 23 .AD 43 0437 025 15 IA|TABJ or AEMJ 0440 043 23 .AD 43 0441 041 21 KCLJ or ALMJ 0442 054 2C .AD 54 0443 324 D4 .LD 124 0444 025 15 IA|TABJ or AEMJ 0445 054 2C .AD 54 0446 112 4A ZA|M2X 0447 031 19 X8|TABJ or AEMJ 0450 056 2E .AD 56 0451 030 18 X8 0452 277 BF .LD 77 0453 030 18 X8 0454 233 9B .LD 33 0455 042 22 M2U 0456 016 0E ZXZY|DXDY|M2A 0457 170 78 M0 0460 110 48 ZA 0461 267 B7 .LD 67 0462 377 FF .LD 177 0463 210 88 .LD 10 0464 321 D1 .LD 121 0465 261 B1 .LD 61 0466 264 B4 .LD 64 0467 265 B5 .LD 65 0470 262 B2 .LD 62 0471 354 EC .LD 154 0472 265 B5 .LD 65 0473 263 B3 .LD 63 0474 270 B8 .LD 70 0475 240 A0 .LD 40 0476 200 80 .LD 0 0477 256 AE .LD 56 0500 262 B2 .LD 62 0501 273 BB .LD 73 0502 364 F4 .LD 164 0503 346 E6 .LD 146 0504 351 E9 .LD 151 0505 356 EE .LD 156 0506 211 89 .LD 11 0507 373 FB .LD 173 0510 367 F7 .LD 167 0511 357 EF .LD 157 0512 264 B4 .LD 64 0513 366 F6 .LD 166 0514 365 F5 .LD 165 0515 355 ED .LD 155 0516 233 9B .LD 33 0517 257 AF .LD 57 0520 363 F3 .LD 163 0521 271 B9 .LD 71 0522 350 E8 .LD 150 0523 342 E2 .LD 142 0524 267 B7 .LD 67 0525 352 EA .LD 152 0526 341 E1 .LD 141 0527 247 A7 .LD 47 0530 343 E3 .LD 143 0531 360 F0 .LD 160 0532 362 F2 .LD 162 0533 344 E4 .LD 144 0534 266 B6 .LD 66 0535 371 F9 .LD 171 0536 361 F1 .LD 161 0537 255 AD .LD 55 0540 370 F8 .LD 170 0541 212 8A .LD 12 0542 334 DC .LD 134 0543 275 BD .LD 75 0544 340 E0 .LD 140 0545 256 AE .LD 56 0546 215 8D .LD 15 0547 200 80 .LD 0 0550 372 FA .LD 172 0551 260 B0 .LD 60 0552 347 E7 .LD 147 0553 345 E5 .LD 145 0554 353 EB .LD 153 0555 254 AC .LD 54 0556 261 B1 .LD 61 0557 333 DB .LD 133 0560 303 C3 .LD 103 0561 271 B9 .LD 71 0562 302 C2 .LD 102 0563 322 D2 .LD 122 0564 301 C1 .LD 101 0565 263 B3 .LD 63 0566 266 B6 .LD 66 0567 304 C4 .LD 104 0570 260 B0 .LD 60 0571 215 8D .LD 15 0572 270 B8 .LD 70 0573 320 D0 .LD 120 0574 131 59 M1|TRUJ 0575 334 DC .AD 334 0576 317 CF .LD 117 0577 002 02 M2A 0600 050 28 IXDY 0601 050 28 IXDY 0602 161 71 TOSJ or KEYJ 0603 205 85 .AD 205 0604 227 97 .LD 27 0605 002 02 M2A 0606 027 17 IA|A2M|TABJ or AEMJ 0607 354 EC .AD 354 0610 317 CF .LD 117 0611 002 02 M2A 0612 124 54 IROM 0613 124 54 IROM 0614 161 71 TOSJ or KEYJ 0615 356 EE .AD 356 0616 115 4D ZA|DY|PRQJ or AEM2J 0617 021 11 .AD 21 0620 023 13 A2M|TABJ or AEMJ 0621 024 14 .AD 24 (0024) 0622 317 CF .LD 117 0623 002 02 M2A 0624 165 75 DA|TOSJ or KEYJ 0625 227 97 .AD 227 0626 000 00 SCFF 0627 002 02 M2A 0630 161 71 TOSJ or KEYJ 0631 056 2E .AD 56 0632 016 0E ZXZY|DXDY|M2A 0633 110 48 ZA 0634 170 78 M0 0635 267 B7 .LD 67 0636 377 FF .LD 177 0637 210 88 .LD 10 0640 321 D1 .LD 121 0641 261 B1 .LD 61 0642 264 B4 .LD 64 0643 265 B5 .LD 65 0644 262 B2 .LD 62 0645 314 CC .LD 114 0646 245 A5 .LD 45 0647 243 A3 .LD 43 0650 252 AA .LD 52 0651 240 A0 .LD 40 0652 200 80 .LD 0 0653 256 AE .LD 56 0654 300 C0 .LD 100 0655 272 BA .LD 72 0656 324 D4 .LD 124 0657 306 C6 .LD 106 0660 311 C9 .LD 111 0661 316 CE .LD 116 0662 211 89 .LD 11 0663 375 FD .LD 175 0664 327 D7 .LD 127 0665 317 CF .LD 117 0666 244 A4 .LD 44 0667 326 D6 .LD 126 0670 325 D5 .LD 125 0671 315 CD .LD 115 0672 233 9B .LD 33 0673 277 BF .LD 77 0674 323 D3 .LD 123 0675 250 A8 .LD 50 0676 310 C8 .LD 110 0677 302 C2 .LD 102 0700 246 A6 .LD 46 0701 312 CA .LD 112 0702 301 C1 .LD 101 0703 242 A2 .LD 42 0704 303 C3 .LD 103 0705 320 D0 .LD 120 0706 322 D2 .LD 122 0707 304 C4 .LD 104 0710 336 DE .LD 136 0711 331 D9 .LD 131 0712 321 D1 .LD 121 0713 337 DF .LD 137 0714 330 D8 .LD 130 0715 212 8A .LD 12 0716 374 FC .LD 174 0717 253 AB .LD 53 0720 376 FE .LD 176 0721 276 BE .LD 76 0722 215 8D .LD 15 0723 200 80 .LD 0 0724 332 DA .LD 132 0725 251 A9 .LD 51 0726 307 C7 .LD 107 0727 305 C5 .LD 105 0730 313 CB .LD 113 0731 274 BC .LD 74 0732 241 A1 .LD 41 0733 335 DD .LD 135 0734 024 14 IA 0735 161 71 TOSJ or KEYJ 0736 347 E7 .AD 347 0737 002 02 M2A 0740 341 E1 .LD 141 0741 041 21 KCLJ or ALMJ 0742 346 E6 .AD 346 0743 373 FB .LD 173 0744 041 21 KCLJ or ALMJ 0745 364 F4 .AD 364 0746 022 12 A2M 0747 170 78 M0 0750 141 61 UTJ 0751 370 F8 .AD 370 0752 042 22 M2U 0753 100 40 ZCAV 0754 135 5D M1|IROM|TRUJ 0755 000 00 .AD 0 (1000) 0756 100 40 ZCAV 0757 100 40 ZCAV 0760 100 40 ZCAV 0761 100 40 ZCAV 0762 121 51 TRUJ 0763 376 FE .AD 376 0764 100 40 ZCAV 0765 100 40 ZCAV 0766 131 59 M1|TRUJ 0767 346 E6 .AD 346 0770 130 58 M1 0771 002 02 M2A 0772 214 8C .LD 14 0773 102 42 M2X 0774 041 21 KCLJ or ALMJ 0775 356 EE .AD 356 0776 004 04 DXDY 0777 022 12 A2M 1000 014 0C ZXZY|DXDY 1001 050 28 IXDY 1002 142 62 M2B 1003 072 3A IX|B2M 1004 006 06 DXDY|M2A 1005 026 16 IA|A2M 1006 070 38 IX 1007 111 49 ZA|PRQJ or AEM2J 1010 014 0C .AD 14 1011 002 02 M2A 1012 026 16 IA|A2M 1013 060 30 CBFF 1014 074 3C IX|IY 1015 364 F4 .LD 164 1016 102 42 M2X 1017 002 02 M2A 1020 026 16 IA|A2M 1021 075 3D IX|IY|FRQJ or ADXJ 1022 120 50 .AD 120 1023 104 44 DY 1024 200 80 .LD 0 1025 142 62 M2B 1026 070 38 IX 1027 072 3A IX|B2M 1030 014 0C ZXZY|DXDY 1031 072 3A IX|B2M 1032 073 3B IX|B2M|FRQJ or ADXJ 1033 130 58 .AD 130 ; end of char line handling 1034 214 8C .LD 14 ;M(177,37) 1035 002 02 M2A 1036 365 F5 .LD 165 ;init video scan count 1037 004 04 DXDY ;M(176,36) - SILO counter? 1040 041 21 ALMJ 1041 146 66 .AD 146 (1146) 1042 144 64 DX 1043 034 1C X8|IA ;printer SILO counter? 1044 045 25 IA1|ALMJ 1045 054 2C .AD 54 (1054) 1046 070 38 IX 1047 002 02 M2A ;screen cursor line 1050 030 18 X8 1051 144 64 DX ;EOS count? 1052 041 21 ALMJ 1053 132 5A .AD 132 (1132) ; handle printer SILO (?) 1054 016 0E ZXZY|DXDY|M2A ;165 initially 1055 170 78 M0 1056 145 65 DX|UTJ ;LF buffer 1057 100 40 .AD 100 (1100) ;is transmitting 1060 130 58 M1 1061 041 21 ALMJ 1062 066 36 .AD 66 (1066) 1063 115 4D ZA|DY|AEM2J ;SILO counter 1064 075 3D .AD 75 (1075) 1065 064 34 IY ;not empty 1066 004 04 DXDY 1067 051 29 IXDY|ALMJ 1070 100 40 .AD 100 1071 223 93 .LD 23 1072 042 22 M2U 1073 135 5D M1|IROM|TRUJ 1074 376 FE .AD 376 (1776) ; SILO empty. AC=0 1075 144 64 DX 1076 031 19 X8|AEMJ ;printer SILO count 1077 102 42 .AD 102 (1102) ;end of SILO handling (?) 1100 135 5D M1|IROM|TRUJ 1101 214 8C .AD 214 (1614) ; printer SILO empty 1102 050 28 IXDY 1103 031 19 X8|AEMJ ;M(176,35) ON/XOFF? 1104 111 49 .AD 111 (1111) 1105 221 91 .LD 21 1106 042 22 M2U 1107 023 13 A2M|AEMJ ;always taken 1110 100 40 .AD 100 (1100) ; clear all 4 SILO pointers 1111 144 64 DX 1112 022 12 A2M 1113 032 1A X8|A2M 1114 144 64 DX 1115 022 12 A2M 1116 033 1B X8|A2M|AEMJ ;always taken 1117 100 40 .AD 100 (1100) 1120 216 8E .LD 16 1121 002 02 M2A 1122 104 44 DY 1123 041 21 KCLJ or ALMJ 1124 130 58 .AD 130 1125 010 08 ZXZY 1126 051 29 IXDY|KCLJ or ALMJ 1127 153 6B .AD 153 ; wait for top of screen jump 1130 135 5D M1|IROM|TRUJ 1131 024 14 .AD 24 (1424) ; handle EOS (what is that?) 1132 010 08 ZXZY 1133 051 29 IXDY|ALMJ ;M(1,37) ??? 1134 054 2C .AD 54 (1054) 1135 014 0C ZXZY|DXDY 1136 144 64 DX ;M(176,37) LF buffer? 1137 111 49 ZA|AEM2J 1140 225 95 .AD 225 (1225) 1141 114 4C ZA|DY 1142 115 4D ZA|DY|AEM2J 1143 054 2C .AD 54 (1054) 1144 135 5D M1|IROM|TRUJ 1145 141 61 .AD 141 (1541) ; handle SILO (?) 1146 064 34 IY 1147 111 49 ZA|PRQJ or AEM2J 1150 225 95 .AD 225 1151 135 5D M1|IROM|TRUJ 1152 155 6D .AD 155 1153 004 04 DXDY 1154 030 18 X8 1155 142 62 M2B 1156 104 44 DY 1157 002 02 M2A 1160 320 D0 .LD 120 1161 021 11 TABJ or AEMJ 1162 204 84 .AD 204 1163 026 16 IA|A2M 1164 112 4A ZA|M2X 1165 040 20 B2Y 1166 030 18 X8 1167 146 66 DX|M2B 1170 101 41 PRQJ or AEM2J 1171 202 82 .AD 202 1172 014 0C ZXZY|DXDY 1173 062 32 B2M 1174 002 02 M2A 1175 240 A0 .LD 40 1176 041 21 KCLJ or ALMJ 1177 223 93 .AD 223 1200 135 5D M1|IROM|TRUJ 1201 267 B7 .AD 267 1202 071 39 IX|FRQJ or ADXJ 1203 170 78 .AD 170 1204 010 08 ZXZY 1205 050 28 IXDY 1206 002 02 M2A 1207 026 16 IA|A2M 1210 030 18 X8 1211 006 06 DXDY|M2A 1212 230 98 .LD 30 1213 045 25 IA1|KCLJ or ALMJ 1214 216 8E .AD 216 1215 110 48 ZA 1216 022 12 A2M 1217 104 44 DY 1220 200 80 .LD 0 1221 014 0C ZXZY|DXDY 1222 215 8D .LD 15 1223 135 5D M1|IROM|TRUJ 1224 266 B6 .AD 266 ;here with X=176 Y=37 1225 115 4D ZA|DY|AEM2J ;SILO counter?? 1226 054 2C .AD 54 (1054) 1227 002 02 M2A 1230 164 74 DA 1231 022 12 A2M 1232 144 64 DX 1233 006 06 DXDY|M2A 1234 026 16 IA|A2M 1235 102 42 M2X 1236 104 44 DY 1237 006 06 DXDY|M2A 1240 014 0C ZXZY|DXDY 1241 366 F6 .LD 166 1242 032 1A X8|A2M 1243 142 62 M2B 1244 151 69 ZX|UTJ or VSCJ 1245 244 A4 .AD 244 1246 111 49 ZA|PRQJ or AEM2J 1247 345 E5 .AD 345 1250 045 25 IA1|KCLJ or ALMJ 1251 257 AF .AD 257 1252 062 32 B2M 1253 002 02 M2A 1254 330 D8 .LD 130 1255 021 11 TABJ or AEMJ 1256 270 B8 .AD 270 1257 062 32 B2M 1260 002 02 M2A 1261 233 9B .LD 33 1262 201 81 .LD 1 1263 200 80 .LD 0 1264 021 11 TABJ or AEMJ 1265 262 B2 .AD 262 1266 135 5D M1|IROM|TRUJ 1267 267 B7 .AD 267 1270 230 98 .LD 30 1271 143 63 M2B|UTJ or VSCJ 1272 263 B3 .AD 263 1273 200 80 .LD 0 1274 070 38 IX 1275 124 54 IROM 1276 340 E0 .LD 140 1277 025 15 IA|TABJ or AEMJ 1300 177 7F .AD 177 1301 025 15 IA|TABJ or AEMJ 1302 371 F9 .AD 371 1303 025 15 IA|TABJ or AEMJ 1304 356 EE .AD 356 1305 025 15 IA|TABJ or AEMJ 1306 053 2B .AD 53 1307 025 15 IA|TABJ or AEMJ 1310 054 2C .AD 54 1311 025 15 IA|TABJ or AEMJ 1312 062 32 .AD 62 1313 025 15 IA|TABJ or AEMJ 1314 063 33 .AD 63 1315 337 DF .LD 137 1316 025 15 IA|TABJ or AEMJ 1317 353 EB .AD 353 1320 025 15 IA|TABJ or AEMJ 1321 355 ED .AD 355 1322 316 CE .LD 116 1323 025 15 IA|TABJ or AEMJ 1324 202 82 .AD 202 1325 025 15 IA|TABJ or AEMJ 1326 314 CC .AD 314 1327 025 15 IA|TABJ or AEMJ 1330 246 A6 .AD 246 1331 025 15 IA|TABJ or AEMJ 1332 344 E4 .AD 344 1333 314 CC .LD 114 1334 025 15 IA|TABJ or AEMJ 1335 262 B2 .AD 262 1336 025 15 IA|TABJ or AEMJ 1337 064 34 .AD 64 1340 332 DA .LD 132 1341 021 11 TABJ or AEMJ 1342 226 96 .AD 226 1343 131 59 M1|TRUJ 1344 034 1C .AD 34 1345 014 0C ZXZY|DXDY 1346 030 18 X8 1347 002 02 M2A 1350 241 A1 .LD 41 1351 045 25 IA1|KCLJ or ALMJ 1352 376 FE .AD 376 1353 144 64 DX 1354 164 74 DA 1355 041 21 KCLJ or ALMJ 1356 273 BB .AD 273 1357 124 54 IROM 1360 111 49 ZA|PRQJ or AEM2J 1361 302 C2 .AD 302 1362 045 25 IA1|KCLJ or ALMJ 1363 067 37 .AD 67 1364 062 32 B2M 1365 002 02 M2A 1366 100 40 ZCAV 1367 100 40 ZCAV 1370 124 54 IROM 1371 230 98 .LD 30 1372 041 21 KCLJ or ALMJ 1373 060 30 .AD 60 1374 131 59 M1|TRUJ 1375 130 58 .AD 130 1376 234 9C .LD 34 1377 021 11 TABJ or AEMJ 1400 375 FD .AD 375 1401 217 8F .LD 17 1402 025 15 IA|TABJ or AEMJ 1403 175 7D .AD 175 1404 214 8C .LD 14 1405 021 11 TABJ or AEMJ 1406 121 51 .AD 121 1407 025 15 IA|TABJ or AEMJ 1410 236 9E .AD 236 1411 025 15 IA|TABJ or AEMJ 1412 202 82 .AD 202 1413 025 15 IA|TABJ or AEMJ 1414 057 2F .AD 57 1415 016 0E ZXZY|DXDY|M2A 1416 215 8D .LD 15 1417 021 11 TABJ or AEMJ 1420 265 B5 .AD 265 1421 366 F6 .LD 166 1422 021 11 TABJ or AEMJ 1423 214 8C .AD 214 ; wait for top of screen 1424 016 0E ZXZY|DXDY|M2A 1425 175 7D M0|DA|TOSJ 1426 024 14 .AD 24 (1424) ; top of screen 1427 061 31 ADXJ 1430 062 32 .AD 62 (1462) ;this is the normal case ; complement cursor maybe? 1431 330 D8 .LD 130 1432 135 5D M1|IROM|TRUJ 1433 130 58 .AD 130 1434 025 15 IA|TABJ or AEMJ 1435 216 8E .AD 216 1436 025 15 IA|TABJ or AEMJ 1437 104 44 .AD 104 1440 025 15 IA|TABJ or AEMJ 1441 336 DE .AD 336 1442 025 15 IA|TABJ or AEMJ 1443 261 B1 .AD 261 1444 025 15 IA|TABJ or AEMJ 1445 171 79 .AD 171 1446 174 7C M0|DA 1447 025 15 IA|TABJ or AEMJ 1450 047 27 .AD 47 1451 027 17 IA|A2M|TABJ or AEMJ 1452 214 8C .AD 214 1453 064 34 IY 1454 050 28 IXDY 1455 073 3B IX|B2M|FRQJ or ADXJ 1456 177 7F .AD 177 1457 050 28 IXDY 1460 050 28 IXDY 1461 030 18 X8 ;init new frame 1462 363 F3 .LD 163 1463 216 8E .LD 16 ;not quite sure what's happening here 1464 112 4A ZA|M2X 1465 027 17 IA|A2M|AEMJ ;always taken 1466 214 8C .AD 214 (1614) 1467 062 32 B2M 1470 002 02 M2A 1471 200 80 .LD 0 1472 050 28 IXDY 1473 104 44 DY 1474 100 40 ZCAV 1475 100 40 ZCAV 1476 320 D0 .LD 120 1477 041 21 KCLJ or ALMJ 1500 173 7B .AD 173 1501 317 CF .LD 117 1502 131 59 M1|TRUJ 1503 214 8C .AD 214 1504 006 06 DXDY|M2A 1505 164 74 DA 1506 041 21 KCLJ or ALMJ 1507 351 E9 .AD 351 1510 150 68 ZX 1511 111 49 ZA|PRQJ or AEM2J 1512 116 4E .AD 116 1513 002 02 M2A 1514 164 74 DA 1515 022 12 A2M 1516 227 97 .LD 27 1517 143 63 M2B|UTJ or VSCJ 1520 166 76 .AD 166 1521 115 4D ZA|DY|PRQJ or AEM2J 1522 133 5B .AD 133 1523 156 6E ZX|DX|M2B 1524 030 18 X8 1525 072 3A IX|B2M 1526 114 4C ZA|DY 1527 022 12 A2M 1530 010 08 ZXZY 1531 050 28 IXDY 1532 377 FF .LD 177 1533 014 0C ZXZY|DXDY 1534 030 18 X8 1535 006 06 DXDY|M2A 1536 227 97 .LD 27 1537 041 21 KCLJ or ALMJ 1540 252 AA .AD 252 1541 010 08 ZXZY 1542 050 28 IXDY 1543 030 18 X8 1544 115 4D ZA|DY|PRQJ or AEM2J 1545 153 6B .AD 153 1546 115 4D ZA|DY|PRQJ or AEM2J 1547 374 FC .AD 374 1550 002 02 M2A 1551 164 74 DA 1552 022 12 A2M 1553 014 0C ZXZY|DXDY 1554 144 64 DX 1555 200 80 .LD 0 1556 104 44 DY 1557 152 6A ZX|M2B 1560 002 02 M2A 1561 230 98 .LD 30 1562 045 25 IA1|KCLJ or ALMJ 1563 165 75 .AD 165 1564 110 48 ZA 1565 022 12 A2M 1566 154 6C ZX|DX 1567 063 33 B2M|FRQJ or ADXJ 1570 234 9C .AD 234 1571 071 39 IX|FRQJ or ADXJ 1572 376 FE .AD 376 1573 155 6D ZX|DX|UTJ or VSCJ 1574 200 80 .AD 200 1575 014 0C ZXZY|DXDY 1576 114 4C ZA|DY 1577 114 4C ZA|DY 1600 023 13 A2M|TABJ or AEMJ 1601 214 8C .AD 214 1602 114 4C ZA|DY 1603 114 4C ZA|DY 1604 031 19 X8|TABJ or AEMJ 1605 214 8C .AD 214 1606 154 6C ZX|DX 1607 002 02 M2A 1610 164 74 DA 1611 041 21 KCLJ or ALMJ 1612 200 80 .AD 200 1613 227 97 .LD 27 ;jump to new line 1614 135 5D M1|IROM|TRUJ 1615 130 58 .AD 130 (0130) 1616 006 06 DXDY|M2A 1617 144 64 DX 1620 036 1E X8|IA|A2M 1621 156 6E ZX|DX|M2B 1622 002 02 M2A 1623 004 04 DXDY 1624 032 1A X8|A2M 1625 014 0C ZXZY|DXDY 1626 104 44 DY 1627 156 6E ZX|DX|M2B 1630 104 44 DY 1631 002 02 M2A 1632 071 39 IX|FRQJ or ADXJ 1633 232 9A .AD 232 1634 135 5D M1|IROM|TRUJ 1635 204 84 .AD 204 1636 014 0C ZXZY|DXDY 1637 050 28 IXDY 1640 006 06 DXDY|M2A 1641 310 C8 .LD 110 1642 041 21 KCLJ or ALMJ 1643 046 26 .AD 46 1644 131 59 M1|TRUJ 1645 317 CF .AD 317 1646 006 06 DXDY|M2A 1647 227 97 .LD 27 1650 021 11 TABJ or AEMJ 1651 214 8C .AD 214 1652 026 16 IA|A2M 1653 154 6C ZX|DX 1654 002 02 M2A 1655 230 98 .LD 30 1656 045 25 IA1|KCLJ or ALMJ 1657 200 80 .AD 200 1660 377 FF .LD 177 1661 200 80 .LD 0 1662 112 4A ZA|M2X 1663 023 13 A2M|TABJ or AEMJ 1664 214 8C .AD 214 1665 212 8A .LD 12 1666 142 62 M2B 1667 014 0C ZXZY|DXDY 1670 030 18 X8 1671 144 64 DX 1672 006 06 DXDY|M2A 1673 026 16 IA|A2M 1674 006 06 DXDY|M2A 1675 026 16 IA|A2M 1676 102 42 M2X 1677 004 04 DXDY 1700 063 33 B2M|FRQJ or ADXJ 1701 015 0D .AD 15 1702 072 3A IX|B2M 1703 002 02 M2A 1704 070 38 IX 1705 041 21 KCLJ or ALMJ 1706 322 D2 .AD 322 1707 104 44 DY 1710 156 6E ZX|DX|M2B 1711 106 46 DY|M2X 1712 040 20 B2Y 1713 022 12 A2M 1714 014 0C ZXZY|DXDY 1715 050 28 IXDY 1716 006 06 DXDY|M2A 1717 024 14 IA 1720 131 59 M1|TRUJ 1721 076 3E .AD 76 1722 070 38 IX 1723 336 DE .LD 136 1724 041 21 KCLJ or ALMJ 1725 307 C7 .AD 307 1726 100 40 ZCAV 1727 100 40 ZCAV 1730 100 40 ZCAV 1731 100 40 ZCAV 1732 100 40 ZCAV 1733 100 40 ZCAV 1734 027 17 IA|A2M|TABJ or AEMJ 1735 307 C7 .AD 307 1736 004 04 DXDY 1737 200 80 .LD 0 1740 152 6A ZX|M2B 1741 154 6C ZX|DX 1742 063 33 B2M|FRQJ or ADXJ 1743 177 7F .AD 177 1744 004 04 DXDY 1745 111 49 ZA|PRQJ or AEM2J 1746 214 8C .AD 214 1747 002 02 M2A 1750 164 74 DA 1751 023 13 A2M|TABJ or AEMJ 1752 206 86 .AD 206 1753 151 69 ZX|UTJ or VSCJ 1754 200 80 .AD 200 1755 110 48 ZA 1756 010 08 ZXZY 1757 054 2C IXDY|IA1 1760 350 E8 .LD 150 1761 061 31 FRQJ or ADXJ 1762 365 F5 .AD 365 1763 377 FF .LD 177 1764 150 68 ZX 1765 006 06 DXDY|M2A 1766 150 68 ZX 1767 032 1A X8|A2M 1770 110 48 ZA 1771 104 44 DY 1772 023 13 A2M|TABJ or AEMJ 1773 015 0D .AD 15 1774 014 0C ZXZY|DXDY 1775 144 64 DX 1776 377 FF .LD 177 1777 131 59 M1|TRUJ