Browse Source

Merge pull request #185 from b1ackmai1er/dev

Adjustments for new hbios proxy location
pull/199/head
Wayne Warthen 5 years ago
committed by GitHub
parent
commit
10259b5fd2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      Source/Forth/camel80.azm
  2. 25
      Source/HBIOS/updater.asm

10
Source/Forth/camel80.azm

@ -11,6 +11,7 @@ BF_SYSRES_WARM EQU 01h ; WARM START (RESTART BOOT LOADER)
FTH_SIZ EQU 1700h FTH_SIZ EQU 1700h
FTH_LOC EQU 0200h FTH_LOC EQU 0200h
HB_LOC EQU 0FD80h
; Listing 2. ; Listing 2.
; =============================================== ; ===============================================
@ -71,7 +72,10 @@ FTH_LOC EQU 0200h
; precision words as per RC2014 ; precision words as per RC2014
; version. Increase terminal ; version. Increase terminal
; input buffer (TIB) size. ; input buffer (TIB) size.
; b1ackmai1er difficultylevelhigh@gmail.com
; b1ackmai1er difficultylevelhigh@gmail.com
; 22-Jan 21 v1.02 Adjust for revised HBIOS
; proxy size.
; b1ackmai1er difficultylevelhigh@gmail.com
; =============================================== ; ===============================================
; Macros to define Forth headers ; Macros to define Forth headers
; HEAD label,length,name,action ; HEAD label,length,name,action
@ -140,7 +144,7 @@ nexthl MACRO
CSEG CSEG
.PHASE FTH_LOC .PHASE FTH_LOC
reset: ld hl,0FDFFh ; HBIOS address, rounded down
reset: ld hl,HB_LOC ; HBIOS address, rounded down
ld l,0 ; = end of avail.mem (EM) ld l,0 ; = end of avail.mem (EM)
dec h ; EM-100h dec h ; EM-100h
ld sp,hl ; = top of param stack ld sp,hl ; = top of param stack
@ -165,7 +169,7 @@ reset: ld hl,0FDFFh ; HBIOS address, rounded down
; EM-100h HOLD area, 40 bytes, grows down ; EM-100h HOLD area, 40 bytes, grows down
; EM-0D8h PAD buffer, 88 bytes ; EM-0D8h PAD buffer, 88 bytes
; EM-80h Return stack, 128 B, grows down ; EM-80h Return stack, 128 B, grows down
; EM End of RAM = start of HBIOS
; EM=HB_LOC End of RAM = start of HBIOS
; See also the definitions of U0, S0, and R0 ; See also the definitions of U0, S0, and R0
; in the "system variables & constants" area. ; in the "system variables & constants" area.
; A task w/o terminal input requires 200h bytes. ; A task w/o terminal input requires 200h bytes.

25
Source/HBIOS/updater.asm

