Rev 550 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 550 | Rev 596 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | 1 | ||
2 | ;www.fruitcake.plus.com |
2 | ;www.fruitcake.plus.com |
3 | 3 | ||
4 | ;LAST UPDATE: 23.01.2012 savelij |
4 | ;LAST UPDATE: 10.02.2013 savelij |
5 | 5 | ||
6 | include ../../macros.a80 |
6 | include ../../macros.a80 |
7 | 7 | ||
8 | ; ************************************** |
8 | ; ************************************** |
9 | ; *** SPECTRUM 128 ROM 0 DISASSEMBLY *** |
9 | ; *** SPECTRUM 128 ROM 0 DISASSEMBLY *** |
Line 1046... | Line 1046... | ||
1046 | L0121: JP L06D8 ; RS232 byte input routine. |
1046 | L0121: JP L06D8 ; RS232 byte input routine. |
1047 | L0124: JP L07CA ; RS232 text output routine. |
1047 | L0124: JP L07CA ; RS232 text output routine. |
1048 | L0127: JP L08A3 ; RS232 byte output routine. |
1048 | L0127: JP L08A3 ; RS232 byte output routine. |
1049 | L012A: JP L08F0 ; COPY (screen dump) routine. |
1049 | L012A: JP L08F0 ; COPY (screen dump) routine. |
1050 | L012D: RST 28H ; Call keypad scan routine in ROM 1. |
1050 | L012D: RST 28H ; Call keypad scan routine in ROM 1. |
1051 | DEFW KP_SCAN;-$0100 ; $3B01. [*BUG* - The address jumps into the middle of the keypad decode routine in ROM 1. It |
1051 | DEFW KP_SCAN-$0100 ; $3B01. [*BUG* - The address jumps into the middle of the keypad decode routine in ROM 1. It |
1052 | RET ; looks like it is supposed to deal with the keypad and so the most likely |
1052 | RET ; looks like it is supposed to deal with the keypad and so the most likely |
1053 | ; addresses are $3A42 (read keypad) or $39A0 (scan keypad). At $3C01 in |
1053 | ; addresses are $3A42 (read keypad) or $39A0 (scan keypad). At $3C01 in |
1054 | ; ROM 1 is a vector jump command to $39A0 to scan the keypad and this is |
1054 | ; ROM 1 is a vector jump command to $39A0 to scan the keypad and this is |
1055 | ; similar enough to the $3B01 to imply a simple error in one of the bytes. Credit: Paul Farrow] |
1055 | ; similar enough to the $3B01 to imply a simple error in one of the bytes. Credit: Paul Farrow] |
1056 | 1056 | ||
Line 7332... | Line 7332... | ||
7332 | POP HL ; Remove error handler address. |
7332 | POP HL ; Remove error handler address. |
7333 | 7333 | ||
7334 | LD HL,MAIN_4 ; $1303. The main execution loop within ROM 1. |
7334 | LD HL,MAIN_4 ; $1303. The main execution loop within ROM 1. |
7335 | PUSH HL ; |
7335 | PUSH HL ; |
7336 | 7336 | ||
7337 | LD HL,3 ; $0003. Address of a $FF byte within ROM 1, used to generate error report "0 OK". |
7337 | LD HL,0X13;3 ; $0003. Address of a $FF byte within ROM 1, used to generate error report "0 OK". |
7338 | PUSH HL ; |
7338 | PUSH HL ; |
7339 | LD HL,ERROR_1 ; $0008. The address of the error handler within ROM 1. |
7339 | LD HL,ERROR_1 ; $0008. The address of the error handler within ROM 1. |
7340 | PUSH HL ; |
7340 | PUSH HL ; |
7341 | 7341 | ||
7342 | ; [*BUG* - Although the channel 'P' information has been reconfigured to use the ZX Printer, the ZX printer buffer and |
7342 | ; [*BUG* - Although the channel 'P' information has been reconfigured to use the ZX Printer, the ZX printer buffer and |