|
|
|
@ -7,10 +7,79 @@ |
|
|
|
; RAMPGZ AND ROMPGZ ARE SHORTCUTS TO PAGE IN THE RAM/ROM ZERO PAGE. |
|
|
|
;______________________________________________________________________________________________________________________ |
|
|
|
; |
|
|
|
#IF (PLATFORM = PLT_N8) |
|
|
|
|
|
|
|
|
|
|
|
;______________________________________________________________________________________________________________________; |
|
|
|
; MACROS TO PERFORM RAM/ROM PAGE SELECTION INTO LOWER 32K OF MEMORY SPACE |
|
|
|
; PGRAM(P) SELECT RAM PAGE P |
|
|
|
; PGRAMF(P) SELECT RAM PAGE P, FAST VERSION ASSUMES CURRENT PAGE IS A RAM PAGE |
|
|
|
; PGROM(P) SELECT ROM PAGE P |
|
|
|
; PGROMF(P) SELECT ROM PAGE P, FAST VERSION ASSUMES CURRENT PAGE IS A ROM PAGE |
|
|
|
; |
|
|
|
; REGISTER A IS DESTROYED |
|
|
|
;______________________________________________________________________________________________________________________ |
|
|
|
; |
|
|
|
|
|
|
|
#IF (PLATFORM == PLT_N8VEM) |
|
|
|
RAMPGZ: ; SELECT RAM PAGE ZERO |
|
|
|
XOR A |
|
|
|
RAMPG: |
|
|
|
OR 80H ; TURN ON BIT 7 TO SELECT RAM PAGES |
|
|
|
JR PGSEL |
|
|
|
|
|
|
|
ROMPGZ: ; SELECT ROM PAGE ZERO |
|
|
|
XOR A |
|
|
|
ROMPG: |
|
|
|
AND 7FH ; TURN OFF BIT 7 TO SELECT ROM PAGES |
|
|
|
JR PGSEL |
|
|
|
|
|
|
|
PGSEL: |
|
|
|
OUT (MPCL_ROM),A |
|
|
|
OUT (MPCL_RAM),A |
|
|
|
RET |
|
|
|
|
|
|
|
#DEFINE PGRAM(P) LD A,P | 80H \ OUT (MPCL_ROM),A \ OUT (MPCL_RAM),A |
|
|
|
#DEFINE PGRAMF(P) LD A,P | 80H \ OUT (MPCL_RAM),A |
|
|
|
|
|
|
|
#DEFINE PGROM(P) LD A,P & 7FH \ OUT (MPCL_ROM),A \ OUT (MPCL_RAM),A |
|
|
|
#DEFINE PGROMF(P) LD A,P & 7FH \ OUT (MPCL_ROM),A |
|
|
|
|
|
|
|
#ENDIF |
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|
|
|
#IF (PLATFORM == PLT_ZETA) |
|
|
|
RAMPGZ: ; SELECT RAM PAGE ZERO |
|
|
|
XOR A |
|
|
|
RAMPG: |
|
|
|
OR 80H ; TURN ON BIT 7 TO SELECT RAM PAGES |
|
|
|
JR PGSEL |
|
|
|
|
|
|
|
ROMPGZ: ; SELECT ROM PAGE ZERO |
|
|
|
XOR A |
|
|
|
ROMPG: |
|
|
|
AND 7FH ; TURN OFF BIT 7 TO SELECT ROM PAGES |
|
|
|
JR PGSEL |
|
|
|
|
|
|
|
PGSEL: |
|
|
|
OUT (MPCL_ROM),A |
|
|
|
OUT (MPCL_RAM),A |
|
|
|
RET |
|
|
|
|
|
|
|
#DEFINE PGRAM(P) LD A,P | 80H \ OUT (MPCL_ROM),A \ OUT (MPCL_RAM),A |
|
|
|
#DEFINE PGRAMF(P) LD A,P | 80H \ OUT (MPCL_RAM),A |
|
|
|
|
|
|
|
#DEFINE PGROM(P) LD A,P & 7FH \ OUT (MPCL_ROM),A \ OUT (MPCL_RAM),A |
|
|
|
#DEFINE PGROMF(P) LD A,P & 7FH \ OUT (MPCL_ROM),A |
|
|
|
|
|
|
|
#ENDIF |
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|
|
|
|
|
|
|
#IF (PLATFORM == PLT_N8) |
|
|
|
RAMPGZ: ; SELECT RAM PAGE ZERO |
|
|
|
XOR A |
|
|
|
RAMPG: |
|
|
|
RLCA |
|
|
|
RLCA |
|
|
|
@ -19,10 +88,9 @@ RAMPG: |
|
|
|
LD A,DEFACR | 80H |
|
|
|
OUT0 (ACR),A |
|
|
|
RET |
|
|
|
; |
|
|
|
;a |
|
|
|
ROMPGZ: ; SELECT ROM PAGE ZERO |
|
|
|
XOR A |
|
|
|
|
|
|
|
ROMPG: |
|
|
|
OUT0 (RMAP),A |
|
|
|
XOR A |
|
|
|
@ -30,17 +98,26 @@ ROMPG: |
|
|
|
LD A,DEFACR |
|
|
|
OUT0 (ACR),A |
|
|
|
RET |
|
|
|
#ELSE |
|
|
|
|
|
|
|
#DEFINE PGRAM(P) LD A,P << 3 \ OUT0 (CPU_BBR),A \ LD A,DEFACR | 80H \ OUT0 (ACR),A |
|
|
|
#DEFINE PGRAMF(P) LD A,P << 3 \ OUT0 (CPU_BBR),A |
|
|
|
|
|
|
|
#DEFINE PGROM(P) LD A,P \ OUT0 (RMAP),A \ XOR A \ OUT0 (CPU_BBR),A \ LD A,DEFACR \ OUT0 (ACR),A |
|
|
|
#DEFINE PGROMF(P) LD A,P \ OUT0 (RMAP),A |
|
|
|
|
|
|
|
#ENDIF |
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|
|
|
#IF (PLATFORM == PLT_S2I) |
|
|
|
RAMPGZ: ; SELECT RAM PAGE ZERO |
|
|
|
XOR A |
|
|
|
|
|
|
|
RAMPG: |
|
|
|
OR 80H ; TURN ON BIT 7 TO SELECT RAM PAGES |
|
|
|
JR PGSEL |
|
|
|
|
|
|
|
ROMPGZ: ; SELECT ROM PAGE ZERO |
|
|
|
XOR A |
|
|
|
|
|
|
|
ROMPG: |
|
|
|
AND 7FH ; TURN OFF BIT 7 TO SELECT ROM PAGES |
|
|
|
JR PGSEL |
|
|
|
@ -49,31 +126,44 @@ PGSEL: |
|
|
|
OUT (MPCL_ROM),A |
|
|
|
OUT (MPCL_RAM),A |
|
|
|
RET |
|
|
|
#DEFINE PGRAM(P) LD A,P | 80H \ OUT (MPCL_ROM),A \ OUT (MPCL_RAM),A |
|
|
|
#DEFINE PGRAMF(P) LD A,P | 80H \ OUT (MPCL_RAM),A |
|
|
|
|
|
|
|
#DEFINE PGROM(P) LD A,P & 7FH \ OUT (MPCL_ROM),A \ OUT (MPCL_RAM),A |
|
|
|
#DEFINE PGROMF(P) LD A,P & 7FH \ OUT (MPCL_ROM),A |
|
|
|
|
|
|
|
#ENDIF |
|
|
|
|
|
|
|
; |
|
|
|
;______________________________________________________________________________________________________________________ |
|
|
|
; |
|
|
|
; MACROS TO PERFORM RAM/ROM PAGE SELECTION INTO LOWER 32K OF MEMORY SPACE |
|
|
|
; PGRAM(P) SELECT RAM PAGE P |
|
|
|
; PGRAMF(P) SELECT RAM PAGE P, FAST VERSION ASSUMES CURRENT PAGE IS A RAM PAGE |
|
|
|
; PGROM(P) SELECT ROM PAGE P |
|
|
|
; PGROMF(P) SELECT ROM PAGE P, FAST VERSION ASSUMES CURRENT PAGE IS A ROM PAGE |
|
|
|
; |
|
|
|
; REGISTER A IS DESTROYED |
|
|
|
;______________________________________________________________________________________________________________________ |
|
|
|
; |
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|
|
|
#IF (PLATFORM = PLT_N8) |
|
|
|
#DEFINE PGRAM(P) LD A,P << 3 \ OUT0 (CPU_BBR),A \ LD A,DEFACR | 80H \ OUT0 (ACR),A |
|
|
|
#DEFINE PGRAMF(P) LD A,P << 3 \ OUT0 (CPU_BBR),A |
|
|
|
#IF (PLATFORM == PLT_S100) |
|
|
|
RAMPGZ: ; SELECT RAM PAGE ZERO |
|
|
|
XOR A |
|
|
|
|
|
|
|
RAMPG: |
|
|
|
OR 80H ; TURN ON BIT 7 TO SELECT RAM PAGES |
|
|
|
JR PGSEL |
|
|
|
|
|
|
|
ROMPGZ: ; SELECT ROM PAGE ZERO |
|
|
|
XOR A |
|
|
|
|
|
|
|
ROMPG: |
|
|
|
AND 7FH ; TURN OFF BIT 7 TO SELECT ROM PAGES |
|
|
|
JR PGSEL |
|
|
|
|
|
|
|
PGSEL: |
|
|
|
OUT (MPCL_ROM),A |
|
|
|
OUT (MPCL_RAM),A |
|
|
|
RET |
|
|
|
|
|
|
|
#DEFINE PGROM(P) LD A,P \ OUT0 (RMAP),A \ XOR A \ OUT0 (CPU_BBR),A \ LD A,DEFACR \ OUT0 (ACR),A |
|
|
|
#DEFINE PGROMF(P) LD A,P \ OUT0 (RMAP),A |
|
|
|
#ELSE |
|
|
|
#DEFINE PGRAM(P) LD A,P | 80H \ OUT (MPCL_ROM),A \ OUT (MPCL_RAM),A |
|
|
|
#DEFINE PGRAMF(P) LD A,P | 80H \ OUT (MPCL_RAM),A |
|
|
|
|
|
|
|
#DEFINE PGROM(P) LD A,P & 7FH \ OUT (MPCL_ROM),A \ OUT (MPCL_RAM),A |
|
|
|
#DEFINE PGROMF(P) LD A,P & 7FH \ OUT (MPCL_ROM),A |
|
|
|
|
|
|
|
#ENDIF |
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;; |
|
|
|
; EOF - MEMMGR.ASM ; |
|
|
|
;;;;;;;;;;;;;;;;;;;; |
|
|
|
|