mirror of https://github.com/wwarthen/RomWBW.git
4 changed files with 153 additions and 29 deletions
@ -0,0 +1,50 @@ |
|||||
|
; |
||||
|
;================================================================================================== |
||||
|
; HELPER MACROS FOR TARGETING EZ80 CPU INSTRUCTIONS |
||||
|
;================================================================================================== |
||||
|
|
||||
|
; |
||||
|
; EMIT PREFIX REQUIRED BY EZ80 TO ENSURE CORRECT 16 BIT IO OPERATION |
||||
|
; |
||||
|
#IF (CPUFAM == CPU_EZ80) |
||||
|
#DEFINE EZ80_IO .DB $49, $CF ; RST.L $08 |
||||
|
#DEFINE EZ80_FN .DB $49, $D7 ; RST.L $10 |
||||
|
#DEFINE EZ80_BNKSEL .DB $49, $DF ; RST.L $18 |
||||
|
|
||||
|
#DEFINE RET.L .DB $49 \ RET |
||||
|
|
||||
|
#DEFINE IN0_A(p) .DB $ED,$38,p |
||||
|
#DEFINE IN0_B(p) .DB $ED,$00,p |
||||
|
#DEFINE IN0_C(p) .DB $ED,$08,p |
||||
|
#DEFINE IN0_D(p) .DB $ED,$10,p |
||||
|
#DEFINE IN0_E(p) .DB $ED,$18,p |
||||
|
#DEFINE IN0_H(p) .DB $ED,$20,p |
||||
|
#DEFINE IN0_L(p) .DB $ED,$28,p |
||||
|
|
||||
|
#DEFINE OUT0_A(p) .DB $ED,$39,p |
||||
|
#DEFINE OUT0_B(p) .DB $ED,$01,p |
||||
|
#DEFINE OUT0_C(p) .DB $ED,$09,p |
||||
|
#DEFINE OUT0_D(p) .DB $ED,$11,p |
||||
|
#DEFINE OUT0_E(p) .DB $ED,$19,p |
||||
|
#DEFINE OUT0_H(p) .DB $ED,$21,p |
||||
|
#DEFINE OUT0_L(p) .DB $ED,$29,p |
||||
|
|
||||
|
#DEFINE LDHLMM.LIL(Mmn) \ |
||||
|
#defcont \ .DB $5B |
||||
|
#defcont \ LD HL, Mmn |
||||
|
#defcont \ .DB (Mmn >> 16) & $FF |
||||
|
|
||||
|
#DEFINE LDBCMM.LIL(Mmn) \ |
||||
|
#defcont \ .DB $5B |
||||
|
#defcont \ LD BC, Mmn |
||||
|
#defcont \ .DB (Mmn >> 16) & $FF |
||||
|
|
||||
|
#DEFINE SBCHLBC.LIL \ |
||||
|
#defcont \ .DB $49 |
||||
|
#defcont \ SBC HL, BC |
||||
|
|
||||
|
IO_SEGMENT .EQU $FF ; THE UPPER 8-BIT ADDRESS FOR I/O |
||||
|
|
||||
|
#ELSE |
||||
|
#DEFINE EZ80_IO |
||||
|
#ENDIF |
||||
Binary file not shown.
Loading…
Reference in new issue