Nov 4 22:29 2002 maa.asm Page 1 1: ; -*-fundamental-*- 2: ; 3: 4: ; SIO/0 5: 0000 SIOAD equ 00H 6: 0001 SIOAC equ 01H 7: 0002 SIOBD equ 02H 8: 0003 SIOBC equ 03H 9: 10: ; 11: ; ROM area 12: ; 13: 14: 0000 ORG 0000H 15: 0000 F3 DI 16: 0001 31FFFF LD SP,0FFFFH 17: 0004 C30001 JP CSTART 18: 19: 0008 ORG 0008H 20: 21: 22: 0010 ORG 0010H 23: 0010 C35703 JP CONIN 24: 25: 0018 ORG 0018H 26: 0018 C36503 JP CONOUT 27: 28: 0020 ORG 0020H 29: 0020 C33004 JP EEREAD 30: 31: 0028 ORG 0028H 32: 0028 C36604 JP EEWRITE 33: 34: 0100 ORG 0100H 35: 0100 CSTART: 36: 0100 3EF0 LD A,0F0H 37: 0102 ED47 LD I,A 38: 39: ; Prepare interrupt vector 40: 0104 216005 LD HL,VECROM 41: 0107 1100F0 LD DE,VECTOR 42: 010A 011000 LD BC,8*2 43: 010D EDB0 LDIR 44: 45: ; Initialize SIO/0 46: 010F DB01 IN A,(SIOAC) 47: 0111 DB03 IN A,(SIOBC) 48: ; Reset both Ch. 49: 0113 3E18 LD A,18H 50: 0115 D301 OUT (SIOAC),A 51: 0117 D303 OUT (SIOBC),A 52: ; Ch.B WR2 (Vector) 53: 0119 3E02 LD A,02H 54: 011B D303 OUT (SIOBC),A 55: 011D AF XOR A 56: 011E D303 OUT (SIOBC),A Nov 4 22:29 2002 maa.asm Page 2 57: ; Ch.A WR1 58: 0120 3E01 LD A,01H 59: 0122 D301 OUT (SIOAC),A 60: 0124 3E1A LD A,1AH 61: 0126 D301 OUT (SIOAC),A 62: ; Ch.B WR1 63: 0128 3E01 LD A,01H 64: 012A D303 OUT (SIOBC),A 65: 012C 3E1E LD A,1EH 66: 012E D303 OUT (SIOBC),A 67: ; Ch.A WR4 68: 0130 3E04 LD A,04H 69: 0132 D301 OUT (SIOAC),A 70: 0134 3E44 LD A,44H 71: 0136 D301 OUT (SIOAC),A 72: ; Ch.A WR3 73: 0138 3E03 LD A,03H 74: 013A D301 OUT (SIOAC),A 75: 013C 3EC1 LD A,0C1H 76: 013E D301 OUT (SIOAC),A 77: ; Ch.A WR5 78: 0140 3E05 LD A,05H 79: 0142 D301 OUT (SIOAC),A 80: 0144 3E68 LD A,68H 81: 0146 D301 OUT (SIOAC),A 82: 83: ; Check ROM sum 84: 0148 210000 LD HL,0 85: 014B DD210000 LD IX,0000H 86: 014F 010080 LD BC,8000H 87: 0152 1600 LD D,0 88: 0154 RS0: 89: 0154 DD5E00 LD E,(IX) 90: 0157 19 ADD HL,DE 91: 0158 DD23 INC IX 92: 015A 0B DEC BC 93: 015B 78 LD A,B 94: 015C B1 OR C 95: 015D 20F5 JR NZ,RS0 96: 015F 2280F1 LD (ROMSUM),HL 97: 98: 0162 210080 LD HL,8000H 99: 0165 2282F1 LD (DSADDR),HL 100: 0168 2299F1 LD (SADDR),HL 101: 102: ; Main loop 103: 016B 213405 LD HL,OPNMSG0 104: 016E CD7003 CALL STROUT 105: 0171 2A80F1 LD HL,(ROMSUM) 106: 0174 CD7903 CALL HEXOUT4 107: 0177 214A05 LD HL,OPNMSG1 108: 017A CD7003 CALL STROUT 109: 017D MAIN0: 110: 017D 214E05 LD HL,PROMPT 111: 0180 CD7003 CALL STROUT 112: 0183 CD9C03 CALL GETLIN Nov 4 22:29 2002 maa.asm Page 3 113: 0186 2100F1 LD HL,INBUF 114: 0189 CDE403 CALL SKIPSP 115: 018C CDEB03 CALL UPPER 116: 018F B7 OR A 117: 0190 28EB JR Z,MAIN0 118: 0192 FE40 CP '@' 119: 0194 2816 JR Z,BOOT 120: 0196 FE44 CP 'D' 121: 0198 2844 JR Z,DUMP 122: 019A FE47 CP 'G' 123: 019C CAD802 JP Z,GO 124: 019F FE53 CP 'S' 125: 01A1 CAF002 JP Z,SETM 126: 01A4 ERR: 127: 01A4 215105 LD HL,ERRMSG 128: 01A7 CD7003 CALL STROUT 129: 01AA 18D1 JR MAIN0 130: 131: 01AC BOOT: ; Boot Minami-Aoyama 132: 01AC 23 INC HL 133: 01AD CDE403 CALL SKIPSP 134: 01B0 CDF403 CALL RDHEX0 135: 01B3 79 LD A,C 136: 01B4 B7 OR A 137: 01B5 2012 JR NZ,BT1 138: 01B7 7E LD A,(HL) 139: 01B8 B7 OR A 140: 01B9 20E9 JR NZ,ERR 141: 01BB BT0: 142: 01BB 210020 LD HL,2000H 143: 01BE 110090 LD DE,9000H 144: 01C1 012058 LD BC,5820H 145: 01C4 EDB0 LDIR 146: 01C6 C30090 JP 9000H 147: 01C9 BT1: 148: 01C9 7E LD A,(HL) 149: 01CA B7 OR A 150: 01CB 20D7 JR NZ,ERR 151: 01CD 7A LD A,D 152: 01CE B3 OR E 153: 01CF 28EA JR Z,BT0 154: 01D1 210020 LD HL,2000H 155: 01D4 110090 LD DE,9000H 156: 01D7 012058 LD BC,5820H 157: 01DA EDB0 LDIR 158: 01DC 189F JR MAIN0 159: 160: 01DE DUMP: ; Dump memory 161: 01DE 23 INC HL 162: 01DF CDE403 CALL SKIPSP 163: 01E2 CDF403 CALL RDHEX0 ; 1st arg. 164: 01E5 79 LD A,C 165: 01E6 B7 OR A 166: 01E7 2013 JR NZ,DP0 167: ; No arg. 168: 01E9 CDE403 CALL SKIPSP Nov 4 22:29 2002 maa.asm Page 4 169: 01EC 7E LD A,(HL) 170: 01ED B7 OR A 171: 01EE 20B4 JR NZ,ERR 172: 01F0 2A82F1 LD HL,(DSADDR) 173: 01F3 018000 LD BC,128 174: 01F6 09 ADD HL,BC 175: 01F7 2284F1 LD (DEADDR),HL 176: 01FA 1830 JR DPM 177: 178: 01FC DP0: ; 1st arg. found 179: 01FC ED5382F1 LD (DSADDR),DE 180: 0200 CDE403 CALL SKIPSP 181: 0203 7E LD A,(HL) 182: 0204 FE2C CP ',' 183: 0206 280C JR Z,DP1 184: 0208 B7 OR A 185: 0209 2099 JR NZ,ERR 186: ; No 2nd arg. 187: 020B 218000 LD HL,128 188: 020E 19 ADD HL,DE 189: 020F 2284F1 LD (DEADDR),HL 190: 0212 1818 JR DPM 191: 0214 DP1: 192: 0214 23 INC HL 193: 0215 CDE403 CALL SKIPSP 194: 0218 CDF403 CALL RDHEX0 195: 021B CDE403 CALL SKIPSP 196: 021E 79 LD A,C 197: 021F B7 OR A 198: 0220 2882 JR Z,ERR 199: 0222 7E LD A,(HL) 200: 0223 B7 OR A 201: 0224 C2A401 JP NZ,ERR 202: 0227 13 INC DE 203: 0228 ED5384F1 LD (DEADDR),DE 204: 022C DPM: 205: ; DUMP main 206: 022C 2A82F1 LD HL,(DSADDR) 207: 022F 3EF0 LD A,0F0H 208: 0231 A5 AND A,L 209: 0232 6F LD L,A 210: 0233 AF XOR A 211: 0234 3296F1 LD (DSTATE),A 212: 0237 DPM0: 213: 0237 E5 PUSH HL 214: 0238 CD5202 CALL DPL 215: 023B E1 POP HL 216: 023C 011000 LD BC,16 217: 023F 09 ADD HL,BC 218: 0240 CD6003 CALL CONST 219: 0243 2007 JR NZ,DPM1 220: 0245 3A96F1 LD A,(DSTATE) 221: 0248 FE02 CP 2 222: 024A 38EB JR C,DPM0 223: 024C DPM1: 224: 024C 2282F1 LD (DSADDR),HL Nov 4 22:29 2002 maa.asm Page 5 225: 024F C37D01 JP MAIN0 226: 227: 0252 DPL: ; Dump line 228: 0252 CD7903 CALL HEXOUT4 229: 0255 E5 PUSH HL 230: 0256 215905 LD HL,DSEP0 231: 0259 CD7003 CALL STROUT 232: 025C E1 POP HL 233: 025D DD2186F1 LD IX,ASCBUF 234: 0261 0610 LD B,16 235: 0263 DPL0: 236: 0263 CD8C02 CALL DPB 237: 0266 10FB DJNZ DPL0 238: 239: 0268 215C05 LD HL,DSEP1 240: 026B CD7003 CALL STROUT 241: 242: 026E 2186F1 LD HL,ASCBUF 243: 0271 0610 LD B,16 244: 0273 DPL1: 245: 0273 7E LD A,(HL) 246: 0274 23 INC HL 247: 0275 FE20 CP ' ' 248: 0277 3809 JR C,DPL2 249: 0279 FE7F CP 7FH 250: 027B 3005 JR NC,DPL2 251: 027D CD6503 CALL CONOUT 252: 0280 1805 JR DPL3 253: 0282 DPL2: 254: 0282 3E2E LD A,'.' 255: 0284 CD6503 CALL CONOUT 256: 0287 DPL3: 257: 0287 10EA DJNZ DPL1 258: 0289 C39303 JP CRLF 259: 260: 028C DPB: ; Dump byte 261: 028C 3E20 LD A,' ' 262: 028E CD6503 CALL CONOUT 263: 0291 3A96F1 LD A,(DSTATE) 264: 0294 B7 OR A 265: 0295 2020 JR NZ,DPB2 266: ; Dump state 0 267: 0297 3A82F1 LD A,(DSADDR) ; Low byte 268: 029A BD CP L 269: 029B 2006 JR NZ,DPB0 270: 029D 3A83F1 LD A,(DSADDR+1) ; High byte 271: 02A0 BC CP H 272: 02A1 280F JR Z,DPB1 273: 02A3 DPB0: ; Still 0 or 2 274: 02A3 3E20 LD A,' ' 275: 02A5 CD6503 CALL CONOUT 276: 02A8 CD6503 CALL CONOUT 277: 02AB DD7700 LD (IX),A 278: 02AE 23 INC HL 279: 02AF DD23 INC IX 280: 02B1 C9 RET Nov 4 22:29 2002 maa.asm Page 6 281: 02B2 DPB1: ; Found start address 282: 02B2 3E01 LD A,1 283: 02B4 3296F1 LD (DSTATE),A 284: 02B7 DPB2: 285: 02B7 3A96F1 LD A,(DSTATE) 286: 02BA FE01 CP 1 287: 02BC 20E5 JR NZ,DPB0 288: ; Dump state 1 289: 02BE 7E LD A,(HL) 290: 02BF DD7700 LD (IX),A 291: 02C2 CD7E03 CALL HEXOUT2 292: 02C5 23 INC HL 293: 02C6 DD23 INC IX 294: 02C8 3A84F1 LD A,(DEADDR) ; Low byte 295: 02CB BD CP L 296: 02CC C0 RET NZ 297: 02CD 3A85F1 LD A,(DEADDR+1) ; High byte 298: 02D0 BC CP H 299: 02D1 C0 RET NZ 300: ; Found end address 301: 02D2 3E02 LD A,2 302: 02D4 3296F1 LD (DSTATE),A 303: 02D7 C9 RET 304: 305: 02D8 GO: ; Go address 306: 02D8 23 INC HL 307: 02D9 CDE403 CALL SKIPSP 308: 02DC CDF403 CALL RDHEX0 309: 02DF 7E LD A,(HL) 310: 02E0 B7 OR A 311: 02E1 C2A401 JP NZ,ERR 312: 02E4 79 LD A,C 313: 02E5 B7 OR A 314: 02E6 2804 JR Z,G0 315: 02E8 ED5397F1 LD (GADDR),DE 316: 02EC G0: 317: 02EC 2A97F1 LD HL,(GADDR) 318: 02EF E9 JP (HL) 319: 320: 02F0 SETM: ; Set memory 321: 02F0 23 INC HL 322: 02F1 CDE403 CALL SKIPSP 323: 02F4 CDF403 CALL RDHEX0 324: 02F7 CDE403 CALL SKIPSP 325: 02FA 7E LD A,(HL) 326: 02FB B7 OR A 327: 02FC C2A401 JP NZ,ERR 328: 02FF 79 LD A,C 329: 0300 B7 OR A 330: 0301 2004 JR NZ,SM0 331: 0303 ED5B99F1 LD DE,(SADDR) 332: 0307 SM0: 333: 0307 EB EX DE,HL 334: 0308 SM1: 335: 0308 CD7903 CALL HEXOUT4 336: 030B E5 PUSH HL Nov 4 22:29 2002 maa.asm Page 7 337: 030C 215C05 LD HL,DSEP1 338: 030F CD7003 CALL STROUT 339: 0312 E1 POP HL 340: 0313 7E LD A,(HL) 341: 0314 E5 PUSH HL 342: 0315 CD7E03 CALL HEXOUT2 343: 0318 3E20 LD A,' ' 344: 031A CD6503 CALL CONOUT 345: 031D CD9C03 CALL GETLIN 346: 0320 2100F1 LD HL,INBUF 347: 0323 CDE403 CALL SKIPSP 348: 0326 7E LD A,(HL) 349: 0327 B7 OR A 350: 0328 2007 JR NZ,SM2 351: ; Empty (Increment address) 352: 032A E1 POP HL 353: 032B 23 INC HL 354: 032C 2299F1 LD (SADDR),HL 355: 032F 18D7 JR SM1 356: 0331 SM2: 357: 0331 FE2D CP '-' 358: 0333 2007 JR NZ,SM3 359: ; '-' (Decrement address) 360: 0335 E1 POP HL 361: 0336 2B DEC HL 362: 0337 2299F1 LD (SADDR),HL 363: 033A 18CC JR SM1 364: 033C SM3: 365: 033C FE2E CP '.' 366: 033E 2007 JR NZ,SM4 367: 0340 E1 POP HL 368: 0341 2299F1 LD (SADDR),HL 369: 0344 C37D01 JP MAIN0 370: 0347 SM4: 371: 0347 CDF403 CALL RDHEX0 372: 034A 79 LD A,C 373: 034B B7 OR A 374: 034C E1 POP HL 375: 034D CAA401 JP Z,ERR 376: 0350 73 LD (HL),E 377: 0351 23 INC HL 378: 0352 2299F1 LD (SADDR),HL 379: 0355 18B1 JR SM1 380: 381: ; 382: ; SIO Ch.A conin/const/conout w/o interrupt 383: ; 384: 385: 0357 CONIN: 386: 0357 DB01 IN A,(SIOAC) 387: 0359 E601 AND 01H 388: 035B 28FA JR Z,CONIN 389: 035D DB00 IN A,(SIOAD) 390: 035F C9 RET 391: 392: 0360 CONST: Nov 4 22:29 2002 maa.asm Page 8 393: 0360 DB01 IN A,(SIOAC) 394: 0362 E601 AND 01H 395: 0364 C9 RET 396: 397: 0365 CONOUT: 398: 0365 F5 PUSH AF 399: 0366 CO0: 400: 0366 DB01 IN A,(SIOAC) 401: 0368 E604 AND 04H 402: 036A 28FA JR Z,CO0 403: 036C F1 POP AF 404: 036D D300 OUT (SIOAD),A 405: 036F C9 RET 406: 407: ; 408: ; Other support routines 409: ; 410: 411: 0370 STROUT: 412: 0370 7E LD A,(HL) 413: 0371 A7 AND A 414: 0372 C8 RET Z 415: 0373 CD6503 CALL CONOUT 416: 0376 23 INC HL 417: 0377 18F7 JR STROUT 418: 419: 0379 HEXOUT4: 420: 0379 7C LD A,H 421: 037A CD7E03 CALL HEXOUT2 422: 037D 7D LD A,L 423: 037E HEXOUT2: 424: 037E F5 PUSH AF 425: 037F 1F RRA 426: 0380 1F RRA 427: 0381 1F RRA 428: 0382 1F RRA 429: 0383 CD8703 CALL HEXOUT1 430: 0386 F1 POP AF 431: 0387 HEXOUT1: 432: 0387 E60F AND 0FH 433: 0389 C630 ADD A,'0' 434: 038B FE3A CP '9'+1 435: 038D 38D6 JR C,CONOUT 436: 038F C607 ADD A,'A'-'9'-1 437: 0391 18D2 JR CONOUT 438: 439: 0393 CRLF: 440: 0393 3E0D LD A,0DH 441: 0395 CD6503 CALL CONOUT 442: 0398 3E0A LD A,0AH 443: 039A 18C9 JR CONOUT 444: 445: 039C GETLIN: 446: 039C 2100F1 LD HL,INBUF 447: 039F 0600 LD B,0 448: 03A1 GL0: Nov 4 22:29 2002 maa.asm Page 9 449: 03A1 CD5703 CALL CONIN 450: 03A4 FE0D CP 0DH ; CR 451: 03A6 2836 JR Z,GLE 452: 03A8 FE0A CP 0AH ; LF 453: 03AA 2832 JR Z,GLE 454: 03AC FE08 CP 08H ; BS 455: 03AE 2817 JR Z,GLB 456: 03B0 FE20 CP ' ' 457: 03B2 38ED JR C,GL0 458: 03B4 FE80 CP 80H 459: 03B6 30E9 JR NC,GL0 460: 03B8 4F LD C,A 461: 03B9 78 LD A,B 462: 03BA FE7F CP 127 463: 03BC 30E3 JR NC,GL0 ; Too long 464: 03BE 04 INC B 465: 03BF 79 LD A,C 466: 03C0 CD6503 CALL CONOUT 467: 03C3 77 LD (HL),A 468: 03C4 23 INC HL 469: 03C5 18DA JR GL0 470: 03C7 GLB: 471: 03C7 78 LD A,B 472: 03C8 A7 AND A 473: 03C9 28D6 JR Z,GL0 474: 03CB 05 DEC B 475: 03CC 2B DEC HL 476: 03CD 3E08 LD A,08H 477: 03CF CD6503 CALL CONOUT 478: 03D2 3E20 LD A,' ' 479: 03D4 CD6503 CALL CONOUT 480: 03D7 3E08 LD A,08H 481: 03D9 CD6503 CALL CONOUT 482: 03DC 18C3 JR GL0 483: 03DE GLE: 484: 03DE CD9303 CALL CRLF 485: 03E1 3600 LD (HL),00H 486: 03E3 C9 RET 487: 488: 03E4 SKIPSP: 489: 03E4 7E LD A,(HL) 490: 03E5 FE20 CP A,' ' 491: 03E7 C0 RET NZ 492: 03E8 23 INC HL 493: 03E9 18F9 JR SKIPSP 494: 495: 03EB UPPER: 496: 03EB FE61 CP 'a' 497: 03ED D8 RET C 498: 03EE FE7B CP 'z'+1 499: 03F0 D0 RET NC 500: 03F1 C6E0 ADD A,'A'-'a' 501: 03F3 C9 RET 502: 503: 03F4 RDHEX0: 504: 03F4 0600 LD B,0 Nov 4 22:29 2002 maa.asm Page 10 505: 03F6 RDHEX: 506: 03F6 0E00 LD C,0 507: 03F8 110000 LD DE,0 508: 03FB RH0: 509: 03FB 7E LD A,(HL) 510: 03FC CDEB03 CALL UPPER 511: 03FF FE30 CP '0' 512: 0401 382C JR C,RHE 513: 0403 FE3A CP '9'+1 514: 0405 380A JR C,RH1 515: 0407 FE41 CP 'A' 516: 0409 3824 JR C,RHE 517: 040B FE47 CP 'F'+1 518: 040D 3020 JR NC,RHE 519: 040F D607 SUB 'A'-'9'-1 520: 0411 RH1: 521: 0411 D630 SUB '0' 522: 0413 17 RLA 523: 0414 17 RLA 524: 0415 17 RLA 525: 0416 17 RLA 526: 0417 17 RLA 527: 0418 CB13 RL E 528: 041A CB12 RL D 529: 041C 17 RLA 530: 041D CB13 RL E 531: 041F CB12 RL D 532: 0421 17 RLA 533: 0422 CB13 RL E 534: 0424 CB12 RL D 535: 0426 17 RLA 536: 0427 CB13 RL E 537: 0429 CB12 RL D 538: 042B 23 INC HL 539: 042C 0C INC C 540: 042D 10CC DJNZ RH0 541: 042F RHE: 542: 042F C9 RET 543: 544: 0430 EEREAD: 545: 0430 C5 PUSH BC 546: 0431 D5 PUSH DE 547: 0432 EER0: 548: 0432 CD9104 CALL EESTART 549: 0435 3EA0 LD A,0A0H 550: 0437 CDAB04 CALL EEWBYTE 551: 043A CDBE04 CALL EERACK 552: 043D 38F3 JR C,EER0 553: 043F 7C LD A,H 554: 0440 CDAB04 CALL EEWBYTE 555: 0443 CDBE04 CALL EERACK 556: 0446 7D LD A,L 557: 0447 CDAB04 CALL EEWBYTE 558: 044A CDBE04 CALL EERACK 559: 044D CD9104 CALL EESTART 560: 0450 3EA1 LD A,0A1H Nov 4 22:29 2002 maa.asm Page 11 561: 0452 CDAB04 CALL EEWBYTE 562: 0455 CDBE04 CALL EERACK 563: 0458 CDD004 CALL EERBYTE 564: 045B F5 PUSH AF 565: 045C CDF004 CALL EEWNAK 566: 045F CD9E04 CALL EESTOP 567: 0462 F1 POP AF 568: 0463 D1 POP DE 569: 0464 C1 POP BC 570: 0465 C9 RET 571: 572: 0466 EEWRITE: 573: 0466 C5 PUSH BC 574: 0467 D5 PUSH DE 575: 0468 F5 PUSH AF 576: 0469 EEW0: 577: 0469 CD9104 CALL EESTART 578: 046C 3EA0 LD A,0A0H 579: 046E CDAB04 CALL EEWBYTE 580: 0471 CDBE04 CALL EERACK 581: 0474 38F3 JR C,EEW0 582: 0476 7C LD A,H 583: 0477 CDAB04 CALL EEWBYTE 584: 047A CDBE04 CALL EERACK 585: 047D 7D LD A,L 586: 047E CDAB04 CALL EEWBYTE 587: 0481 CDBE04 CALL EERACK 588: 0484 F1 POP AF 589: 0485 CDAB04 CALL EEWBYTE 590: 0488 CDBE04 CALL EERACK 591: 048B CD9E04 CALL EESTOP 592: 048E D1 POP DE 593: 048F C1 POP BC 594: 0490 C9 RET 595: 596: 0491 EESTART: 597: 0491 37 SCF 598: 0492 CD1005 CALL SETSCL 599: 0495 A7 AND A 600: 0496 CDFD04 CALL SETSDA 601: 0499 A7 AND A 602: 049A CD1005 CALL SETSCL 603: 049D C9 RET 604: 605: 049E EESTOP: 606: 049E A7 AND A 607: 049F CDFD04 CALL SETSDA 608: 04A2 37 SCF 609: 04A3 CD1005 CALL SETSCL 610: 04A6 37 SCF 611: 04A7 CDFD04 CALL SETSDA 612: 04AA C9 RET 613: 614: 04AB EEWBYTE: 615: 04AB 0608 LD B,8 616: 04AD EEWB0: Nov 4 22:29 2002 maa.asm Page 12 617: 04AD 17 RLA 618: 04AE F5 PUSH AF 619: 04AF CDFD04 CALL SETSDA 620: 04B2 37 SCF 621: 04B3 CD1005 CALL SETSCL 622: 04B6 A7 AND A 623: 04B7 CD1005 CALL SETSCL 624: 04BA F1 POP AF 625: 04BB 10F0 DJNZ EEWB0 626: 04BD C9 RET 627: 628: 04BE EERACK: 629: 04BE 37 SCF 630: 04BF CDFD04 CALL SETSDA 631: 04C2 37 SCF 632: 04C3 CD1005 CALL SETSCL 633: 04C6 CD2305 CALL GETSDA 634: 04C9 F5 PUSH AF 635: 04CA A7 AND A 636: 04CB CD1005 CALL SETSCL 637: 04CE F1 POP AF 638: 04CF C9 RET 639: 640: 04D0 EERBYTE: 641: 04D0 0608 LD B,8 642: 04D2 EERB0: 643: 04D2 CD2305 CALL GETSDA 644: 04D5 CB12 RL D 645: 04D7 37 SCF 646: 04D8 CD1005 CALL SETSCL 647: 04DB A7 AND A 648: 04DC CD1005 CALL SETSCL 649: 04DF 10F1 DJNZ EERB0 650: 04E1 7A LD A,D 651: 04E2 C9 RET 652: 653: 04E3 EEWACK: 654: 04E3 A7 AND A 655: 04E4 CDFD04 CALL SETSDA 656: 04E7 37 SCF 657: 04E8 CD1005 CALL SETSCL 658: 04EB A7 AND A 659: 04EC CD1005 CALL SETSCL 660: 04EF C9 RET 661: 662: 04F0 EEWNAK: 663: 04F0 37 SCF 664: 04F1 CDFD04 CALL SETSDA 665: 04F4 37 SCF 666: 04F5 CD1005 CALL SETSCL 667: 04F8 A7 AND A 668: 04F9 CD1005 CALL SETSCL 669: 04FC C9 RET 670: 671: 04FD SETSDA: 672: 04FD F3 DI Nov 4 22:29 2002 maa.asm Page 13 673: 04FE 0E00 LD C,0 674: 0500 3F CCF 675: 0501 CB19 RR C 676: 0503 3E68 LD A,68H 677: 0505 B1 OR C 678: 0506 F5 PUSH AF 679: 0507 3E05 LD A,05H ; WR5 680: 0509 D301 OUT (SIOAC),A 681: 050B F1 POP AF 682: 050C D301 OUT (SIOAC),A 683: 050E FB EI 684: 050F C9 RET 685: 686: 0510 SETSCL: 687: 0510 F3 DI 688: 0511 0E00 LD C,0 689: 0513 3F CCF 690: 0514 CB19 RR C 691: 0516 3E68 LD A,68H 692: 0518 B1 OR C 693: 0519 F5 PUSH AF 694: 051A 3E05 LD A,05H ; WR5 695: 051C D303 OUT (SIOBC),A 696: 051E F1 POP AF 697: 051F D303 OUT (SIOBC),A 698: 0521 FB EI 699: 0522 C9 RET 700: 701: 0523 GETSDA: 702: 0523 F3 DI 703: 0524 3E10 LD A,010H ; 704: 0526 D301 OUT (SIOAC),A 705: 0528 DB01 IN A,(SIOAC) 706: 052A 1F RRA 707: 052B 1F RRA 708: 052C 1F RRA 709: 052D 1F RRA 710: 052E 3F CCF 711: 052F FB EI 712: 0530 C9 RET 713: 714: 0531 DMYINT: 715: 0531 FB EI 716: 0532 ED4D RETI 717: 718: 0534 OPNMSG0: 719: 0534 0D0A4D41 DEFB 0DH,0AH,'MAA-1 Monitor sum=',00H 412D3120 4D6F6E69 746F7220 2073756D 3D00 720: 054A OPNMSG1: 721: 054A 680D0A00 DEFB 'h',0DH,0AH,00H 722: 723: 054E PROMPT: Nov 4 22:29 2002 maa.asm Page 14 724: 054E 5D2000 DEFB '] ',00H 725: 726: 0551 ERRMSG: 727: 0551 4572726F DEFB 'Error',0DH,0AH,00H 720D0A00 728: 729: 0559 DSEP0: 730: 0559 203A00 DEFB ' :',00H 731: 055C DSEP1: 732: 055C 203A2000 DEFB ' : ',00H 733: 734: 0560 VECROM: 735: 0560 3105 DEFW DMYINT 736: 0562 3105 DEFW DMYINT 737: 0564 3105 DEFW DMYINT 738: 0566 3105 DEFW DMYINT 739: 0568 3105 DEFW DMYINT 740: 056A 3105 DEFW DMYINT 741: 056C 3105 DEFW DMYINT 742: 056E 3105 DEFW DMYINT 743: 744: ; 745: ; RAM area 746: ; 747: 748: F000 ORG 0F000H 749: F000 VECTOR: 750: ; Interrupt vectors 751: F000 DEFS 8*2 752: 753: F100 ORG 0F100H 754: ; Work area 755: F100 INBUF: DEFS 128 ; Line input buffer 756: F180 ROMSUM: DEFS 2 ; ROM check sum 757: F182 DSADDR: DEFS 2 ; Dump start address 758: F184 DEADDR: DEFS 2 ; Dump end address 759: F186 ASCBUF: DEFS 16 ; Buffer for ASCII dump 760: F196 DSTATE: DEFS 1 ; Dump state 761: F197 GADDR: DEFS 2 ; Go address 762: F199 SADDR: DEFS 2 ; Set address 763: 764: F800 ORG 0F800H 765: F800 BUFARX: DEFS 256 766: F900 BUFATX: DEFS 256 767: FA00 BUFBRX: DEFS 256 768: FB00 BUFBTX: DEFS 256 769: 770: FC00 END Nov 4 22:29 2002 maa.asm Page 15 Statistics: 91 symbols 1155 bytes Symbol Table: ascbuf f186 dpl0 263 eewnak 4f0 rh1 411 boot 1ac dpl1 273 eewrite 466 rhe 42f bt0 1bb dpl2 282 err 1a4 romsum f180 bt1 1c9 dpl3 287 errmsg 551 rs0 154 bufarx f800+ dpm 22c g0 2ec saddr f199 bufatx f900+ dpm0 237 gaddr f197 setm 2f0 bufbrx fa00+ dpm1 24c getlin 39c setscl 510 bufbtx fb00+ dsaddr f182 getsda 523 setsda 4fd co0 366 dsep0 559 gl0 3a1 sioac = 1+ conin 357 dsep1 55c glb 3c7 sioad = 0+ conout 365 dstate f196 gle 3de siobc = 3+ const 360 dump 1de go 2d8 siobd = 2+ crlf 393 eer0 432 hexout1 387 skipsp 3e4 cstart 100 eerack 4be hexout2 37e sm0 307 deaddr f184 eerb0 4d2 hexout4 379 sm1 308 dmyint 531 eerbyte 4d0 inbuf f100 sm2 331 dp0 1fc eeread 430 main0 17d sm3 33c dp1 214 eestart 491 opnmsg0 534 sm4 347 dpb 28c eestop 49e opnmsg1 54a strout 370 dpb0 2a3 eew0 469 prompt 54e upper 3eb dpb1 2b2 eewack 4e3+ rdhex 3f6+ vecrom 560 dpb2 2b7 eewb0 4ad rdhex0 3f4 vector f000 dpl 252 eewbyte 4ab rh0 3fb