mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
S100 Monitor Update
The S100 Monitor will now allow launching RomWBW using the 'B' command.
This commit is contained in:
@@ -43,6 +43,10 @@ else
|
|||||||
BIOS=wbw
|
BIOS=wbw
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ROM_PLATFORM),S100)
|
||||||
|
ROMDEPS += s100mon.bin
|
||||||
|
endif
|
||||||
|
|
||||||
ROMNAME=${ROM_PLATFORM}_${ROM_CONFIG}
|
ROMNAME=${ROM_PLATFORM}_${ROM_CONFIG}
|
||||||
|
|
||||||
# $(info DEPS=$(DEPS))
|
# $(info DEPS=$(DEPS))
|
||||||
@@ -59,9 +63,7 @@ $(OBJECTS) : $(ROMDEPS)
|
|||||||
if [ $(ROM_PLATFORM) != UNA ] ; then \
|
if [ $(ROM_PLATFORM) != UNA ] ; then \
|
||||||
cat camel80.bin nascom.bin tastybasic.bin game.bin eastaegg.bin netboot.mod updater.bin usrrom.bin >osimg1.bin ; \
|
cat camel80.bin nascom.bin tastybasic.bin game.bin eastaegg.bin netboot.mod updater.bin usrrom.bin >osimg1.bin ; \
|
||||||
if [ $(ROM_PLATFORM) = S100 ] ; then \
|
if [ $(ROM_PLATFORM) = S100 ] ; then \
|
||||||
$(ZXCC) $(CPM)/SLR180 -s100mon/fh ; \
|
cat s100mon.bin >osimg2.bin ; \
|
||||||
$(ZXCC) $(CPM)/MLOAD25 -s100mon ; \
|
|
||||||
cat s100mon.com >osimg2.bin ; \
|
|
||||||
else \
|
else \
|
||||||
cat imgpad2.bin >osimg2.bin ; \
|
cat imgpad2.bin >osimg2.bin ; \
|
||||||
fi ; \
|
fi ; \
|
||||||
@@ -95,6 +97,10 @@ font%.asm:
|
|||||||
camel80.bin:
|
camel80.bin:
|
||||||
cp ../Forth/$@ .
|
cp ../Forth/$@ .
|
||||||
|
|
||||||
|
s100mon.bin:
|
||||||
|
$(ZXCC) $(CPM)/SLR180 -s100mon/FH
|
||||||
|
$(ZXCC) $(CPM)/MLOAD25 -s100mon.bin=s100mon
|
||||||
|
|
||||||
tastybasic.bin:
|
tastybasic.bin:
|
||||||
cp ../TastyBasic/src/$@ .
|
cp ../TastyBasic/src/$@ .
|
||||||
|
|
||||||
|
|||||||
@@ -1374,19 +1374,33 @@ Z280_INITZ:
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
;
|
;
|
||||||
; S100 ROM CONTAINS A HARDWARE LEVEL MONITOR IN BANK ID 3 OF ROM.
|
; S100 ROM CONTAINS A HARDWARE LEVEL MONITOR IN BANK ID 3 OF ROM.
|
||||||
; IF PORT $65 BIT 1 IS SET (SET IS ZERO), THEN WE IMMEDIATELY
|
; IF PORT $75 BIT 1 IS SET (SET IS ZERO), THEN WE IMMEDIATELY
|
||||||
; TRANSITION TO THIS MONITOR.
|
; TRANSITION TO THIS MONITOR. PRIOR TO THE TRANSITION, WE ALSO
|
||||||
|
; CHECK THE VALUE IN THE Z180 RELOAD REGISTER LOW. IF IT IS ASCII 'W',
|
||||||
|
; THEN IT MEANS THE S100 MONITOR IS ATTEMPTING TO REBOOT INTO ROMWBW
|
||||||
|
; HBIOS.
|
||||||
;
|
;
|
||||||
#IF ((PLATFORM == PLT_S100) & TRUE)
|
#IF ((PLATFORM == PLT_S100) & TRUE)
|
||||||
IN A,($65) ; READ SWITCHES
|
; CHECK S100 BOARD DIP SWITCH, BIT 1
|
||||||
|
IN A,($75) ; READ SWITCHES
|
||||||
BIT 1,A ; CHECK BIT 1
|
BIT 1,A ; CHECK BIT 1
|
||||||
JR NZ,S100MON_SKIP ; IF NOT SET, BYPASS
|
JR NZ,S100MON_SKIP ; IF NOT SET, CONT ROMWBW BOOT
|
||||||
|
;
|
||||||
|
; CHECK RELOAD REGISTER LOW FOR SPECIAL VALUE
|
||||||
|
IN0 A,(Z180_RLDR1L) ; GET RELOAD REG 1 LOW
|
||||||
|
CP 'W' ; CHECK FOR SPECIAL VALUE
|
||||||
|
JR Z,S100MON_SKIP ; IF SO, DO ROMWBW BOOT
|
||||||
|
;
|
||||||
|
; LAUNCH S100 MONITOR FROM ROM BANK 3
|
||||||
LD A,BID_IMG2 ; S100 MONITOR BANK
|
LD A,BID_IMG2 ; S100 MONITOR BANK
|
||||||
LD IX,0 ; EXECUTION RESUMES HERE
|
LD IX,0 ; EXECUTION RESUMES HERE
|
||||||
CALL HBX_BNKCALL ; CONTINUE IN RAM BANK, DO NOT RETURN
|
CALL HBX_BNKCALL ; CONTINUE IN RAM BANK, DO NOT RETURN
|
||||||
HALT ; WE SHOULD NOT COME BACK HERE!
|
HALT ; WE SHOULD NOT COME BACK HERE!
|
||||||
;
|
;
|
||||||
S100MON_SKIP:
|
S100MON_SKIP:
|
||||||
|
; RESTORE DEFAULT RELOAD REGISTER VALUE (PROBABLY NOT NEEDED)
|
||||||
|
XOR A
|
||||||
|
OUT0 (Z180_RLDR1L),A
|
||||||
#ENDIF
|
#ENDIF
|
||||||
;
|
;
|
||||||
; SAVE CURRENT BANKID
|
; SAVE CURRENT BANKID
|
||||||
|
|||||||
@@ -508,7 +508,7 @@ BEGIN0: JP BEGIN ;JUMP OVER COMMAND TABLE
|
|||||||
|
|
||||||
TBL: DW FLUSH ;"@" SEND FF to LaserJet printer
|
TBL: DW FLUSH ;"@" SEND FF to LaserJet printer
|
||||||
DW MEMMAP ;"A" DISPLAY A MAP OF MEMORY
|
DW MEMMAP ;"A" DISPLAY A MAP OF MEMORY
|
||||||
DW NOT_DONE ; "B" SWITCH CONTROL TO 68000 CPU
|
DW BOOT ; "B" SWITCH CONTROL TO 68000 CPU
|
||||||
DW NOT_DONE ; "C" BOOT IN CP/M FROM 8" DISK WITH WITH ZFDC FDC
|
DW NOT_DONE ; "C" BOOT IN CP/M FROM 8" DISK WITH WITH ZFDC FDC
|
||||||
DW DISP ;"D" DISPLAY MEMORY (IN HEX & ASCII)
|
DW DISP ;"D" DISPLAY MEMORY (IN HEX & ASCII)
|
||||||
DW CHAR_TEST ;"E" ECHO CHAR IN TO CHAR OUT
|
DW CHAR_TEST ;"E" ECHO CHAR IN TO CHAR OUT
|
||||||
@@ -848,6 +848,18 @@ OTA: PUSH BC
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
;---------------------------- B COMMAND BOOT ROMWBW -------------------------------------------
|
||||||
|
|
||||||
|
;RESTART SYSTEM WITH ROMWBW BOOT OVERRIDE FLAG IN THE Z180 RELOAD
|
||||||
|
;REGISTER 1 LOW
|
||||||
|
|
||||||
|
BOOT:
|
||||||
|
LD A,'W' ;OVERRIDE VALUE
|
||||||
|
OUT0 (Z180_RLDR1L),A ;SET RELOAD REGISTER 1 LOW
|
||||||
|
XOR A ;ROM BANK 0 PLEASE
|
||||||
|
CALL bnksel ;SELECT BANK IN LOW MEM
|
||||||
|
JP 0 ;AND JUMP TO THE START
|
||||||
|
|
||||||
;----------------------- D COMMAND DISPLAY MEMORY IN HEX ---------------------------------------
|
;----------------------- D COMMAND DISPLAY MEMORY IN HEX ---------------------------------------
|
||||||
|
|
||||||
DISP: CALL EXLF ;GET PARAMETERS IN [HL],[DE]
|
DISP: CALL EXLF ;GET PARAMETERS IN [HL],[DE]
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#DEFINE RMN 3
|
#DEFINE RMN 3
|
||||||
#DEFINE RUP 0
|
#DEFINE RUP 0
|
||||||
#DEFINE RTP 0
|
#DEFINE RTP 0
|
||||||
#DEFINE BIOSVER "3.3.0-dev.30"
|
#DEFINE BIOSVER "3.3.0-dev.31"
|
||||||
#define rmj RMJ
|
#define rmj RMJ
|
||||||
#define rmn RMN
|
#define rmn RMN
|
||||||
#define rup RUP
|
#define rup RUP
|
||||||
|
|||||||
@@ -3,5 +3,5 @@ rmn equ 3
|
|||||||
rup equ 0
|
rup equ 0
|
||||||
rtp equ 0
|
rtp equ 0
|
||||||
biosver macro
|
biosver macro
|
||||||
db "3.3.0-dev.30"
|
db "3.3.0-dev.31"
|
||||||
endm
|
endm
|
||||||
|
|||||||
Reference in New Issue
Block a user