diff --git a/Source/HBIOS/Config/SZ80_std.asm b/Source/HBIOS/Config/SZ80_std.asm index 26685630..b58472ce 100644 --- a/Source/HBIOS/Config/SZ80_std.asm +++ b/Source/HBIOS/Config/SZ80_std.asm @@ -50,7 +50,6 @@ CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ RAMSIZE .SET 1024 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!) -CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP MEMMGR .SET MM_SZ80 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512|SZ80] ; FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 45f58ec4..b8130ce3 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -3004,6 +3004,28 @@ HB_BOOTDLY: ; HB_CONRDY: ; +; S100 Z80 CONSOLE SELECTION +; THE S100 Z80 USES AN IOBYTE BIT TO SELECT BETWEEN SERIAL PORT +; AND THE PROPELLER CONSOLE. THE PROPELLER CONSOLE IS ASSUMED TO +; BE THE CRT DEVICE. WE USE THE IOBYTE BIT TO SET THE STARTUP +; CHARACTER DEVICE TO THE PROPELLER CONSOLE IF APPROPRIATE. THIS +; DOES ASSUME THAT THE CRT DEVICE IS THE PROPELLER CONSOLE OR THERE +; IS NO CRT DEVICE. +; +; +#IF ((PLATFORM == PLT_SZ80) & (MEMMGR == MM_SZ80)) + IN A,($EF) ; GET IO BYTE + AND %00100000 ; ISOLATE CONSOLE BIT + JR Z,HB_SZ80CON_Z ; IF ZERO, BYPASS CONSOLE SWITCH + LD A,(CB_CRTDEV) ; GET CRT DEVICE + CP $FF ; CHECK FOR NO H/W + JR Z,HB_SZ80CON_Z ; IF ZERO, BYPASS CONSOLE SWITCH + LD (CB_CONDEV),A ; SET CONSOLE DEVICE +; +HB_SZ80CON_Z: +; +#ENDIF +; ; SUPPRESS HARDWARE FLOW CONTROL TEMPORARILY, IF NEEDED. THIS IS ; GENERALLY NOT USED ANYMORE BECAUSE THE UART DRIVER NOW CHECKS FOR ; A VALID CTS SIGNAL AND ADJUSTS AS NEEDED. @@ -3702,12 +3724,6 @@ HB_WDZ: AND %00000001 ; ISOLATE CONSOLE BIT JR NZ,INITSYS3 ; NOT SET, BYPASS CONSOLE SWITCH #ENDIF -; - #IF ((PLATFORM == PLT_SZ80) & (MEMMGR == MM_SZ80)) - IN A,($EF) ; GET IO BYTE - AND %00100000 ; ISOLATE CONSOLE BIT - JR Z,INITSYS3 ; IF ZERO, BYPASS CONSOLE SWITCH - #ENDIF ; #IF ((PLATFORM == PLT_SZ80) & (MEMMGR == MM_Z2)) ; IOBYTE: XXXXXVVC