mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Improve TMS Reset & SN76489 Early Init
- The TMS reset function was missing a call to re-initialize the CRT registers. This has been added. - The SN76489 powers up in a dreadful state where it is emitting loud noise until initialized. Added a PREINIT entry point to initialize the registers earlier. Still not great, but a lot better.
This commit is contained in:
@@ -1967,19 +1967,19 @@ HB_CPU1:
|
||||
LD (RTC_DISPACT),A ; RTC DEVICE
|
||||
LD (DSKY_DISPACT),A ; DSKY DEVICE
|
||||
;
|
||||
#IF (SN76489ENABLE)
|
||||
CALL SN76489_PREINIT
|
||||
#ENDIF
|
||||
#IF (DSRTCENABLE)
|
||||
CALL DSRTC_PREINIT
|
||||
#ENDIF
|
||||
;
|
||||
#IF (DSKYENABLE)
|
||||
#IF (ICMENABLE)
|
||||
CALL ICM_PREINIT
|
||||
#ENDIF
|
||||
;
|
||||
#IF (PKDENABLE)
|
||||
CALL PKD_PREINIT
|
||||
#ENDIF
|
||||
;
|
||||
#IF (H8PENABLE)
|
||||
CALL H8P_PREINIT
|
||||
#ENDIF
|
||||
|
||||
@@ -56,6 +56,12 @@ CHANNEL_3_SILENT .EQU $FF
|
||||
;
|
||||
#INCLUDE "audio.inc"
|
||||
;
|
||||
; BLINDLY RESET THE PSG AS SOON AS WE CAN AFTER BOOT BECAUSE IT
|
||||
; DOES NOT RESET ITSELF AT POWER ON AND MAKES UGLY NOISE.
|
||||
;
|
||||
SN76489_PREINIT:
|
||||
JR SN7_RESET
|
||||
;
|
||||
SN76489_INIT:
|
||||
LD IY, SN7_IDAT ; POINTER TO INSTANCE DATA
|
||||
LD BC, SN7_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
|
||||
@@ -350,7 +350,12 @@ TMS_VDARES:
|
||||
#IF (CPUFAM == CPU_Z180)
|
||||
CALL TMS_Z180IO
|
||||
#ENDIF
|
||||
TMS_VDARES1: ; ENTRY POINT TO AVOID TMS_Z180IO RECURSION
|
||||
CALL TMS_CRTINIT
|
||||
;
|
||||
; ENTRY POINT USED BY TMS_INIT TO AVOID DUPLICATE CALL TO TMS_CRTINIT
|
||||
; AND TMS_Z180IO.
|
||||
;
|
||||
TMS_VDARES1:
|
||||
LD DE,0 ; ROW = 0, COL = 0
|
||||
CALL TMS_XY ; SEND CURSOR TO TOP LEFT
|
||||
LD A,' ' ; BLANK THE SCREEN
|
||||
|
||||
Reference in New Issue
Block a user