diff --git a/Source/HBIOS/cfg_MASTER.asm b/Source/HBIOS/cfg_MASTER.asm index 77146810..61ac19ae 100644 --- a/Source/HBIOS/cfg_MASTER.asm +++ b/Source/HBIOS/cfg_MASTER.asm @@ -57,6 +57,7 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) BT_REC_TYPE .EQU BT_REC_NONE ; BOOT RECOVERY METHOD TO USE BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT +BOOT_PRETTY .EQU FALSE ; BOOT WITH PRETTY PLATFORM NAME AUTOCON .EQU FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT ; CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index be3e45fa..2f0f9e7a 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -2934,6 +2934,9 @@ NXTMIO: LD A,(HL) ; DISPLAYED BEFORE INTRODUCING INTERRUPTS. IF THE SYSTEM CRASHES ; AFTER DISPLAYING THE BANNER, INTERRUPT INTEGRITY SHOULD BE SUSPECTED. ; +#IF (BOOT_PRETTY) + PRTX(STR_PLT_PRETTY) +#ENDIF PRTX(STR_BANNER) ; ; DISPLAY HBIOS MUTEX ENABLED MESSAGE @@ -9467,6 +9470,10 @@ STR_PANIC .TEXT "\r\n>>> PANIC: $" STR_SYSCHK .TEXT "\r\n>>> SYSCHK: $" STR_CONTINUE .TEXT "\r\nContinue (Y/N)? $" ; +#IF (BOOT_PRETTY) +#INCLUDE "plt_pretty.inc" +#ENDIF +; HB_CURSEC .DB 0 ; CURRENT SECOND (TEMP) ; HB_BCDTMP .FILL 5,0 ; BCD NUMBER STORAGE (TEMP) diff --git a/Source/HBIOS/plt_pretty.inc b/Source/HBIOS/plt_pretty.inc new file mode 100644 index 00000000..350e8d2b --- /dev/null +++ b/Source/HBIOS/plt_pretty.inc @@ -0,0 +1,192 @@ +; Pretty platform boot banner. +; +; Defaults to off due to HBIOS space considerations. +; Add BOOT_PRETTY .SET TRUE to your custom configuration to enable. +; +; Inspired by Dan Gardeners boot messages +; +; From the website: +; http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20 +; Font is "Small", width and height full. +; +; Manual adjustments made to cater for assembler text escape directives, +; 80 column line length and kerning. +; E.g. +; \ becomes \\ +; ' becomes * +; lines ending with \ need a trailing space. +; +; ECB SBC Z80 +; ZETA Z80 +; ZETA2 Z80 +; N8 ZS180 +; ECB MK4 Z180 +; UNABIOS +; RCBUS Z80 +; RCBUS Z180 +; RCBUS EASY Z80 +; RCBUS SC Z180 +; DYNO uATX +; RCBUS Z280 +; MBC Z80 +; RHYOPHYRE +; Z80RETRO +; S100 Z180 +; DUODYNE +; HEATH Z80 +; mITX +; MONSPUTER +; GENESIS Z180 +; NABU +; S100 FPGA Z80 +; RCBUS eZ80 +; +STR_PLT_PRETTY: +; + .DB 10,13 +; +#IF (PLATFORM == PLT_SBC) + .DB " ___ ___ ___ ___ ___ ___ ____ ___ __",10,13 + .DB "| __| / __| | _ ) / __| | _ ) / __| |_ / ( _ ) / \\ ",10,13 + .DB "| _| | (__ | _ \\ \\__ \\ | _ \\ | (__ / / / _ \\ | () |",10,13 + .DB "|___| \\___| |___/ |___/ |___/ \\___| /___| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_ZETA) + .DB " ____ ___ _____ _ ____ ___ __",10,13 + .DB "|_ / | __| |_ _| /_\\ |_ / ( _ ) / \\ ",10,13 + .DB " / / | _| | | / _ \\ / / / _ \\ | () |",10,13 + .DB "/___| |___| |_| /_/ \\_\\ /___| \\___\/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_ZETA2) + .DB " ____ ___ _____ _ ___ ____ ___ __",10,13 + .DB "|_ / | __| |_ _| /_\\ |_ ) |_ / ( _ ) / \\ ",10,13 + .DB " / / | _| | | / _ \\ / / / / / _ \\ | () |\\ ",10,13 + .DB "/___| |___| |_| /_/ \\_\\ /___| /___| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_N8) + .DB " _ _ ___ ____ ___ _ ___ __",10,13 + .DB "| \\| | ( _ ) |_ / / __| / | ( _ ) / \\ ",10,13 + .DB "| .` | / _ \\ / / \\__ \\ | | / _ \\ | () |",10,13 + .DB "|_|\\_| \\___/ /___| |___/ |_| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_MK4) + .DB " ___ ___ ___ __ __ _ __ _ _ ____ _ ___ __",10,13 + .DB "| __| / __| | _ ) | \\/ | | |/ / | | | |_ / / | ( _ ) / \\ ",10,13 + .DB "| _| | (__ | _ \\ | |\\/| | | * < |_ _| / / | | / _ \\ | () |",10,13 + .DB "|___| \\___| |___/ |_| |_| |_|\\_\\ |_| /___| |_| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_UNA) + .DB " _ _ _ _ _ ___ ___ ___ ___",10,13 + .DB "| | | | | \\| | /_\\ | _ ) |_ _| / _ \\ / __|",10,13 + .DB "| |_| | | .` | / _ \\ | _ \\ | | | (_) | \\__ \\ ",10,13 + .DB " \\___/ |_|\\_| /_/ \\_\\ |___/ |___| \\___/ |___/",10,13 +#ENDIF +#IF (PLATFORM == PLT_RCZ80) + .DB " ___ ___ ___ _ _ ___ ____ ___ __",10,13 + .DB "| _ \\ / __| | _ ) | | | | / __| |_ / ( _ ) / \\ ",10,13 + .DB "| / | (__ | _ \\ | |_| | \\__ \\ / / / _ \\ | () |",10,13 + .DB "|_|_\\ \\___| |___/ \\___/ |___/ /___| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_RCZ180) + .DB " ___ ___ ___ _ _ ___ ____ _ ___ __",10,13 + .DB "| _ \\ / __| | _ ) | | | | / __| |_ / / | ( _ ) / \\ ",10,13 + .DB "| / | (__ | _ \\ | |_| | \\__ \\ / / | | / _ \\ | () |",10,13 + .DB "|_|_\\ \\___| |___/ \\___/ |___/ /___| |_| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_EZZ80) + .DB " ___ ___ ___ _ _ ___ ___ _ ___ __ __ ____ ___ __",10,13 + .DB "| _ \\ / __| | _ ) | | | | / __| | __| /_\\ / __| \\\\ / / |_ / ( _ ) / \\ ",10,13 + .DB "| / | (__ | _ \\ | |_| | \\__ \\ | _| / _ \\ \\__ \\ \\ V / / / / _ \\ | () |",10,13 + .DB "|_|_\\ \\___| |___/ \\___/ |___/ |___|/_/ \\_\\|___/ |_| /___| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_SCZ180) + .DB " ___ ___ ___ _ _ ___ ___ ___ ____ _ ___ __",10,13 + .DB "| _ \\ / __| | _ ) | | | | / __| / __| / __| |_ / / | ( _ ) / \\ ",10,13 + .DB "| / | (__ | _ \\ | |_| | \\__ \\ \\__ \\ | (__ / / | | / _ \\ | () |",10,13 + .DB "|_|_\\ \\___| |___/ \\___/ |___/ |___/ \\___| /___| |_| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_DYNO) + .DB " ___ __ __ _ _ ___ _ _____ __ __",10,13 + .DB "| \\ \\ \\ / / | \\| | / _ \\ _ _ /_\\ |_ _| \\ \\/ /",10,13 + .DB "| |) | \\ V / | .* | | (_) | | || | / _ \\ | | > <",10,13 + .DB "|___/ |_| |_|\\_| \\___/ \\_,_| /_/ \\_\\ |_| /_/\\_\\ ",10,13 +#ENDIF +#IF (PLATFORM == PLT_RCZ280) + .DB " ___ ___ ___ _ _ ___ ____ ___ ___ __",10,13 + .DB "| _ \\ / __| | _ ) | | | | / __| |_ / |_ ) ( _ ) / \\ ",10,13 + .DB "| / | (__ | _ \\ | |_| | \\__ \\ / / / / / _ \\ | () |",10,13 + .DB "|_|_\\ \\___| |___/ \\___/ |___/ /___| /___| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_MBC) + .DB " __ __ ___ ___ ____ ___ __",10,13 + .DB "| \\/ | | _ ) / __| |_ / ( _ ) / \\ ",10,13 + .DB "| |\\/| | | _ \\ | (__ / / / _ \\ | () |",10,13 + .DB "|_| |_| |___/ \\___| /___| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_RPH) + .DB " ___ _ _ __ __ ___ ___ _ _ __ __ ___ ___",10,13 + .DB "| _ \\ | || | \\ \\ / / / _ \\ | _ \\ | || | \\ \\ / / | _ \\ | __|",10,13 + .DB "| / | __ | \\ V / | (_) | | _/ | __ | \\ V / | / | _|",10,13 + .DB "|_|_\\ |_||_| |_| \\___/ |_| |_||_| |_| |_|_\\ |___|",10,13 +#ENDIF +#IF (PLATFORM == PLT_Z80RETRO) + .DB " ____ ___ __ ___ ___ _____ ___ ___",10,13 + .DB "|_ / ( _ ) / \\ | _ \\ | __| |_ _| | _ \\ / _ \\ ",10,13 + .DB " / / / _ \\ | () | | / | _| | | | / | (_) |",10,13 + .DB "/___| \\___/ \\__/ |_|_\\ |___| |_| |_|_\\ \\___/",10,13 +#ENDIF +#IF (PLATFORM == PLT_S100) + .DB " ___ _ __ __ ____ _ ___ __",10,13 + .DB "/ __| / | / \\ / \\ |_ / / | ( _ ) / \\ ",10,13 + .DB "\\__ \\ | | | () | | () | / / | | / _ \\ | () |",10,13 + .DB "|___/ |_| \\__/ \\__/ /___| |_| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_DUO) + .DB " ___ _ _ ___ ___ __ __ _ _ ___",10,13 + .DB "| \\ | | | | / _ \\ | \\ \\ \\ / / | \\| | | __|",10,13 + .DB "| |) | | |_| | | (_) | | |) | \\ V / | .` | | _|",10,13 + .DB "|___/ \\___/ \\___/ |___/ |_| |_|\\_| |___|",10,13 +#ENDIF +#IF (PLATFORM == PLT_HEATH) + .DB " _ _ ___ _ _____ _ _ ____ ___ __",10,13 + .DB "| || | | __| /_\\ |_ _| | || | |_ / ( _ ) / \\ ",10,13 + .DB "| __ | | _| / _ \\ | | | __ | / / / _ \\ | () |",10,13 + .DB "|_||_| |___| /_/ \\_\\ |_| |_||_| /___| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_EPITX) + .DB " ___ _____ __ __",10,13 + .DB " _ __ |_ _| |_ _| \\ \\/ /",10,13 + .DB "| ' \\ | | | | > <\n\r" + .DB "|_|_|_| |___| |_| /_/\\_\\ ",10,13 +#ENDIF +#IF (PLATFORM == PLT_MON) + .DB " __ __ ___ _ _ ___ ___ _ _ _____ ___ ___",10,13 + .DB "| \\/ | / _ \\ | \\| | / __| | _ \\ | | | | |_ _| | __| | _ \\ ",10,13 + .DB "| |\\/| | | (_) | | .` | \\__ \\ | _/ | |_| | | | | _| | /",10,13 + .DB "|_| |_| \\___/ |_|\\_| |___/ |_| \\___/ |_| |___| |_|_\\ ",10,13 +#ENDIF +#IF (PLATFORM == PLT_GMZ180) + .DB " ___ ___ _ _ ___ ___ ___ ___ ____ _ ___ __",10,13 + .DB " / __| | __| | \\| | | __| / __| |_ _| / __| |_ / / | ( _ ) / \\ ",10,13 + .DB "| (_ | | _| | .` | | _| \\__ \\ | | \\__ \\ / / | | / _ \\ | () |",10,13 + .DB " \\___| |___| |_|\\_| |___| |___/ |___| |___/ /___| |_| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_NABU) + .DB " _ _ _ ___ _ _",10,13 + .DB "| \\| | /_\\ | _ ) | | | |",10,13 + .DB "| .` | / _ \\ | _ \\ | |_| |",10,13 + .DB "|_|\\_| /_/ \\_\\ |___/ \\___/",10,13 +#ENDIF +#IF (PLATFORM == PLT_FZ80) + .DB " ___ _ __ __ ___ ___ ___ _ ____ ___ __",10,13 + .DB "/ __| / | / \\ / \\ | __| | _ \\ / __| /_\\ |_ / ( _ ) / \\ ",10,13 + .DB "\\__ \\ | | | () | | () | | _| | _/ | (_ | / _ \\ / / / _ \\ | () |",10,13 + .DB "|___/ |_| \\__/ \\__/ |_| |_| \\___|/_/ \\_\\ /___| \\___/ \\__/",10,13 +#ENDIF +#IF (PLATFORM == PLT_RCEZ80) + .DB " ___ ___ ___ _ _ ___ ____ ___ __",10,13 + .DB "| _ \\ / __| | _ ) | | | | / __| ___ |_ / ( _ ) / \\ ",10,13 + .DB "| / | (__ | _ \\ | |_| | \\__ \\ / -_) / / / _ \\ | () |",10,13 + .DB "|_|_\\ \\___| |___/ \\___/ |___/ \\___| /___| \\___/ \\__/",10,13 +#ENDIF + .DB "$" diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index b309d7af..0e5903c7 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -25,7 +25,7 @@ ; 21. GMZ180 Doug Jacksons' Genesis Z180 System ; 22. NABU NABU w/ Les Bird's RomWBW Option Board ; 23. FZ80 S100 Computers FPGA Z80 -; 24. RCZ80 RCBus eZ80 +; 24. RCEZ80 RCBus eZ80 ; ; ; INCLUDE BUILD VERSION