diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index cbe797d5..80b6f996 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -42,6 +42,7 @@ Version 3.1.1 - PMS: Early DMA support - W?S: Updated FLASH software to v1.3.5 (supports 128KB A29010B, 512KB A29040B) - DDW: Support for DSKYng capabitlities +- WBW: Added Phil Summers' ROM Updater into ROM Loader Version 3.1 ----------- diff --git a/Source/Apps/tstdskng.asm b/Source/Apps/tstdskng.asm index dc1927bb..ef34f35d 100644 --- a/Source/Apps/tstdskng.asm +++ b/Source/Apps/tstdskng.asm @@ -16,9 +16,9 @@ FALSE: .EQU 0 TRUE: .EQU !FALSE ; -DSKY_OSC: .EQU 1000000 ; OSCILLATOR FREQ IN HZ +DSKY_OSC: .EQU 3000000 ; OSCILLATOR FREQ IN HZ ; -BDOS: .EQU FALSE ; BDOS OR DIRECT TO 8250ISH +BDOS: .EQU TRUE ; BDOS OR DIRECT TO 8250ISH ; UART_BASE: .EQU $68 ; UART BASE IO ADDRESS PPI_BASE: .EQU $60 ; PPI BASE IO PORT @@ -31,7 +31,12 @@ PPI_BASE: .EQU $60 ; PPI BASE IO PORT ; 10 04 ; +--08--+ 80 ; -; KEY CODE MAP (KEY CODES) --CCCRRR +; KEY CODE MAP (KEY CODES) CSCCCRRR +; |||||||| +; |||||+++-- ROW +; ||+++----- COL +; |+-------- SHIFT +; +--------- CONTROL ; ; 00 08 10 18 23 ; 01 09 11 19 22 @@ -85,7 +90,7 @@ DSKY_PRESCL: .EQU DSKY_OSC / 100000 ; PRESCALER LD SP,STACK ; CALL PRTSTRD - .DB "\r\nNextGenDSKY Test Program, v1.2, 2021-06-26$" + .DB "\r\nNextGenDSKY Test Program, v1.3, 2021-07-15$" CALL PRTSTRD .DB "\r\nPPI port 0x$" LD A,PPI_BASE @@ -179,7 +184,7 @@ M1: ; M2: CALL CST ; CONSOLE STATUS - JR NZ,M4 ; ABORT IF KEY PRESSED + JP NZ,M4 ; ABORT IF KEY PRESSED CALL DSKY_STAT AND $3F ; DUMP 2 HIGH BITS JR Z,M2 ; LOOP IF STATUS ZERO @@ -198,6 +203,7 @@ M2: M3: PUSH BC CALL DSKY_DIN + XOR %11000000 ; FLIP CONTROL & SHIFT MODIFIERS CALL PRTHEXBYTE CALL PC_SPACE ; SHIFT BUFFER @@ -223,7 +229,7 @@ M3: LD HL,DSPBUF CALL DSKY_PUTENCSTR POP AF - ; TOGGLE LED, KEY CODE: --CCCRRR + ; TOGGLE LED, KEY CODE: CSCCCRRR PUSH AF AND $07 ; ISOLATE ROW LD B,A ; SAVE IN B diff --git a/Source/HBIOS/Build.ps1 b/Source/HBIOS/Build.ps1 index faeaee73..42f36900 100644 --- a/Source/HBIOS/Build.ps1 +++ b/Source/HBIOS/Build.ps1 @@ -194,7 +194,7 @@ if ($Platform -ne "UNA") "Building ${RomName} output files..." # Build 32K OS chunk containing the loader, debug monitor, and two OS images -Concat 'romldr.bin', 'dbgmon.bin', "..\cpm22\cpm_${Bios}.bin", "..\zsdos\zsys_${Bios}.bin" osimg.bin +Concat 'romldr.bin', 'dbgmon.bin', "..\zsdos\zsys_${Bios}.bin", "..\cpm22\cpm_${Bios}.bin" osimg.bin # Build 20K OS chunk containing the loader, debug monitor, and one OS image Concat 'romldr.bin','dbgmon.bin', "..\zsdos\zsys_${Bios}.bin" osimg_small.bin @@ -202,8 +202,8 @@ Concat 'romldr.bin','dbgmon.bin', "..\zsdos\zsys_${Bios}.bin" osimg_small.bin # Build second and third 32K chunks containing supplemental ROM apps (not for UNA) if ($Platform -ne "UNA") { - Concat '..\Forth\camel80.bin', 'nascom.bin', 'tastybasic.bin', 'game.bin', 'eastaegg.bin', 'usrrom.bin' osimg1.bin - Concat 'netboot.mod', 'imgpad2.bin' osimg2.bin + Concat '..\Forth\camel80.bin', 'nascom.bin', 'tastybasic.bin', 'game.bin', 'eastaegg.bin', 'netboot.mod', 'updater.bin', 'usrrom.bin' osimg1.bin + Concat 'imgpad2.bin' osimg2.bin } # @@ -258,7 +258,6 @@ else Concat 'hbios_rom.bin','osimg.bin','osimg1.bin','osimg2.bin',$RomDiskFile $RomFile Concat 'hbios_rom.bin','osimg.bin','osimg1.bin','osimg2.bin' $UpdFile Concat 'hbios_app.bin','osimg_small.bin' $ComFile - # Concat 'hbios_img.bin','osimg_small.bin' $ImgFile } # Remove the temporary working ROM disk file diff --git a/Source/HBIOS/Build.sh b/Source/HBIOS/Build.sh index 21adc95f..65f6b205 100755 --- a/Source/HBIOS/Build.sh +++ b/Source/HBIOS/Build.sh @@ -99,21 +99,21 @@ done cp ../Forth/camel80.bin . -make dbgmon.bin romldr.bin eastaegg.bin imgpad2.bin +make dbgmon.bin romldr.bin imgpad2.bin if [ $platform != UNA ] ; then - make nascom.bin tastybasic.bin game.bin usrrom.bin imgpad2.bin + make nascom.bin tastybasic.bin game.bin eastaegg.bin updater.bin usrrom.bin imgpad2.bin make hbios_rom.bin hbios_app.bin hbios_img.bin fi echo "Building $romname output files..." -cat romldr.bin dbgmon.bin ../CPM22/cpm_$BIOS.bin ../ZSDOS/zsys_$BIOS.bin >osimg.bin +cat romldr.bin dbgmon.bin ../ZSDOS/zsys_$BIOS.bin ../CPM22/cpm_$BIOS.bin >osimg.bin cat romldr.bin dbgmon.bin ../ZSDOS/zsys_$BIOS.bin >osimg_small.bin if [ $platform != UNA ] ; then - cat camel80.bin nascom.bin tastybasic.bin game.bin eastaegg.bin usrrom.bin >osimg1.bin - cat netboot.mod imgpad2.bin >osimg2.bin + cat camel80.bin nascom.bin tastybasic.bin game.bin eastaegg.bin netboot.mod updater.bin usrrom.bin >osimg1.bin + cat imgpad2.bin >osimg2.bin fi echo "Building ${romsize}KB $romname ROM disk data file..." @@ -165,7 +165,4 @@ else cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin $romdiskfile >$romname.rom cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$romname.upd cat hbios_app.bin osimg_small.bin > $romname.com - # cat hbios_img.bin osimg_small.bin > $romname.img fi - -#rm $romdiskfile diff --git a/Source/HBIOS/Makefile b/Source/HBIOS/Makefile index df3845ff..a6edb1b0 100644 --- a/Source/HBIOS/Makefile +++ b/Source/HBIOS/Makefile @@ -37,7 +37,7 @@ endif MOREDIFF = camel80.bin game.bin hbios_rom.bin nascom.bin prefix.bin usrrom.bin \ dbgmon.bin hbios_app.bin imgpad2.bin osimg1.bin osimg2.bin romldr.bin \ eastaegg.bin hbios_img.bin osimg.bin tastybasic.bin \ - game.bin usrrom.bin + game.bin updater.bin usrrom.bin SUBDIRS = DEST = ../../Binary @@ -81,6 +81,7 @@ romldr.bin: build.inc dbgmon.bin: build.inc nascom.bin: build.inc eastaegg.bin: build.inc +updater.bin: build.inc dumps: for i in $(MOREDIFF) ; do \ diff --git a/Source/HBIOS/PPI_Bus.txt b/Source/HBIOS/PPI_Bus.txt new file mode 100644 index 00000000..7b5fa7d9 --- /dev/null +++ b/Source/HBIOS/PPI_Bus.txt @@ -0,0 +1,39 @@ + +PPI Signal PPIDE PPISD DSKY DSKYNG (PROTO) DSKYNG (FINAL) +---------- ----- ----- ----- ----- ----- +PA0 <>D0 >ID0 <>D0 <>D0 +PA1 <>D1 >ID1 <>D1 <>D1 +PA2 <>D2 >ID2 <>D2 <>D2 +PA3 <>D3 >ID3 <>D3 <>D3 +PA4 <>D4 >ID4 /SHUTDOWN <>D4 <>D4 +PA5 <>D5 >ID5 /DECODE <>D5 <>D5 +PA6 <>D6 >ID6 HEXA/CODEB <>D6 <>D6 +PA7 <>D7 >ID7 DAT_COMING <>D7 <>D7 + +PB0 <>D8 +D9 +D10 +D11 +D12 +D13 +D14 + +PB7 <>D15 DA0 >MOSI >COL0 >A0 >A0 +PC1 >DA1 >CLK >COL1 >/WR +PC2 >DA2 >COL2 >/RD +PC3 >CS0* >COL3 >CS&* >CS&* +PC4 >CS1* >/CS >CS&* >CS&* +PC5 >DIOW* >/WR +PC6 >DIOR* >/WR >/RD +PC7 >RESET* >MODE >RESET >RESET + +* Inverted by adapter ++ Pullup +& Both signals must be asserted + +Compatibility: + +- PPISD & DSKY +- PPIDE & DSKYNG +- PPISD & DSKYNG diff --git a/Source/HBIOS/dbgmon.asm b/Source/HBIOS/dbgmon.asm index 90bf9193..9bae4ef8 100644 --- a/Source/HBIOS/dbgmon.asm +++ b/Source/HBIOS/dbgmon.asm @@ -994,7 +994,7 @@ DSKY_ENTRY: ; FRONTPANELLOOP: LD HL,CPUUP ; SET POINTER TO CPU UP MSG - CALL DSKY_SHOWSEG ; DISPLAY UNENCODED + CALL DSKY_SHOW ; DISPLAY UNENCODED #IF (DSKYMODE == DSKYMODE_NG) CALL DSKY_HIGHLIGHTCMDKEYS @@ -1030,7 +1030,7 @@ FRONTPANELLOOP1: ; DOBOOT: LD HL,MSGBOOT ; SET POINTER TO BOOT MESSAGE - CALL DSKY_SHOWSEG ; DISPLAY UNENCODED + CALL DSKY_SHOW ; DISPLAY UNENCODED JP BOOT ; DO BOOT ; ;__DOPORTREAD_________________________________________________________________ @@ -1425,7 +1425,7 @@ ENCBUF1: POP HL ; RESTORE POINTER DJNZ ENCBUF1 ; LOOP THRU ALL BUF POSITIONS LD HL,DSKY_BUF ; POINT TO DECODED BUFFER - CALL DSKY_SHOWSEG ; DISPLAY IT + CALL DSKY_SHOW ; DISPLAY IT POP DE ; RESTORE DE POP BC ; RESTORE BC POP AF ; RESTORE AF diff --git a/Source/HBIOS/dsky.asm b/Source/HBIOS/dsky.asm index 464836cd..fb7326d4 100644 --- a/Source/HBIOS/dsky.asm +++ b/Source/HBIOS/dsky.asm @@ -4,31 +4,7 @@ ;================================================================================================== ; ; THE DSKY MAY COSESIDE ON THE SAME PPI BUS AS A PPISD. IT MAY NOT -; SHARE A PPI BUS WITH A PPIDE. -; -PPIA .EQU DSKYPPIBASE + 0 ; PORT A -PPIB .EQU DSKYPPIBASE + 1 ; PORT B -PPIC .EQU DSKYPPIBASE + 2 ; PORT C -PPIX .EQU DSKYPPIBASE + 3 ; PPI CONTROL PORT -; -; ICM7218A KEYPAD PPISD -; -------- -------- -------- -; PA0-7 IO0-7 -; PB0-5 COLS 0-5 -; PB6 -; PB7 DO (SD) -; PC1 ROW 1 CLK (>SD) -; PC2-3 ROWS 2-3 -; PC4 /CS (PRI) -; PC5 /CS (SEC) -; PC6 /WR -; PC7 MODE -; -; DSKY SCAN CODES ARE ONE BYTE: CCRRRRRR -; BITS 7-6 IDENTFY THE COLUMN OF THE KEY PRESSED -; BITS 5-0 ARE A BITMAP, WITH A BIT ON TO INDICATE ROW OF KEY PRESSED -; +; SHARE A PPI BUS WITH A PPIDE. SEE PPI_BUS.TXT FOR MORE INFORMATION. ; ; LED SEGMENTS (BIT VALUES) ; @@ -38,6 +14,10 @@ PPIX .EQU DSKYPPIBASE + 3 ; PPI CONTROL PORT ; 08 10 ; +--01--+ 80 ; +; DSKY SCAN CODES ARE ONE BYTE: CCRRRRRR +; BITS 7-6 IDENTFY THE COLUMN OF THE KEY PRESSED +; BITS 5-0 ARE A BITMAP, WITH A BIT ON TO INDICATE ROW OF KEY PRESSED +; ; ____PC0________PC1________PC2________PC3____ ; PB5 | $20 [D] $60 [E] $A0 [F] $E0 [BO] ; PB4 | $10 [A] $50 [B] $90 [C] $D0 [GO] @@ -46,6 +26,12 @@ PPIX .EQU DSKYPPIBASE + 3 ; PPI CONTROL PORT ; PB1 | $02 [1] $42 [2] $82 [3] $C2 [EN] ; PB0 | $01 [FW] $41 [0] $81 [BK] $C1 [CL] ; +; +PPIA .EQU DSKYPPIBASE + 0 ; PORT A +PPIB .EQU DSKYPPIBASE + 1 ; PORT B +PPIC .EQU DSKYPPIBASE + 2 ; PORT C +PPIX .EQU DSKYPPIBASE + 3 ; PPI CONTROL PORT +; ;__DSKY_INIT_________________________________________________________________________________________ ; ; CONFIGURE PARALLEL PORT AND CLEAR KEYPAD BUFFER @@ -240,51 +226,57 @@ DSKY_KEYBUF .DB 0 #ENDIF ; DSKY_KBD ; ;================================================================================================== -; DSKY HEX DISPLAY +; CONVERT 32 BIT BINARY TO 8 BYTE HEX SEGMENT DISPLAY ;================================================================================================== ; -DSKY_HEXOUT: - LD B,DSKY_HEXBUFLEN - LD HL,DSKY_BUF - LD DE,DSKY_HEXBUF -DSKY_HEXOUT1: +; HL: ADR OF 32 BIT BINARY +; DE: ADR OF DEST LED SEGMENT DISPLAY BUFFER (8 BYTES) +; +DSKY_BIN2SEG: + PUSH HL + PUSH DE + LD B,4 ; 4 BYTES OF INPUT + EX DE,HL +DSKY_BIN2SEG1: LD A,(DE) ; FIRST NIBBLE SRL A SRL A SRL A SRL A + PUSH HL + LD HL,DSKY_HEXMAP + CALL DSKY_ADDHLA + LD A,(HL) + POP HL LD (HL),A INC HL LD A,(DE) ; SECOND NIBBLE AND 0FH + PUSH HL + LD HL,DSKY_HEXMAP + CALL DSKY_ADDHLA + LD A,(HL) + POP HL LD (HL),A INC HL INC DE ; NEXT BYTE - DJNZ DSKY_HEXOUT1 - LD HL,DSKY_BUF - JR DSKY_SHOWHEX + DJNZ DSKY_BIN2SEG1 + POP DE + POP HL + RET ; ;================================================================================================== ; DSKY SHOW BUFFER ; HL: ADDRESS OF BUFFER -; ENTER @ SHOWHEX FOR HEX DECODING -; ENTER @ SHOWSEG FOR SEGMENT DECODING ;================================================================================================== ; -DSKY_SHOWHEX: - LD A,$D0 ; 7218 -> (DATA COMING, HEXA DECODE) - JR DSKY_SHOW -; -DSKY_SHOWSEG: - LD A,$F0 ; 7218 -> (DATA COMING, NO DECODE) - JR DSKY_SHOW -; DSKY_SHOW: - PUSH AF ; SAVE 7218 CONTROL BITS + ;;PUSH AF ; SAVE 7218 CONTROL BITS LD A,82H ; SETUP PPI OUT (PPIX),A CALL DSKY_COFF - POP AF + ;;POP AF + LD A,$F0 ; 7218 -> (DATA COMING, NO DECODE) OUT (PPIA),A CALL DSKY_STROBEC ; STROBE COMMAND LD B,DSKY_BUFLEN ; NUMBER OF DIGITS @@ -313,11 +305,26 @@ DSKY_COFF: ; CALL DSKY_DELAY ; WAIT RET ; +;================================================================================================== +; UTILTITY FUNCTIONS +;================================================================================================== +; +DSKY_ADDHLA: + ADD A,L + LD L,A + RET NC + INC H + RET +; +;================================================================================================== +; STORAGE +;================================================================================================== +; ; CODES FOR NUMERICS -; HIGH BIT ALWAYS SET TO SUPPRESS DECIMAL POINT -; CLEAR HIGH BIT TO SHOW DECIMAL POINT +; HIGH BIT ALWAYS CLEAR TO SUPPRESS DECIMAL POINT +; SET HIGH BIT TO SHOW DECIMAL POINT ; -DSKY_NUMS: +DSKY_HEXMAP: .DB $7B ; 0 .DB $30 ; 1 .DB $6D ; 2 diff --git a/Source/HBIOS/dskyng.asm b/Source/HBIOS/dskyng.asm index e351e925..2e4ba36d 100644 --- a/Source/HBIOS/dskyng.asm +++ b/Source/HBIOS/dskyng.asm @@ -4,6 +4,7 @@ ;================================================================================================== ; ; A DSKYNG CAN SHARE A PPI BUS WITH EITHER A PPIDE OR PPISD. +; SEE PPI_BUS.TXT FOR MORE INFORMATION. ; ; LED SEGMENTS (BIT VALUES) ; @@ -13,7 +14,12 @@ ; 10 04 ; +--08--+ 80 ; -; KEY CODE MAP (KEY CODES) --CCCRRR +; KEY CODE MAP (KEY CODES) CSCCCRRR +; |||||||| +; |||||+++-- ROW +; ||+++----- COL +; |+-------- SHIFT +; +--------- CONTROL ; ; 00 08 10 18 23 ; 01 09 11 19 22 @@ -147,7 +153,9 @@ DSKY_GETKEY: LD A,DSKY_CMD_FIFO CALL DSKY_CMD CALL DSKY_DIN - AND $3F ; STRIP OFF SHIFT AND CONTROL KEYS (FOR NOW) + XOR %11000000 ; FLIP POLARITY OF SHIFT/CTL BITS + PUSH AF ; SAVE VALUE + AND $3F ; STRIP SHIFT/CTL BITS FOR LOOKUP LD B,28 ; SIZE OF DECODE TABLE LD C,0 ; INDEX LD HL,DSKY_KEYMAP ; POINT TO BEGINNING OF TABLE @@ -157,11 +165,15 @@ DSKY_GETKEY1: INC HL INC C ; BUMP INDEX DJNZ DSKY_GETKEY1 ; LOOP UNTIL EOT + POP AF ; FIX STACK LD A,$FF ; NOT FOUND ERR, RETURN $FF RET DSKY_GETKEY2: ; RETURN THE INDEX POSITION WHERE THE SCAN CODE WAS FOUND - LD A,C ; RETURN INDEX VALUE + ; THE ORIGINAL SHIFT/CTRL BITS ARE RESTORED + POP AF ; RESTORE RAW VALUE + AND %11000000 ; ISOLATE SHIFT/CTRL BITS + OR C ; COMBINE WITH INDEX VALUE RET ; ;_KEYMAP_TABLE_____________________________________________________________________________________________________________ @@ -187,21 +199,25 @@ DSKY_KEYMAP: #ENDIF ; DSKY_KBD ; ;================================================================================================== -; DSKY HEX DISPLAY +; CONVERT 32 BIT BINARY TO 8 BYTE HEX SEGMENT DISPLAY ;================================================================================================== ; -DSKY_HEXOUT: - LD B,DSKY_HEXBUFLEN - LD HL,DSKY_BUF - LD DE,DSKY_HEXBUF -DSKY_HEXOUT1: +; HL: ADR OF 32 BIT BINARY +; DE: ADR OF DEST LED SEGMENT DISPLAY BUFFER (8 BYTES) +; +DSKY_BIN2SEG: + PUSH HL + PUSH DE + LD B,4 ; 4 BYTES OF INPUT + EX DE,HL +DSKY_BIN2SEG1: LD A,(DE) ; FIRST NIBBLE SRL A SRL A SRL A SRL A PUSH HL - LD HL,HEXMAP + LD HL,DSKY_HEXMAP CALL DSKY_ADDHLA LD A,(HL) POP HL @@ -210,49 +226,40 @@ DSKY_HEXOUT1: LD A,(DE) ; SECOND NIBBLE AND 0FH PUSH HL - LD HL,HEXMAP + LD HL,DSKY_HEXMAP CALL DSKY_ADDHLA LD A,(HL) POP HL LD (HL),A INC HL INC DE ; NEXT BYTE - DJNZ DSKY_HEXOUT1 - LD HL,DSKY_BUF - JR DSKY_SHOW + DJNZ DSKY_BIN2SEG1 + POP DE + POP HL + RET ; ;================================================================================================== ; DSKY SHOW BUFFER ; HL: ADDRESS OF BUFFER -; ENTER @ SHOWHEX FOR HEX DECODING -; ENTER @ SHOWSEG FOR SEGMENT DECODING ;================================================================================================== ; -DSKY_SHOWHEX: - JR DSKY_SHOW -; -DSKY_SHOWSEG: - JR DSKY_SHOW -; DSKY_SHOW: -; PUSH HL -; CALL DSKY_RESET -; POP HL LD C,0 ; STARTING DISPLAY POSITION LD B,DSKY_BUFLEN ; NUMBER OF CHARS JP DSKY_PUTSTR ; +;================================================================================================== +; DSKYNG OUTPUT ROUTINES +;================================================================================================== ; -; -; -; COMMAND IN A +; SEND DSKY COMMAND BYTE IN REGISTER A ; TRASHES BC ; DSKY_CMD: LD B,$01 JR DSKY_DOUT2 ; -; DATA VALUE IN A +; SEND DSKY DATA BYTE IN REGISTER A ; TRASHES BC ; DSKY_DOUT: @@ -306,21 +313,25 @@ DSKY_DOUT2: CALL DSKY_PPIIDLE RET ; -; STATUS VALUE IN A +;================================================================================================== +; DSKYNG OUTPUT ROUTINES +;================================================================================================== +; +; RETURN DSKY STATUS VALUE IN A ; TRASHES BC ; DSKY_ST: LD B,$01 JR DSKY_DIN2 ; -; DATA VALUE RETURNED IN A +; RETURN NEXT DATA VALUE IN A ; TRASHES BC ; DSKY_DIN: LD B,$00 ; DSKY_DIN2: - ; SET PPI LINE CONFIG TO WRITE MODE + ; SET PPI LINE CONFIG TO READ MODE CALL DSKY_PPIRD ; ; SETUP @@ -363,7 +374,11 @@ DSKY_DIN2: CALL DSKY_PPIIDLE RET ; -; BLANK THE DISPLAY (WITHOUT USING CLEAR) +;================================================================================================== +; DSKYNG UTILITY ROUTINES +;================================================================================================== +; +; BLANK DSKYNG DISPLAY (WITHOUT USING CLEAR) ; DSKY_BLANK: LD A,DSKY_CMD_WDSP @@ -445,39 +460,13 @@ DSKY_GETSTR1: DJNZ DSKY_GETSTR1 RET ; -; HL IS ADR OF ENCODED STRING OF BYTES -; B IS LEN OF STRING (BYTES) -; C IS POSITION IN DISPLAY RAM TO WRITE -; -DSKY_PUTENCSTR: - PUSH BC - LD A,C - ADD A,DSKY_CMD_WDSP - CALL DSKY_CMD - POP BC - EX DE,HL -DSKY_PUTENCSTR1: - LD A,(DE) - INC DE - LD HL,HEXMAP - CALL DSKY_ADDHLA - LD A,(HL) - XOR $FF - PUSH BC - CALL DSKY_DOUT - POP BC - DJNZ DSKY_PUTENCSTR1 - RET - -; -; This function is intended to update the LEDs. It expects 8 bytes following the call, and -; updates the entire matrix. +; This function is intended to update the LEDs. It expects 8 bytes +; following the call, and updates the entire matrix. ; ; EXAMPLE: ; CALL DSKY_PUTLED ; .DB $00,$00,$00,$00,$00,$00,$00,$00 ; -; DSKY_PUTLED: EX (SP),HL PUSH AF @@ -497,41 +486,38 @@ DSKY_PUTLED_1: POP AF EX (SP),HL RET - ; ; This function is intended to beep the speaker on the DSKY ; -; DSKY_BEEP: PUSH AF PUSH BC LD C,$0F CALL DSKY_GETBYTE - or $20 + OR $20 LD C,$0F CALL DSKY_PUTBYTE ;;; timer . . . PUSH HL - ld hl,$8FFF + LD hl,$8FFF DSKY_BEEP1: - dec hl - ld a,H - cp 0 - jp nz,DSKY_BEEP1 - pop hl + DEC HL + LD A,H + CP 0 + JP NZ,DSKY_BEEP1 + POP HL LD C,$0F CALL DSKY_GETBYTE - and $DF + AND $DF LD C,$0F CALL DSKY_PUTBYTE POP BC POP AF RET - ; ; This function is intended to turn on DSKY L1 ; @@ -541,14 +527,13 @@ DSKY_L1ON: LD C,$0D CALL DSKY_GETBYTE - or $20 + OR $20 LD C,$0D CALL DSKY_PUTBYTE POP BC POP AF RET - ; ; This function is intended to turn on DSKY L2 ; @@ -558,14 +543,13 @@ DSKY_L2ON: LD C,$0E CALL DSKY_GETBYTE - and $DF + OR $20 LD C,$0E CALL DSKY_PUTBYTE POP BC POP AF RET - ; ; This function is intended to turn off DSKY L1 ; @@ -575,14 +559,13 @@ DSKY_L1OFF: LD C,$0D CALL DSKY_GETBYTE - and $DF + AND $DF LD C,$0D CALL DSKY_PUTBYTE POP BC POP AF RET - ; ; This function is intended to turn off DSKY L2 ; @@ -592,16 +575,17 @@ DSKY_L2OFF: LD C,$0E CALL DSKY_GETBYTE - or $20 + AND $DF LD C,$0E CALL DSKY_PUTBYTE POP BC POP AF RET - - - +; +;================================================================================================== +; DSKYNG LINE CONTROL ROUTINES +;================================================================================================== ; ; SETUP PPI FOR WRITING: PUT PPI PORT A IN OUTPUT MODE ; AVOID REWRTING PPIX IF ALREADY IN OUTPUT MODE @@ -628,15 +612,6 @@ DSKY_PPIWR1: POP AF RET ; -; -; -DSKY_ADDHLA: - ADD A,L - LD L,A - RET NC - INC H - RET -; ; SETUP PPI FOR READING: PUT PPI PORT A IN INPUT MODE ; AVOID REWRTING PPIX IF ALREADY IN INPUT MODE ; @@ -653,10 +628,6 @@ DSKY_PPIRD: OUT (PPIX),A LD (DSKY_PPIX_VAL),A ; -; ; DIAGNOSTIC -; LD A,'R' -; CALL COUT -; DSKY_PPIRD1: POP AF RET @@ -666,16 +637,26 @@ DSKY_PPIRD1: DSKY_PPIIDLE: JR DSKY_PPIRD ; SAME AS READ MODE ; +;================================================================================================== +; UTILTITY FUNCTIONS +;================================================================================================== ; +DSKY_ADDHLA: + ADD A,L + LD L,A + RET NC + INC H + RET ; - +;================================================================================================== +; STORAGE +;================================================================================================== ; ; CODES FOR NUMERICS -; HIGH BIT ALWAYS SET TO SUPPRESS DECIMAL POINT -; CLEAR HIGH BIT TO SHOW DECIMAL POINT +; HIGH BIT ALWAYS CLEAR TO SUPPRESS DECIMAL POINT +; SET HIGH BIT TO SHOW DECIMAL POINT ; -HEXMAP: -DSKY_NUMS: +DSKY_HEXMAP: .DB $3F ; 0 .DB $06 ; 1 .DB $5B ; 2 diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index bed652b6..01f951a6 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -1431,20 +1431,18 @@ SAVE_REC_M: CALL DSKY_INIT LD HL,MSG_HBVER + 5 - LD A,(DSKY_NUMS + RMJ) - ;AND $7F + LD A,(DSKY_HEXMAP + RMJ) OR $80 LD (HL),A INC HL - LD A,(DSKY_NUMS + RMN) - ;AND $7F + LD A,(DSKY_HEXMAP + RMN) OR $80 LD (HL),A INC HL - LD A,(DSKY_NUMS + RUP) + LD A,(DSKY_HEXMAP + RUP) LD (HL),A LD HL,MSG_HBVER - CALL DSKY_SHOWSEG + CALL DSKY_SHOW #ENDIF ; #IF (WBWDEBUG == USEMIO) ; BUFFER OUTPUT UNTIL @@ -2862,7 +2860,11 @@ HB_DSKFUNC .DB 0 ; CURRENT DISK FUNCTION ; ; THE CURRENT DISK UNIT NUMBER WILL BE DISPLAYED IN THE FIRST ; 2 SEG DISPLAYS. THE LOWER 24 BITS OF THE SECTOR WILL BE -; DISPLAYED IN THE LAST 6 SEG DISPLAYS +; DISPLAYED IN THE LAST 6 SEG DISPLAYS. +; +; A DOT IS DISPLAYED TO SEPARATE THE UNIT NUMBER FROM THE ADDRESS +; DISPLAY. ALSO, A TRAILING DOT IS DISPLAYED IF THE I/O FUNCTION +; IS A WRITE. ; ; HL: ADDRESS OF 32-BIT SECTOR NUMBER (LITTLE-ENDIAN) ; ALL REGISTERS PERSERVED @@ -2882,7 +2884,22 @@ HB_DSKACT1: DJNZ HB_DSKACT1 ; LOOP LD A,(HB_DSKUNIT) ; GET DISK UNIT NUM LD (DE),A ; PUT AT HEAD OF BUF - CALL DSKY_HEXOUT ; DISPLAY ON DSKY +HB_DSKACT2: + LD HL,DSKY_HEXBUF ; BINARY BUF + LD DE,DSKY_BUF ; DISPLAY BUF + CALL DSKY_BIN2SEG ; CONVERT TO SEG DISPLAY BUF + LD A,(DSKY_BUF+1) ; SECOND SEGMENT + OR %10000000 ; TURN ON DOT + LD (DSKY_BUF+1),A ; SAVE IT + LD A,(HB_DSKFUNC) ; GET CURRENT I/O FUNCTION + CP BF_DIOWRITE ; IS IT A WRITE? + JR NZ,HB_DSKACT3 ; IF NOT, NO DOT, SKIP AHEAD + LD A,(DSKY_BUF+7) ; LAST SEGMENT + OR %10000000 ; TURN ON DOT + LD (DSKY_BUF+7),A ; SAVE IT +HB_DSKACT3: + EX DE,HL ; SEG DISPLAY BUF TO HL + CALL DSKY_SHOW ; DISPLAY ON DSKY POP HL POP DE POP BC @@ -2892,6 +2909,10 @@ HB_DSKACT1: ; THIS IS THE CHS VARIANT OF THE ABOVE. THIS IS USED BY CHS ORIENTED ; DISK DRIVERS (BASICALLY JUST FLOPPY). ; +; THE CURRENT DISK UNIT NUMBER WILL BE DISPLAYED IN THE FIRST +; 2 SEG DISPLAYS. THE TRACK, HEAD, AND SECTOR WILL BE DISPLAYED IN +; THE LAST 6 SEG DISPLAYS +; ; HL: ADDRESS OF CYL,HD,SEC IN THE FORMAT CCSH ; ALL REGISTERS PRESERVED ; @@ -2916,14 +2937,7 @@ HB_DSKACTCHS: DEC HL ; BACK TO SECTOR LD A,(HL) ; GET SECTOR LD (DE),A ; ADD TO BUF - CALL DSKY_HEXOUT ; DISPLAY ON DSKY - POP HL - POP DE - POP BC - POP AF - RET -; -HB_HEXBUF .FILL 4,0 ; 4 BYTE HEX DISPLAY BUFFER + JR HB_DSKACT2 ; #ENDIF ; diff --git a/Source/HBIOS/imgpad.asm b/Source/HBIOS/imgpad.asm deleted file mode 100644 index 8ca47e5d..00000000 --- a/Source/HBIOS/imgpad.asm +++ /dev/null @@ -1,12 +0,0 @@ -#INCLUDE "std.asm" -; -SLACK .EQU ($8000-LDR_SIZ-MON_SIZ-SYS_SIZ-SYS_SIZ-EGG_SIZ) - .FILL SLACK,00H -; -MON_STACK .EQU $ -; - .ECHO "Padspace space created: " - .ECHO SLACK - .ECHO " bytes.\n" - - .END diff --git a/Source/HBIOS/imgpad2.asm b/Source/HBIOS/imgpad2.asm index 6a2ad74c..43099f3d 100644 --- a/Source/HBIOS/imgpad2.asm +++ b/Source/HBIOS/imgpad2.asm @@ -1,9 +1,7 @@ #INCLUDE "std.asm" ; -SLACK .EQU ($8000-NET_SIZ) +SLACK .EQU $8000 .FILL SLACK,00H -; -MON_STACK .EQU $ ; .ECHO "Padspace space created: " .ECHO SLACK diff --git a/Source/HBIOS/netboot.mod b/Source/HBIOS/netboot.mod index 12ee0b55..674d9e9b 100644 Binary files a/Source/HBIOS/netboot.mod and b/Source/HBIOS/netboot.mod differ diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index d1ceeeb2..5d267ad7 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -208,11 +208,11 @@ prompt: #if (DSKYENABLE) call DSKY_RESET ; clear DSKY ld hl,msg_sel ; boot select msg - call DSKY_SHOWSEG ; show on DSKY + call DSKY_SHOW ; show on DSKY #IF (DSKYMODE == DSKYMODE_NG) - CALL DSKY_PUTLED - .DB $3f,$3f,$3f,$3f,$00,$00,$00,$00 + call DSKY_PUTLED + .db $3f,$3f,$3f,$3f,$00,$00,$00,$00 call DSKY_BEEP call DSKY_L2ON #ENDIF @@ -267,6 +267,14 @@ clrbuf1: ; concmd: call clrled ; clear LEDs +; +#if (DSKYENABLE) + #if (DSKYMODE == DSKYMODE_NG) + call DSKY_PUTLED + .db $00,$00,$00,$00,$00,$00,$00,$00 + call DSKY_L2OFF + #endif +#endif ; ; Get a command line from console and handle it call rdln ; get a line from the user @@ -369,13 +377,12 @@ dskycmd: cp $FF ; check for error ret z ; abort if so ; - - #IF (DSKYMODE == DSKYMODE_NG) - CALL DSKY_PUTLED - .DB $00,$00,$00,$00,$00,$00,$00,$00 + #if (DSKYMODE == DSKYMODE_NG) + call DSKY_PUTLED + .db $00,$00,$00,$00,$00,$00,$00,$00 call DSKY_L2OFF - #ENDIF - + #endif +; ; Attempt built-in commands cp KY_BO ; reboot system jp z,reboot ; if so, do it @@ -599,7 +606,7 @@ reboot: ; #if (DSKYENABLE) ld hl,msg_boot ; point to boot message - call DSKY_SHOWSEG ; display message + call DSKY_SHOW ; display message #endif ; ; cold boot system @@ -631,7 +638,7 @@ romload: ; #if (DSKYENABLE) ld hl,msg_load ; point to load message - call DSKY_SHOWSEG ; display message + call DSKY_SHOW ; display message #endif ; #if (BIOS == BIOS_WBW) @@ -715,7 +722,7 @@ romload1: ; #if (DSKYENABLE) ld hl,msg_go ; point to go message - call DSKY_SHOWSEG ; display message + call DSKY_SHOW ; display message #endif ; ld l,(ix+ra_ent) ; HL := app entry address @@ -740,7 +747,7 @@ diskboot: ; #if (DSKYENABLE) ld hl,msg_load ; point to load message - call DSKY_SHOWSEG ; display message + call DSKY_SHOW ; display message #endif ; #if (BIOS == BIOS_WBW) @@ -1024,7 +1031,7 @@ diskboot10: ; #if (DSKYENABLE) ld hl,msg_go ; point to go message - call DSKY_SHOWSEG ; display message + call DSKY_SHOW ; display message #endif ; ; Jump to entry vector @@ -2075,34 +2082,35 @@ ra_ent .equ 12 ; ra_tbl: ; -; Name Key Dsky Bank Src Dest Size Entry -; --------- ------- ----- -------- ----- ------- ------- ---------- -ra_ent(str_mon, 'M', KY_CL, BID_IMG0, $1000, MON_LOC, MON_SIZ, MON_SERIAL) +; Name Key Dsky Bank Src Dest Size Entry +; --------- ------- ----- -------- ----- ------- ------- ---------- +ra_ent(str_mon, 'M', KY_CL, BID_IMG0, MON_IMGLOC, MON_LOC, MON_SIZ, MON_SERIAL) ra_entsiz .equ $ - ra_tbl -ra_ent(str_cpm22, 'C', KY_BK, BID_IMG0, $2000, CPM_LOC, CPM_SIZ, CPM_ENT) -ra_ent(str_zsys, 'Z', KY_FW, BID_IMG0, $5000, CPM_LOC, CPM_SIZ, CPM_ENT) +ra_ent(str_zsys, 'Z', KY_FW, BID_IMG0, ZSYS_IMGLOC, CPM_LOC, CPM_SIZ, CPM_ENT) +ra_ent(str_cpm22, 'C', KY_BK, BID_IMG0, CPM_IMGLOC, CPM_LOC, CPM_SIZ, CPM_ENT) #if (BIOS == BIOS_WBW) -ra_ent(str_fth, 'F', KY_EX, BID_IMG1, $0000, FTH_LOC, FTH_SIZ, FTH_LOC) -ra_ent(str_bas, 'B', KY_DE, BID_IMG1, $1700, BAS_LOC, BAS_SIZ, BAS_LOC) -ra_ent(str_tbas, 'T', KY_EN, BID_IMG1, $3700, TBC_LOC, TBC_SIZ, TBC_LOC) -ra_ent(str_play, 'P', $FF, BID_IMG1, $4000, GAM_LOC, GAM_SIZ, GAM_LOC) -ra_ent(str_egg, 'E'+$80, $FF, BID_IMG1, $4900, EGG_LOC, EGG_SIZ, EGG_LOC) -ra_ent(str_user, 'U', $FF, BID_IMG1, $4B00, USR_LOC, USR_SIZ, USR_LOC) -ra_ent(str_net, 'N', $FF, BID_IMG2, $0000, NET_LOC, NET_SIZ, NET_LOC) +ra_ent(str_fth, 'F', KY_EX, BID_IMG1, FTH_IMGLOC, FTH_LOC, FTH_SIZ, FTH_LOC) +ra_ent(str_bas, 'B', KY_DE, BID_IMG1, BAS_IMGLOC, BAS_LOC, BAS_SIZ, BAS_LOC) +ra_ent(str_tbas, 'T', KY_EN, BID_IMG1, TBC_IMGLOC, TBC_LOC, TBC_SIZ, TBC_LOC) +ra_ent(str_play, 'P', $FF, BID_IMG1, GAM_IMGLOC, GAM_LOC, GAM_SIZ, GAM_LOC) +ra_ent(str_egg, 'E'+$80, $FF, BID_IMG1, EGG_IMGLOC, EGG_LOC, EGG_SIZ, EGG_LOC) +ra_ent(str_net, 'N', $FF, BID_IMG1, NET_IMGLOC, NET_LOC, NET_SIZ, NET_LOC) +ra_ent(str_upd, 'O', $FF, BID_IMG1, UPD_IMGLOC, UPD_LOC, UPD_SIZ, UPD_LOC) +ra_ent(str_user, 'U', $FF, BID_IMG1, USR_IMGLOC, USR_LOC, USR_SIZ, USR_LOC) #endif #if (DSKYENABLE) -ra_ent(str_dsky, 'Y'+$80, KY_GO, BID_IMG0, $1000, MON_LOC, MON_SIZ, MON_DSKY) +ra_ent(str_dsky, 'Y'+$80, KY_GO, BID_IMG0, MON_IMGLOC, MON_LOC, MON_SIZ, MON_DSKY) #endif .dw 0 ; table terminator ; ra_tbl_app: ; -; Name Key Dsky Bank Src Dest Size Entry -; --------- ------- ----- -------- ----- ------- ------- ---------- -ra_ent(str_mon, 'M', KY_CL, bid_cur, $1000, MON_LOC, MON_SIZ, MON_SERIAL) -ra_ent(str_zsys, 'Z', KY_FW, bid_cur, $2000, CPM_LOC, CPM_SIZ, CPM_ENT) +; Name Key Dsky Bank Src Dest Size Entry +; --------- ------- ----- -------- ----- ------- ------- ---------- +ra_ent(str_mon, 'M', KY_CL, bid_cur, MON_IMGLOC, MON_LOC, MON_SIZ, MON_SERIAL) +ra_ent(str_zsys, 'Z', KY_FW, bid_cur, ZSYS_IMGLOC, CPM_LOC, CPM_SIZ, CPM_ENT) #if (DSKYENABLE) -ra_ent(str_dsky, 'Y'+$80, KY_GO, bid_cur, $1000, MON_LOC, MON_SIZ, MON_DSKY) +ra_ent(str_dsky, 'Y'+$80, KY_GO, bid_cur, MON_IMGLOC, MON_LOC, MON_SIZ, MON_DSKY) #endif .dw 0 ; table terminator ; @@ -2114,6 +2122,7 @@ str_fth .db "Forth",0 str_bas .db "BASIC",0 str_tbas .db "Tasty BASIC",0 str_play .db "Play a Game",0 +str_upd .db "ROM Updater",0 str_user .db "User App",0 str_egg .db "",0 str_net .db "Network Boot",0 diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 58a62a1e..e63dfcd9 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -538,39 +538,65 @@ CBIOS_LOC .EQU CBIOS_END - CBIOS_SIZ ; START OF CBIOS CPM_ENT .EQU CBIOS_LOC ; CPM ENTRY POINT (IN CBIOS) +CPM_IMGSIZ .EQU $3000 + +; ROM BANK 1 + +LDR_LOC .EQU $0000 LDR_SIZ .EQU $1000 +LDR_END .EQU LDR_LOC +LDR_SIZ +LDR_IMGLOC .EQU $0000 MON_LOC .EQU $EE00 ; LOCATION OF MONITOR FOR RUNNING SYSTEM MON_SIZ .EQU $1000 ; SIZE OF MONITOR BINARY IMAGE MON_END .EQU MON_LOC + MON_SIZ ; END OF MONITOR +MON_IMGLOC .EQU LDR_IMGLOC + LDR_SIZ + +ZSYS_IMGLOC .EQU MON_IMGLOC + MON_SIZ + +CPM_IMGLOC .EQU ZSYS_IMGLOC + CPM_IMGSIZ + +; ROM BANK 2 + +FTH_LOC .EQU $0200 ; CAMEL FORTH +FTH_SIZ .EQU $1700 +FTH_END .EQU FTH_LOC + FTH_SIZ +FTH_IMGLOC .EQU $0000 BAS_LOC .EQU $0200 ; NASCOM BASIC BAS_SIZ .EQU $2000 BAS_END .EQU BAS_LOC + BAS_SIZ +BAS_IMGLOC .EQU FTH_IMGLOC + FTH_SIZ TBC_LOC .EQU $0A00 ; TASTYBASIC TBC_SIZ .EQU $0900 TBC_END .EQU TBC_LOC + TBC_SIZ +TBC_IMGLOC .EQU BAS_IMGLOC + BAS_SIZ + +GAM_LOC .EQU $0200 ; GAME 2048 +GAM_SIZ .EQU $0900 +GAM_END .EQU GAM_LOC + GAM_SIZ +GAM_IMGLOC .EQU TBC_IMGLOC + TBC_SIZ EGG_LOC .EQU $F000 ; EASTER EGG EGG_SIZ .EQU $0200 EGG_END .EQU EGG_LOC + EGG_SIZ +EGG_IMGLOC .EQU GAM_IMGLOC + GAM_SIZ -FTH_LOC .EQU $0200 ; CAMEL FORTH -FTH_SIZ .EQU $1700 -FTH_END .EQU FTH_LOC + FTH_SIZ +NET_LOC .EQU $0100 ; NETWORK BOOT +NET_SIZ .EQU $1000 +NET_END .EQU NET_LOC + NET_SIZ +NET_IMGLOC .EQU EGG_IMGLOC + EGG_SIZ -GAM_LOC .EQU $0200 ; GAME 2048 -GAM_SIZ .EQU $0900 -GAM_END .EQU GAM_LOC + GAM_SIZ +UPD_LOC .EQU $0200 ; ROM UPDATER +UPD_SIZ .EQU $0D00 +UPD_END .EQU UPD_LOC + UPD_SIZ +UPD_IMGLOC .EQU NET_IMGLOC + NET_SIZ USR_LOC .EQU $0200 ; USER -USR_SIZ .EQU $8000 - FTH_SIZ - BAS_SIZ - TBC_SIZ - GAM_SIZ - EGG_SIZ +USR_SIZ .EQU BNKTOP - UPD_IMGLOC - UPD_SIZ USR_END .EQU USR_LOC + USR_SIZ - -NET_LOC .EQU $0100 ; NETWORK BOOT -NET_SIZ .EQU $2000 -NET_END .EQU NET_LOC + NET_SIZ +USR_IMGLOC .EQU UPD_IMGLOC + UPD_SIZ MON_DSKY .EQU MON_LOC + (0 * 3) ; MONITOR ENTRY (DSKY) MON_SERIAL .EQU MON_LOC + (1 * 3) ; MONITOR ENTRY (SERIAL PORT) diff --git a/Source/HBIOS/updater.asm b/Source/HBIOS/updater.asm index 38d7313d..81bda7c9 100644 --- a/Source/HBIOS/updater.asm +++ b/Source/HBIOS/updater.asm @@ -4,10 +4,7 @@ ; PROVIDES THE CAPABILTY TO UPDATE ROMWBW FROM THE SBC BOOT LOADER USING ; AN XMODEM FILE TRANSFER. ; -; TO INSTALL, SAVE THIS FILE AS USRROM.ASM IN \RomWBW\Source\HBIOS -; AND REBUILD AND INSTALL THE NEW ROM VERSION. -; -; THE UPDATER CAN THEN BE ACCESSED USING THE "U" OPTION IN THE SBC BOOT LOADER. +; THIS TOOL CAN BE LAUNCHED FROM THE ROMWBW BOOT LOADER USING OPTION 'R'. ; ; OPTION (C) AND (S) - CONSOLE AND SERIAL DEVICE ; @@ -129,7 +126,7 @@ HBX_BNKSEL .EQU $FE2B ; XFUDBG .EQU 0 ; - .ORG USR_LOC + .ORG UPD_LOC ; ; ASCII codes ; @@ -1215,9 +1212,9 @@ LSTDEV: .EQU $ ; sector4k: .EQU $ ; 32 PACKETS GET ACCUMULATED HERE BEFORE FLASHING ; -SLACK .EQU (USR_END - $) +SLACK .EQU (UPD_END - $) .FILL SLACK,$FF - .ECHO "User ROM space remaining: " + .ECHO "ROM Updater space remaining: " .ECHO SLACK .ECHO " bytes.\n" .END diff --git a/Source/ver.inc b/Source/ver.inc index b0fc2263..3778e664 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 1 #DEFINE RUP 1 #DEFINE RTP 0 -#DEFINE BIOSVER "3.1.1-pre.88" +#DEFINE BIOSVER "3.1.1-pre.90" diff --git a/Source/ver.lib b/Source/ver.lib index fa9a0170..fe25abeb 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 1 rup equ 1 rtp equ 0 biosver macro - db "3.1.1-pre.88" + db "3.1.1-pre.90" endm