more Z80 work

This commit is contained in:
FeralChild64 committed 2020-12-29 23:02:12 +01:00
1 parent eab6efbe07
commit f7acce62b3
7 files changed
+608 -210

No files matched your search

+62 -61
View File
@@ -1,72 +1,73 @@
!addr REG_AF = $02 ; 16-bit combined register
!addr REG_F = REG_AF+0 ; 8-bit flag register
!addr REG_A = REG_AF+1 ; 8-bit accumulator
!addr REG_BC = $04
!addr REG_C = REG_BC+0
!addr REG_B = REG_BC+1
!addr REG_DE = $06
!addr REG_E = REG_DE+0
!addr REG_D = REG_DE+1
!addr REG_HL = $08
!addr REG_L = REG_HL+0
!addr REG_H = REG_HL+1
!addr REG_AF = $02 ; 16-bit combined register
!addr REG_F = REG_AF+0 ; 8-bit flag register
!addr REG_A = REG_AF+1 ; 8-bit accumulator
!addr REG_BC = $04
!addr REG_C = REG_BC+0
!addr REG_B = REG_BC+1
!addr REG_DE = $06
!addr REG_E = REG_DE+0
!addr REG_D = REG_DE+1
!addr REG_HL = $08
!addr REG_L = REG_HL+0
!addr REG_H = REG_HL+1
!addr REG_F_SH = $0A ; shadow registers
!addr REG_A_SH = $0B
!addr REG_C_SH = $0C
!addr REG_B_SH = $0D
!addr REG_E_SH = $0E
!addr REG_D_SH = $0F
!addr REG_L_SH = $10
!addr REG_H_SH = $11
!addr REG_F_SH = $0A ; shadow registers
!addr REG_A_SH = $0B
!addr REG_C_SH = $0C
!addr REG_B_SH = $0D
!addr REG_E_SH = $0E
!addr REG_D_SH = $0F
!addr REG_L_SH = $10
!addr REG_H_SH = $11
!addr REG_IX = $12 ; 16-bit index register
!addr REG_IXL = $12
!addr REG_IXH = $13
!addr REG_IY = $14 ; 16-bit index register
!addr REG_IYL = $14
!addr REG_IYH = $15
!addr REG_SP = $16 ; 16-bit stack pointer
!addr REG_PC = $18 ; 16-bit program counter
!addr REG_IX = $12 ; 16-bit index register
!addr REG_IXL = $12
!addr REG_IXH = $13
!addr REG_IY = $14 ; 16-bit index register
!addr REG_IYL = $14
!addr REG_IYH = $15
!addr REG_SP = $16 ; 16-bit stack pointer
!addr REG_PC = $18 ; 16-bit program counter
!addr REG_I = $1A ; 8-bit interrupt vector base
!addr REG_R06 = $1B ; refresh counter, bits 0-6 (bit 7 is garbage)
!addr REG_R7 = $1C ; refresh counter, bit 7 (bits 0-6 are garbage)
!addr REG_I = $1A ; 8-bit interrupt vector base
!addr REG_R06 = $1B ; refresh counter, bits 0-6 (bit 7 is garbage)
!addr REG_R7 = $1C ; refresh counter, bit 7 (bits 0-6 are garbage)
!addr PTR_IXY_d = $1D ; 16-bit calculated address IX+d / IY+d XXX - important!!!
!addr PTR_DATA = $1F ; data source address XXX - important!!!
!addr PTR_IXY_d = $1D ; 16-bit calculated address IX+d / IY+d XXX - important!!!
!addr PTR_DATA = $1F ; data source address XXX - important!!!
!addr REG_IFF1 = $23 ; interrupt flip-flop flag 1
!addr REG_IFF2 = $24 ; interrupt flip-flop flag 2
!addr REG_TMP1 = $25 ; emulation-specific temporary storage
!addr REG_TMP2 = $26
!addr ADDR_IO = $27 ; 16-bit address for fetching/storing the IO
!addr REG_IFF1 = $23 ; interrupt flip-flop flag 1
!addr REG_IFF2 = $24 ; interrupt flip-flop flag 2
!addr REG_TMP1 = $25 ; emulation-specific temporary storage
!addr REG_TMP2 = $26
!addr ADDR_IO = $27 ; 16-bit address for fetching/storing the IO
!addr VEC_MOVE_fetch = $30 ; vector to byte fetch routine, for BIOS routine MOVE
!addr VEC_MOVE_store = $32 ; vector to byte store routine, for BIOS routine MOVE
!addr VEC_DISKIO_store = $34 ; vector to byte store routine, for BIOS disk I/O operations
!addr VEC_fetch_value = $60
!addr VEC_fetch_stack = $62
!addr VEC_store_stack = $64
!addr VEC_fetch_via_BC = $66 ; XXX add routines
!addr VEC_store_via_BC = $68 ; XXX add routines
!addr VEC_fetch_via_DE = $6A ; XXX add routines
!addr VEC_store_via_DE = $6C ; XXX add routines
!addr VEC_fetch_via_HL = $6E
!addr VEC_store_via_HL = $70
!addr VEC_fetch_via_IX_d = $72
!addr VEC_fetch_via_IY_d = $74
!addr VEC_store_via_IX_d = $76
!addr VEC_store_via_IY_d = $78
!addr VEC_fetch_via_nn = $7A
!addr VEC_store_via_nn = $7C
!addr VEC_MOVE_fetch = $30 ; vector to byte fetch routine, for BIOS routine MOVE
!addr VEC_MOVE_store = $32 ; vector to byte store routine, for BIOS routine MOVE
!addr VEC_DISKIO_store = $34 ; vector to byte store routine, for BIOS disk I/O operations
!addr VEC_fetch_value = $50
!addr VEC_fetch_stack = $52
!addr VEC_store_stack = $54
!addr VEC_fetch_via_BC = $56 ; XXX add routines
!addr VEC_store_via_BC = $58 ; XXX add routines
!addr VEC_fetch_via_DE = $5A ; XXX add routines
!addr VEC_store_via_DE = $5C ; XXX add routines
!addr VEC_fetch_via_HL = $5E
!addr VEC_store_via_HL = $60
!addr VEC_fetch_via_IX_d = $62
!addr VEC_fetch_via_IY_d = $64
!addr VEC_store_via_IX_d = $66
!addr VEC_store_via_IY_d = $68
!addr VEC_fetch_via_nn = $6A
!addr VEC_store_via_nn = $6C
!addr VEC_fetch_via_plus1 = $6E ; XXX add routines
!addr VEC_store_via_plus1 = $70 ; XXX add routines XXX jump to next directly?
!addr VEC_xchng_stack_lo = $72 ; XXX add routines
!addr VEC_xchng_stack_hi = $74 ; XXX add routines
; Masks for Z80 flag (F) register