Skip to content

Commit

Permalink
Merge pull request #425 from dinoboards/dean-ez80-4
Browse files Browse the repository at this point in the history
ez80: fix for FPLEDS to ensure 16 bit I/O
  • Loading branch information
wwarthen authored Sep 16, 2024
2 parents 1d8c0c9 + a6a32bb commit bba9c5e
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 18 deletions.
2 changes: 1 addition & 1 deletion Source/HBIOS/ez80instr.inc
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@

#DEFINE LDBCMM.LIL(Mmn) \
#defcont \ .DB $5B
#defcont \ LD BC, Mmn
#defcont \ LD BC, Mmn & $FFFF
#defcont \ .DB (Mmn >> 16) & $FF

#DEFINE SBCHLBC.LIL \
Expand Down
6 changes: 4 additions & 2 deletions Source/HBIOS/ez80rtc.asm
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@ EZ80RTC_INIT:
RET NZ ; IF ALREADY ACTIVE, ABORT

CALL NEWLINE ; FORMATTING
PRTS("EZ80 RTC: POWERED $")
CALL PRTSTRD
.TEXT "EZ80 RTC: POWERED $"

EZ80_RTC_INIT()
JR Z, RTC_POWERED

PUSH AF
PRTS("NOT POWERED$")
CALL PRTSTRD
.TEXT "NOT POWERED$"
POP AF
RET

Expand Down
6 changes: 4 additions & 2 deletions Source/HBIOS/ez80systmr.asm
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
#IF (EZ80TIMER == EZ80TMR_INT)
EZ80_TMR_INIT:
CALL NEWLINE ; FORMATTING
PRTS("EZ80 TIMER: INTERRUPTS ENABLED$")
CALL PRTSTRD
.TEXT "EZ80 TIMER: INTERRUPTS ENABLED$"

LD HL,EZ80_TMR_INT ; GET INT VECTOR
CALL HB_ADDIM1 ; ADD TO IM1 CALL LIST
Expand All @@ -34,7 +35,8 @@ EZ80_TMR_INT:

EZ80_TMR_INIT:
CALL NEWLINE ; FORMATTING
PRTS("EZ80 TIMER: FIRMWARE$")
CALL PRTSTRD
.TEXT "EZ80 TIMER: FIRMWARE$"
RET
; -----------------------------------------------
; Implementation of HBIOS SYS TIMER functions to
Expand Down
24 changes: 11 additions & 13 deletions Source/HBIOS/ez80uart.asm
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ EZUART_PREINIT:

EZUART_INIT:
CALL NEWLINE ; FORMATTING
PRTS("EZ80 UART: UART0$")
CALL PRTSTRD
.TEXT "EZ80 UART: UART0$"

XOR A
RET
Expand Down Expand Up @@ -224,18 +225,15 @@ EZUART_QUERY:
TRANSLATE(96000-67200, 01010b) ; BAUDRATE=76800 (BETWEEN 67201 AND 96000)
TRANSLATE(134400-96000, 11001b) ; BAUDRATE=115200 (BETWEEN 96001 AND 134400)
TRANSLATE(192000-134400, 01011b) ; BAUDRATE=153600 (BETWEEN 134401 AND 192000)
;;;
;;; The following are causing "Unused data in MS byte of argument." errors
;;;
;;; TRANSLATE(268800-192000, 11010b) ; BAUDRATE=230400 (BETWEEN 192001 AND 268800)
;;; TRANSLATE(384000-268800, 01100b) ; BAUDRATE=307200 (BETWEEN 268801 AND 384000)
;;; TRANSLATE(537600-384000, 11011b) ; BAUDRATE=460800 (BETWEEN 384001 AND 537600)
;;; TRANSLATE(768000-537600, 01101b) ; BAUDRATE=614400 (BETWEEN 537601 AND 768000)
;;; TRANSLATE(1075200-768000, 11100b) ; BAUDRATE=921600 (BETWEEN 768001 AND 1075200)
;;; TRANSLATE(1536000-1075200, 01110b) ; BAUDRATE=1228800 (BETWEEN 1075201 AND 1536000)
;;; TRANSLATE(2150400-1536000, 11101b) ; BAUDRATE=1843200 (BETWEEN 1536001 AND 2150400)
;;; TRANSLATE(3072000-2150400, 01111b) ; BAUDRATE=2457600 (BETWEEN 2150401 AND 3072000)
;;; TRANSLATE(5529600-3072000, 11110b) ; BAUDRATE=3686400 (BETWEEN 3072001 AND 5529600)
TRANSLATE(268800-192000, 11010b) ; BAUDRATE=230400 (BETWEEN 192001 AND 268800)
TRANSLATE(384000-268800, 01100b) ; BAUDRATE=307200 (BETWEEN 268801 AND 384000)
TRANSLATE(537600-384000, 11011b) ; BAUDRATE=460800 (BETWEEN 384001 AND 537600)
TRANSLATE(768000-537600, 01101b) ; BAUDRATE=614400 (BETWEEN 537601 AND 768000)
TRANSLATE(1075200-768000, 11100b) ; BAUDRATE=921600 (BETWEEN 768001 AND 1075200)
TRANSLATE(1536000-1075200, 01110b) ; BAUDRATE=1228800 (BETWEEN 1075201 AND 1536000)
TRANSLATE(2150400-1536000, 11101b) ; BAUDRATE=1843200 (BETWEEN 1536001 AND 2150400)
TRANSLATE(3072000-2150400, 01111b) ; BAUDRATE=2457600 (BETWEEN 2150401 AND 3072000)
TRANSLATE(5529600-3072000, 11110b) ; BAUDRATE=3686400 (BETWEEN 3072001 AND 5529600)

LD D, 11111b ; BAUDRATE=7372800 (>=5529601)
uart_query_end:
Expand Down
1 change: 1 addition & 0 deletions Source/HBIOS/hbios.asm
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ SUPCTS .EQU FALSE ; SUPPRESS CTS DURING HBIOS BOOT
#IF (FPLED_INV)
#DEFCONT \ XOR $FF ; INVERT BITS IF NEEDED
#ENDIF
#DEFCONT \ EZ80_IO
#DEFCONT \ OUT (FPLED_IO),A
#DEFCONT \ POP AF
#ELSE
Expand Down

0 comments on commit bba9c5e

Please sign in to comment.