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_LOC EQU 0200h
HB_LOC EQU 0FD80h
; Listing 2.
; ===============================================
@ -71,7 +72,10 @@ FTH_LOC EQU 0200h
; precision words as per RC2014
; version. Increase terminal
; 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
; HEAD label,length,name,action
@ -140,7 +144,7 @@ nexthl MACRO
CSEG
.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)
dec h ; EM-100h
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-0D8h PAD buffer, 88 bytes
; 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
; in the "system variables & constants" area.
; A task w/o terminal input requires 200h bytes.

25
Source/HBIOS/updater.asm

@ -2,7 +2,7 @@
; ROMWBW XMODEM FLASH UPDATER
;
; 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
; AND REBUILD AND INSTALL THE NEW ROM VERSION.
@ -11,7 +11,7 @@
;
; 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
; THE FILE TRANSFER, PROGRESS INFORMATION WILL BE DISPLAYED.
;
@ -123,7 +123,6 @@
#INCLUDE "std.asm"
;
HBX_BNKSEL .EQU $FE2B
HBX_START .EQU $FE00
;
#DEFINE HB_DI DI
#DEFINE HB_EI EI
@ -146,10 +145,10 @@ BSPC: .EQU 'H'-40h ; ^H = Backspace
; Start of code
;
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 DE,HBX_START-MD_CSIZ ; ROUTINES TO
LD DE,HBX_LOC-MD_CSIZ ; ROUTINES TO
LD BC,MD_CSIZ ; HIGH MEMORY
LDIR
;
@ -227,8 +226,8 @@ CHPFND: LD (ERATYP),A ; SAVE ERASE TYPE
MENULP: LD DE,$0000 ; ENSURE WE ARE STARTING
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
CALL PRTSTR0
@ -1148,12 +1147,12 @@ MD_FJPHL:
MD_FEND .EQU $
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
;

Loading…
Cancel
Save