Browse Source

ez80: supply the required min value for BUS CYCLES when using frequency calculation

master
Dean Netherton 2 years ago
parent
commit
b3bab80342
  1. 2
      Source/HBIOS/Config/RCEZ80_std.asm
  2. 2
      Source/HBIOS/cfg_rcez80.asm
  3. 5
      Source/HBIOS/ez80cpudrv.asm

2
Source/HBIOS/Config/RCEZ80_std.asm

@ -67,3 +67,5 @@ PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
EZ80UARTENABLE .SET TRUE ; EZ80 UART: ENABLE EZ80 UART0 DRIVER (EZ80UART.ASM)
EZ80RTCENABLE .SET TRUE ; EZ80 ON CHIP RTC
EZ80TIMER .SET EZ80TMR_INT ; EZ80: TIMER TICK MODEL: EZ80TMR_[INT|FIRM]
;
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT

2
Source/HBIOS/cfg_rcez80.asm

@ -47,10 +47,12 @@ MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY)
; BUS TIMING FOR PAGED MEMORY ACCESS (CS3)
EZ80_MEM_CYCLES .EQU 3 ; EZ80 CYCLES FOR MEMORY (1-15)
EZ80_MEM_FREQ .EQU 16000 ; CALCULATE APPROPRIATE BUS CYCLES TO ACHIVE APPOX BUS FREQUENCY
EZ80_MEM_MINCYC .EQU 1 ; EZ80 MINIMUM CYCLES FOR MEMORY WHEN CALCULATING FROM EZ80_MEM_FREQ
;
; BUS TIMING FOR EXTERNAL I/O ACCESS (CS2)
EZ80_IO_CYCLES .EQU 4 ; EZ80 CYCLES FOR IO (1-15)
EZ80_IO_FREQ .EQU 5250 ; CALCULATE APPROPRIATE BUS CYCLES TO ACHIVE APPOX BUS FREQUENCY
EZ80_IO_MINCYC .EQU 4 ; EZ80 MINIMUM CYCLES FOR IO WHEN CALCULATING FROM EZ80_IO_FREQ
;
; SELECT CYCLES, OR CALCULATE CYCLES BASED ON DESIRED FREQUENCY
EZ80_ASSIGN .EQU 0 ; 0 -> USE FREQ, 1 -> USE CYCLES

5
Source/HBIOS/ez80cpudrv.asm

@ -44,7 +44,10 @@ EZ80_PREINIT:
#ELSE
LD HL, EZ80_MEM_FREQ
LD DE, EZ80_IO_FREQ
EZ80_UTIL_SET_BUSFQ() ; H -> CS3 CYCLES, L -> CS2 CYCLES
EXX
LD HL, EZ80_MEM_MINCYC << 8 | EZ80_IO_MINCYC
EXX
EZ80_UTIL_SET_BUSFQ()
#ENDIF
LD A, H
LD (EZ80_PLT_C3CYL), A

Loading…
Cancel
Save