Miscellaneous

- Improved Linux build to pass actual processor type to uz80as
- Modified Z280 system timer to handle faster CPU clocks accurately
This commit is contained in:
Wayne Warthen
2021-04-01 17:08:16 -07:00
parent ca55193d23
commit 41061179b5
13 changed files with 178 additions and 151 deletions

View File

@@ -25,6 +25,8 @@ config=$2
romsize=$3
romname=$4
export platform
# prompt if no match
platforms=($(find Config -name \*.asm -print | \
sed -e 's,Config/,,' -e 's/_.*$//' | sort -u))

View File

@@ -28,8 +28,7 @@
;
#include "Config/RCZ280_nat.asm"
;
;CPUOSC .SET 29491200 ; CPU OSC FREQ IN MHZ
CPUOSC .SET 24000000 ; CPU OSC FREQ IN MHZ
CPUOSC .SET 29491200 ; CPU OSC FREQ IN MHZ
;
RAMSIZE .SET 384 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
RAM_RESERVE .SET 128 ; RESERVE FIRST N KB OF RAM (USUALLY 0)

View File

@@ -44,13 +44,20 @@ TOOLS =../../Tools
OTHERS = *.img *.rom *.com *.bin *.z80 cpm.sys zsys.sys Build.inc RomDisk.tmp font*.asm *.dat
include $(TOOLS)/Makefile.inc
ifneq ($(findstring $(platform), N8 MK4 RCZ180 SCZ180 DYNO),)
TASM=$(BINDIR)/uz80as -t hd64180
endif
ifneq ($(findstring $(platform), RCZ280),)
TASM=$(BINDIR)/uz80as -t z280
endif
ifeq ($(DIFFMAKE),1)
DIFFBUILD := -d $(DIFFTO)/Source/HBIOS
endif
DIFFPATH = $(DIFFTO)/Binary
ROMSIZE=512
N8_std.rom: ROMSIZE=512

View File

@@ -812,7 +812,7 @@ HBX_INT: ; COMMON INTERRUPT ROUTING CODE
POP HL ; RESTORE HL
;
CALL HBX_RETI ; RETI FOR Z80 PERIPHERALS
.DB $ED,$55 ; RETIL
RETIL
;
HBX_RETI:
RETI
@@ -1192,8 +1192,6 @@ Z280_INITZ:
;
DIAG(%00000011)
LED($00)
; ok
;
; CHECK BATTERY BACKUP STATUS BEFORE WE COPY PROXY TO UPPER MEMORY
;
@@ -1662,7 +1660,7 @@ Z280_TC .EQU CPUOSC / 4 / 50 / 2 ; TIME CONSTANT
;
LD A,%10100000 ; CONFIG: C, RE, IE
OUT (Z280_CT0_CFG),A ; SET C/T 0
LD HL,Z280_TC ; TIME CONSTANT & COUNTER
LD HL,CPUOSC / 50 / 16 ; TIME CONSTANT & COUNTER
LD C,Z280_CT0_TC ; SET C/T 0
OUTW (C),HL
LD C,Z280_CT0_CT ; SET C/T 0
@@ -1887,12 +1885,12 @@ HB_Z280BUS1:
#IF (CPUFAM == CPU_Z280)
LD A,Z280_MEMLOWAIT
CALL PRTDECB
CALL PRTSTRD
.TEXT " MEM LO W/S, $"
LD A,'/'
CALL COUT
LD A,Z280_MEMHIWAIT
CALL PRTDECB
CALL PRTSTRD
.TEXT " MEM HI W/S, $"
.TEXT " MEM W/S, $"
#ELSE
XOR A
#IF (CPUFAM == CPU_Z180)
@@ -3669,8 +3667,11 @@ Z280_TIMINT:
PUSH DE
PUSH HL
;
; CALL PRIMARY TIMER LOGIC
CALL HB_TIMINT
; CALL PRIMARY TIMER LOGIC ON EVERY OTHER INT
LD A,(Z280_TIMCTR)
XOR $FF
LD (Z280_TIMCTR),A
CALL Z,HB_TIMINT
;
; SELECT I/O PAGE $FE (SAVING PREVIOUS VALUE)
LD C,Z280_IOPR ; REG C POINTS TO I/O PAGE REGISTER
@@ -3695,7 +3696,9 @@ Z280_TIMINT:
POP BC
POP AF
;
.DB $ED,$55 ; RETIL
RETIL
;
Z280_TIMCTR .DB 0 ; USED TO DIVIDE TIMER INTS
;
#ENDIF
;
@@ -3879,7 +3882,7 @@ Z280_DIAG:
CALL PRTHEXWORDHL ; DUMP MSR
EX (SP),HL ; MSR TO STK, RECOVER HL
;
;.DB $ED,$55 ; RETIL
;RETIL
DI
HALT
;

View File

@@ -245,7 +245,7 @@ Z2U_INTRCV4:
POP BC
POP AF
;
.DB $ED,$55 ; RETIL
RETIL
#ENDIF
;
; DRIVER FUNCTION TABLE

View File

@@ -2,4 +2,4 @@
#DEFINE RMN 1
#DEFINE RUP 1
#DEFINE RTP 0
#DEFINE BIOSVER "3.1.1-pre.66"
#DEFINE BIOSVER "3.1.1-pre.67"

View File

@@ -3,5 +3,5 @@ rmn equ 1
rup equ 1
rtp equ 0
biosver macro
db "3.1.1-pre.66"
db "3.1.1-pre.67"
endm