Compare commits

...

2 Commits

Author SHA1 Message Date
Wayne Warthen
6f7d1447ea Fixes for RTCHB and DS1501RTC
Thanks and credit to Marten Feldman for contributing these.
2024-01-15 16:24:43 -08:00
Wayne Warthen
3e6120e0fa ACIA Driver Interrupt Handling Performance Improvements
Thanks and credit to Derek Cooper, Wesley Isacks, Bill Shen, and
Phillip Stevens.
2024-01-14 11:22:26 -08:00
7 changed files with 20 additions and 29 deletions

View File

@@ -1,3 +1,8 @@
Version 3.5
-----------
- M?F: Fix for hours display in HBRTC application
- M?F: Fix for assembly error in DS1501RTC driver
Version 3.4
-----------
NOTE: Changes require HBIOS/CBIOS/Apps sync, version bump to 3.4 to ensure integrity

View File

@@ -58,7 +58,7 @@ HBC_CLKTBL:
.DB 02H, 00111111B, '/'
.DB 01H, 00011111B, '/'
.DB 00H, 11111111B, ' '
.DB 03H, 00011111B, ':'
.DB 03H, 00111111B, ':'
.DB 04H, 01111111B, ':'
.DB 05H, 01111111B, 00H
;

View File

@@ -103,16 +103,16 @@ UNA_%.osimg.bin: UNA_%.romldr.bin UNA_%.dbgmon.bin
cat camel80.bin $(*F).nascom.bin tastybasic.bin $(*F).game.bin $(*F).eastaegg.bin netboot.mod $(*F).updater.bin $(*F).usrrom.bin >$@
srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary
S100_%.imgpad2.bin: s100mon.bin
cp $< $@
srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary
%.imgpad2.bin: imgpad2.asm %.build.inc
cp $(*F).build.inc build.inc
$(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst)
srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary
rm build.inc
S100_%.imgpad2.bin: s100mon.bin
cp $< $@
srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary
UNA_%.rom: UNA_%.osimg.bin UNA_%.hbios_env.sh
. ./UNA_$(*F).hbios_env.sh ; \
cat ../UBIOS/UNA-BIOS.BIN UNA_$(*F).osimg.bin ../UBIOS/FSFAT.BIN ../RomDsk/rom$${ROMSIZE}_una.dat >$@ ; \

View File

@@ -178,26 +178,13 @@ ACIA1_INT:
;
ACIA_INTRCV:
; CHECK TO SEE IF SOMETHING IS ACTUALLY THERE
CALL DELAY
LD C,(IY+3) ; CMD/STAT PORT TO C
IN A,(C) ; GET STATUS
LD B,A
AND $01 ; ISOLATE READY BIT
JR NZ,ACIA_INTRCV1
;
#IF FALSE
CALL PC_LT
LD A,B
CALL PRTHEXBYTE
INC C
IN A,(C)
CALL PRTHEXBYTE
CALL PC_GT
OR $FF
#ENDIF
;
RET
RRA ; READY BIT TO CF
JR C,ACIA_INTRCV1 ; RECEIVE CHAR
XOR A ; INT NOT HANDLED, CLEAR ZF
RET ; ... AND RETURN
;
ACIA_INTRCV1:
; RECEIVE CHARACTER INTO BUFFER
@@ -285,9 +272,9 @@ ACIA_IN:
ACIA_IN:
CALL ACIA_IST ; SEE IF CHAR AVAILABLE
JR Z,ACIA_IN ; LOOP UNTIL SO
HB_DI ; AVOID COLLISION WITH INT HANDLER
LD L,(IY+6) ; SET HL TO
LD H,(IY+7) ; ... START OF BUFFER STRUCT
HB_DI ; AVOID COLLISION WITH INT HANDLER
LD A,(HL) ; GET COUNT
DEC A ; DECREMENT COUNT
LD (HL),A ; SAVE UPDATED COUNT
@@ -322,8 +309,8 @@ ACIA_IN2:
LD (HL),E ; SAVE UPDATED TAIL PTR
INC HL
LD (HL),D
LD E,C ; MOVE CHAR TO RETURN TO E
HB_EI ; INTERRUPTS OK AGAIN
LD E,C ; MOVE CHAR TO RETURN TO E
XOR A ; SIGNAL SUCCESS
RET ; AND DONE
;

View File

@@ -279,8 +279,7 @@ DS1501RTC_GETBYT:
LD E,A
;
; Return success
XOR
;
XOR A
RET
;
; RTC Set Byte

View File

@@ -2,7 +2,7 @@
#DEFINE RMN 5
#DEFINE RUP 0
#DEFINE RTP 0
#DEFINE BIOSVER "3.5.0-dev.0"
#DEFINE BIOSVER "3.5.0-dev.2"
#define rmj RMJ
#define rmn RMN
#define rup RUP

View File

@@ -3,5 +3,5 @@ rmn equ 5
rup equ 0
rtp equ 0
biosver macro
db "3.5.0-dev.0"
db "3.5.0-dev.2"
endm