@ -2,7 +2,7 @@
; ROMWBW XMODEM FLASH UPDATER ; ROMWBW XMODEM FLASH UPDATER
; ;
; PROVIDES THE CAPABILTY TO UPDATE ROMWBW FROM THE SBC BOOT LOADER USING ; PROVIDES THE CAPABILTY TO UPDATE ROMWBW FROM THE SBC BOOT LOADER USING
; AN XMODEM FILE TRANSFER. FOR SYSTEMS WITH AN SST39SF040 FLASH CHIP.
; AN XMODEM FILE TRANSFER.
; ;
; TO INSTALL, SAVE THIS FILE AS USRROM.ASM IN \RomWBW\Source\HBIOS ; TO INSTALL, SAVE THIS FILE AS USRROM.ASM IN \RomWBW\Source\HBIOS
; AND REBUILD AND INSTALL THE NEW ROM VERSION. ; AND REBUILD AND INSTALL THE NEW ROM VERSION.
@ -11,7 +11,7 @@
; ;
; OPTION (C) AND (S) - CONSOLE AND SERIAL DEVICE ; OPTION (C) AND (S) - CONSOLE AND SERIAL DEVICE
; ;
; BY DEFAULT THE UPDATER IS SET TO USE THE FIRST ROMWBW CONSOLE DEVICE (0) FOR
; BY DEFAULT THE UPDATER IS SET TO USE THE CURRENT CONSOLE DEVICE FOR
; DISPLAY OUTPUT AND FILES TRANSFER. IF YOU USE A DIFFERENT SERIAL DEVICE FOR ; DISPLAY OUTPUT AND FILES TRANSFER. IF YOU USE A DIFFERENT SERIAL DEVICE FOR
; THE FILE TRANSFER, PROGRESS INFORMATION WILL BE DISPLAYED. ; THE FILE TRANSFER, PROGRESS INFORMATION WILL BE DISPLAYED.
; ;
@ -123,7 +123,6 @@
#INCLUDE "std.asm" #INCLUDE "std.asm"
; ;
HBX_BNKSEL .EQU $FE2B HBX_BNKSEL .EQU $FE2B
HBX_START .EQU $FE00
; ;
#DEFINE HB_DI DI #DEFINE HB_DI DI
#DEFINE HB_EI EI #DEFINE HB_EI EI
@ -146,10 +145,10 @@ BSPC: .EQU 'H'-40h ; ^H = Backspace
; Start of code ; Start of code
; ;
LD (oldSP),SP ; SETUP STACK BELOW HBIOS LD (oldSP),SP ; SETUP STACK BELOW HBIOS
LD SP,HBX_START-MD_CSIZ ; ALLOW FOR RELOCATABLE CODE AREA
LD SP,HBX_LOC-MD_CSIZ ; ALLOW FOR RELOCATABLE CODE AREA
; ;
LD HL,MD_FSTART ; COPY FLASH LD HL,MD_FSTART ; COPY FLASH
LD DE,HBX_START-MD_CSIZ ; ROUTINES TO
LD DE,HBX_LOC-MD_CSIZ ; ROUTINES TO
LD BC,MD_CSIZ ; HIGH MEMORY LD BC,MD_CSIZ ; HIGH MEMORY
LDIR LDIR
; ;
@ -227,8 +226,8 @@ CHPFND: LD (ERATYP),A ; SAVE ERASE TYPE
MENULP: LD DE,$0000 ; ENSURE WE ARE STARTING MENULP: LD DE,$0000 ; ENSURE WE ARE STARTING
LD (MD_FBAS),DE ; AT BANK 0 SECTOR 0 LD (MD_FBAS),DE ; AT BANK 0 SECTOR 0
LD HL,ERATYP
RES 7,(HL)
LD HL,ERATYP ; RESET THE ERASE
RES 7,(HL) ; SKIP FLAG
; ;
LD HL,msgCRLF LD HL,msgCRLF
CALL PRTSTR0 CALL PRTSTR0
@ -1148,12 +1147,12 @@ MD_FJPHL:
MD_FEND .EQU $ MD_FEND .EQU $
MD_CSIZ .EQU MD_FEND-MD_FSTART ; HOW MUCH SPACE WE NEED FOR RELOCATABLE CODE MD_CSIZ .EQU MD_FEND-MD_FSTART ; HOW MUCH SPACE WE NEED FOR RELOCATABLE CODE
; ;
MD_FIDEN .EQU HBX_START-MD_CSIZ+MD_FIDEN_R-MD_FSTART ; CALL ADDRESS FOR IDENTIFY FLASH CHIP
MD_FERAS .EQU HBX_START-MD_CSIZ+MD_FERAS_R-MD_FSTART ; CALL ADDRESS FOR ERASE FLASH SECTOR
MD_FREAD .EQU HBX_START-MD_CSIZ+MD_FREAD_R-MD_FSTART ; CALL ADDRESS FOR READ FLASH SECTOR
MD_FVERI .EQU HBX_START-MD_CSIZ+MD_FVERI_R-MD_FSTART ; CALL ADDRESS FOR VERIFY FLASH SECTOR
MD_FWRIT .EQU HBX_START-MD_CSIZ+MD_FWRIT_R-MD_FSTART ; CALL ADDRESS FOR WRITE FLASH SECTOR
MD_FERAC .EQU HBX_START-MD_CSIZ+MD_FERAC_R-MD_FSTART ; CALL ADDRESS FOR ERASE FLASH CHIP
MD_FIDEN .EQU HBX_LOC-MD_CSIZ+MD_FIDEN_R-MD_FSTART ; CALL ADDRESS FOR IDENTIFY FLASH CHIP
MD_FERAS .EQU HBX_LOC-MD_CSIZ+MD_FERAS_R-MD_FSTART ; CALL ADDRESS FOR ERASE FLASH SECTOR
MD_FREAD .EQU HBX_LOC-MD_CSIZ+MD_FREAD_R-MD_FSTART ; CALL ADDRESS FOR READ FLASH SECTOR
MD_FVERI .EQU HBX_LOC-MD_CSIZ+MD_FVERI_R-MD_FSTART ; CALL ADDRESS FOR VERIFY FLASH SECTOR
MD_FWRIT .EQU HBX_LOC-MD_CSIZ+MD_FWRIT_R-MD_FSTART ; CALL ADDRESS FOR WRITE FLASH SECTOR
MD_FERAC .EQU HBX_LOC-MD_CSIZ+MD_FERAC_R-MD_FSTART ; CALL ADDRESS FOR ERASE FLASH CHIP
; ;
; Message strings ; Message strings
; ;

Loading…
Cancel
Save