Browse Source

ez80: port sn76489 driver to support 16 bit i/o

master
Dean Netherton 1 year ago
parent
commit
d3019dbb88
  1. 4
      Source/HBIOS/cfg_RCEZ80.asm
  2. 19
      Source/HBIOS/sn76489.asm

4
Source/HBIOS/cfg_RCEZ80.asm

@ -379,11 +379,11 @@ UFENABLE .SET FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
AUDIOTRACE .SET FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
SN7CLK .SET 3579545 ; SN: PSG CLOCK FREQ, ASSUME MSX STD
SN7CLK .SET CPUOSC/4 ; SN: PSG CLOCK FREQ, ASSUME MSX STD
SNMODE .SET SNMODE_RC ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM|DUO]
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AY_CLK .SET 1789772 ; AY: PSG CLOCK FREQ, ASSUME MSX STD
AY_CLK .SET CPUOSC/4 ; AY: PSG CLOCK FREQ, ASSUME MSX STD
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
;
SPKENABLE .SET FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)

19
Source/HBIOS/sn76489.asm

@ -87,6 +87,7 @@ SN7_INIT:
#IFDEF SBCV2004
LD A,(HB_RTCVAL)
OR %00001000 ; SBC-V2-004+ CHANGE
EZ80_IO
OUT (RTCIO),A ; TO HALF CLOCK SPEED
#ENDIF
;
@ -95,13 +96,16 @@ SN7_INIT:
SN7_INIT1
LD A,(HL)
INC HL ; BUMP FOR NEXT TIME
EZ80_IO
OUT (SN76489_PORT_LEFT), A ; WRITE LEFT PORT
EZ80_IO
OUT (SN76489_PORT_RIGHT), A ; WRITE RIGHT PORT
DJNZ SN7_INIT1 ; LOOP TILL DONE
;
#IFDEF SBCV2004
LD A,(HB_RTCVAL)
AND %11110111 ; SBC-V2-004+ CHANGE TO
EZ80_IO
OUT (RTCIO),A ; NORMAL CLOCK SPEED
#ENDIF
;
@ -288,16 +292,19 @@ SN7_APPLY_VOL: ; APPLY VOLUME TO BOTH LEFT AND RIGHT CHANNELS
PUSH AF
LD A,(HB_RTCVAL)
OR %00001000 ; SBC-V2-004+ CHANGE
EZ80_IO
OUT (RTCIO),A ; TO HALF CLOCK SPEED
POP AF
#ENDIF
EZ80_IO
OUT (SN76489_PORT_LEFT), A
EZ80_IO
OUT (SN76489_PORT_RIGHT), A
#IFDEF SBCV2004
LD A,(HB_RTCVAL)
AND %11110111 ; SBC-V2-004+ CHANGE TO
EZ80_IO
OUT (RTCIO),A ; NORMAL CLOCK SPEED
#ENDIF
@ -333,16 +340,19 @@ SN7_APPLY_PRD:
PUSH AF
LD A,(HB_RTCVAL)
OR %00001000 ; SBC-V2-004+ CHANGE
EZ80_IO
OUT (RTCIO),A ; TO HALF CLOCK SPEED
POP AF
#ENDIF
EZ80_IO
OUT (SN76489_PORT_LEFT), A
EZ80_IO
OUT (SN76489_PORT_RIGHT), A
#IFDEF SBCV2004
LD A,(HB_RTCVAL)
AND %11110111 ; SBC-V2-004+ CHANGE TO
EZ80_IO
OUT (RTCIO),A ; NORMAL CLOCK SPEED
#ENDIF
@ -370,16 +380,19 @@ SN7_APPLY_PRD:
PUSH AF
LD A,(HB_RTCVAL)
OR %00001000 ; SBC-V2-004+ CHANGE
EZ80_IO
OUT (RTCIO),A ; TO HALF CLOCK SPEED
POP AF
#ENDIF
EZ80_IO
OUT (SN76489_PORT_LEFT), A
EZ80_IO
OUT (SN76489_PORT_RIGHT), A
#IFDEF SBCV2004
LD A,(HB_RTCVAL)
AND %11110111 ; SBC-V2-004+ CHANGE TO
EZ80_IO
OUT (RTCIO),A ; NORMAL CLOCK SPEED
#ENDIF

Loading…
Cancel
Save