Browse Source

Add support for Eazy Z80

Signed-off-by: Sergey Kiselev <skiselev@gmail.com>
pull/24/head
Sergey Kiselev 7 years ago
parent
commit
7ba9bd6e67
  1. 22
      Source/HBIOS/Config/RC_ez80.asm
  2. 17
      Source/HBIOS/sio.asm
  3. 1
      Source/HBIOS/std.asm

22
Source/HBIOS/Config/RC_ez80.asm

@ -0,0 +1,22 @@
;
;==================================================================================================
; RC2014 - EASY Z80 CONFIGURATION
;==================================================================================================
;
#include "cfg_rc.asm"
;
CPUOSC .SET 10000000 ; CPU OSC FREQ
DEFSERCFG .SET SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE)
;
SIOENABLE .SET TRUE ; TRUE TO AUTO-DETECT ZILOG SIO/2
SIOMODE .SET SIOMODE_EZ80 ; TYPE OF SIO/2 TO DETECT: SIOMODE_RC, SIOMODE_SMB, SIOMODE_EZ80
ACIAENABLE .SET FALSE ; TRUE TO AUTO-DETECT MOTOROLA 6850 ACIA
;
FDENABLE .SET FALSE ; TRUE FOR FLOPPY SUPPORT
FDMODE .SET FDMODE_RCWDC ; FDMODE_RCSMC, FDMODE_RCWDC
;
IDEENABLE .SET TRUE ; TRUE FOR IDE DEVICE SUPPORT (CF MODULE)
IDEMODE .SET IDEMODE_RC ; TYPE OF CF MODULE: IDEMODE_RC, IDEMODE_SMB
PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT (PPIDE MODULE)
;
DSRTCENABLE .SET FALSE ; DS-1302 CLOCK DRIVER

17
Source/HBIOS/sio.asm

@ -40,6 +40,13 @@ SIOB_CMD .EQU SIOBASE + $07
SIOB_DAT .EQU SIOBASE + $05 SIOB_DAT .EQU SIOBASE + $05
#ENDIF #ENDIF
; ;
#IF (SIOMODE == SIOMODE_EZ80)
SIOA_CMD .EQU SIOBASE + $01
SIOA_DAT .EQU SIOBASE + $00
SIOB_CMD .EQU SIOBASE + $03
SIOB_DAT .EQU SIOBASE + $02
#ENDIF
;
; CONDITIONALS THAT DETERMINE THE ENCODED VALUE OF THE BAUD RATE ; CONDITIONALS THAT DETERMINE THE ENCODED VALUE OF THE BAUD RATE
; ;
#INCLUDE "siobaud.inc" #INCLUDE "siobaud.inc"
@ -276,6 +283,9 @@ SIO_IN:
#IF ((SIOMODE == SIOMODE_SMB) | (SIOMODE == SIOMODE_ZP)) #IF ((SIOMODE == SIOMODE_SMB) | (SIOMODE == SIOMODE_ZP))
DEC C ; DECREMENT CMD PORT TWICE TO GET DATA PORT DEC C ; DECREMENT CMD PORT TWICE TO GET DATA PORT
DEC C DEC C
#ENDIF
#IF (SIOMODE == SIOMODE_EZ80)
DEC C ; DECREMENT CMD PORT TO GET DATA PORT
#ENDIF #ENDIF
IN E,(C) ; GET CHAR IN E,(C) ; GET CHAR
XOR A ; SIGNAL SUCCESS XOR A ; SIGNAL SUCCESS
@ -358,8 +368,11 @@ SIO_OUT:
INC C ; BUMP TO DATA PORT INC C ; BUMP TO DATA PORT
#ENDIF #ENDIF
#IF ((SIOMODE == SIOMODE_SMB) | (SIOMODE == SIOMODE_ZP)) #IF ((SIOMODE == SIOMODE_SMB) | (SIOMODE == SIOMODE_ZP))
DEC C ; DECREMENT CMD PORT TWICE TO GET DATA PORT
DEC C
DEC C ; DECREMENT CMD PORT TWICE TO GET DATA PORT
DEC C
#ENDIF
#IF (SIOMODE == SIOMODE_EZ80)
DEC C ; DECREMENT CMD PORT TO GET DATA PORT
#ENDIF #ENDIF
OUT (C),E ; SEND CHAR FROM E OUT (C),E ; SEND CHAR FROM E
XOR A ; SIGNAL SUCCESS XOR A ; SIGNAL SUCCESS

1
Source/HBIOS/std.asm

@ -78,6 +78,7 @@ SIOMODE_NONE .EQU 0
SIOMODE_RC .EQU 1 ; RC2014 SIO MODULE (SPENCER OWEN) SIOMODE_RC .EQU 1 ; RC2014 SIO MODULE (SPENCER OWEN)
SIOMODE_SMB .EQU 2 ; RC2014 SIO MODULE (SCOTT BAKER) SIOMODE_SMB .EQU 2 ; RC2014 SIO MODULE (SCOTT BAKER)
SIOMODE_ZP .EQU 3 ; ECB-ZILOG PERIPHERALS BOARD SIOMODE_ZP .EQU 3 ; ECB-ZILOG PERIPHERALS BOARD
SIOMODE_EZ80 .EQU 4 ; EASY Z80 ON-BOARD SIO/0
; ;
; PIO MODE SELECTIONS ; PIO MODE SELECTIONS
; ;

Loading…
Cancel
Save