|
|
|
@ -38,7 +38,7 @@ ENA_XM .EQU FALSE ; NO ROOM FOR BOTH DSKY+XMODEM |
|
|
|
ENA_XM .EQU TRUE ; INCLUDE XMODEM IF SPACE AVAILABLE |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
ENA_MBC6502 .EQU FALSE ; ENABLE OR DISABLE MBC6502 OPTION |
|
|
|
ENA_MBC6502 .EQU TRUE ; ENABLE OR DISABLE MBC6502 OPTION |
|
|
|
; |
|
|
|
#INCLUDE "util.asm" |
|
|
|
; |
|
|
|
@ -71,6 +71,7 @@ UART_ENTRY: |
|
|
|
; R XXXX - RUN A PROGRAM AT ADDRESS XXXX |
|
|
|
; S XX - SET ACTIVE BANK TO XX |
|
|
|
; T XXXX - X-MODEM TRANSFER TO MEMORY LOCATION XXXX |
|
|
|
; U - SET BANK TO PREVIOUS BANK |
|
|
|
; 6 XX - TRANSFER CONTROL TO MBC6502 UNIT XX |
|
|
|
; X - EXIT MONITOR |
|
|
|
; |
|
|
|
@ -129,6 +130,8 @@ SERIALCMDLOOP: |
|
|
|
#IF (BIOS == BIOS_WBW) |
|
|
|
CP 'S' ; IS IT A "S" (Y/N) |
|
|
|
JP Z,SETBNK ; SET BANK COMMAND |
|
|
|
CP 'U' ; IS IT A "U" (Y/N) |
|
|
|
JP Z,UNSETBNK ; UNSET (REVERT) BANK COMMAND |
|
|
|
#ENDIF |
|
|
|
#IF ((PLATFORM = PLT_MBC) & ENA_MBC6502) |
|
|
|
CP '6' ; IS IT A "6" (Y/N) |
|
|
|
@ -225,6 +228,8 @@ SETBNK: |
|
|
|
LD HL,TXT_IMERR |
|
|
|
CALL PRTSTR |
|
|
|
#ELSE |
|
|
|
LD A,($FFE0) ; GET AND SAVE |
|
|
|
LD (BNKSAV),A ; CURRENT BANK |
|
|
|
CALL BYTEPARM ; GET BANK NUMBER |
|
|
|
JP C,ERR ; HANDLE DATA ENTRY ERROR |
|
|
|
LD C,A ; PUT IN C FOR FOR FUNC CALL |
|
|
|
@ -233,6 +238,25 @@ SETBNK: |
|
|
|
#ENDIF |
|
|
|
JP SERIALCMDLOOP ; NEXT COMMAND |
|
|
|
; |
|
|
|
;__UNSETBNK___________________________________________________________________ |
|
|
|
; |
|
|
|
; PERFORM UNSET BANK ACTION - REVERT TO BANK BEFORE PREVIOUS SET |
|
|
|
;_____________________________________________________________________________ |
|
|
|
; |
|
|
|
UNSETBNK: |
|
|
|
#IF (INTMODE == 1) |
|
|
|
LD HL,TXT_IMERR |
|
|
|
CALL PRTSTR |
|
|
|
#ELSE |
|
|
|
LD A,(BNKSAV) |
|
|
|
LD C,A ; PUT IN C FOR FOR FUNC CALL |
|
|
|
LD B,BF_SYSSETBNK ; SET BANK FUNCTION |
|
|
|
CALL $FFF0 ; C HAS BANK, DO IT |
|
|
|
#ENDIF |
|
|
|
JP SERIALCMDLOOP ; NEXT COMMAND |
|
|
|
; |
|
|
|
BNKSAV .DB 00H ; OLD BANK FROM BEFORE SET |
|
|
|
; |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
;__RUN________________________________________________________________________ |
|
|
|
@ -365,7 +389,8 @@ XMLOAD: CALL WORDPARM ; GET STARTING LOCATION |
|
|
|
CALL NEWLINE |
|
|
|
; |
|
|
|
LD BC,$F8F0 ; GET CPU SPEED |
|
|
|
RST 08 ; AND MULTIPLY |
|
|
|
CALL $FFF0 ; CALL HBIOS |
|
|
|
; RST 08 ; AND MULTIPLY |
|
|
|
LD A,L ; BY 4 |
|
|
|
PUSH AF |
|
|
|
ADD A,A ; TO CREATE |
|
|
|
@ -1234,7 +1259,10 @@ TXT_HELP .TEXT "\r\nMonitor Commands (all values in hex):" |
|
|
|
.TEXT "\r\nP xxxx - Program RAM at address xxxx" |
|
|
|
.TEXT "\r\nR xxxx [[yy] [zzzz]] - Run code at address xxxx" |
|
|
|
.TEXT "\r\n Pass yy and zzzz to register A and BC" |
|
|
|
#IF (BIOS == BIOS_WBW) |
|
|
|
.TEXT "\r\nS xx - Set bank to xx" |
|
|
|
.TEXT "\r\nU - Set bank to previous bank" |
|
|
|
#ENDIF |
|
|
|
#IF (ENA_XM) |
|
|
|
.TEXT "\r\nT xxxx - X-modem transfer to memory location xxxx" |
|
|
|
#ENDIF |
|
|
|
|