Added an 'Emu credit' line on the title screen, which only displays when running in Jace.

This commit is contained in:
Martin Haye 2021-10-13 06:21:01 -07:00
parent 32bf57e103
commit 435e8e1473
4 changed files with 28 additions and 3 deletions

View File

@ -152,7 +152,7 @@ class A2PackPartitions
def requiredGlobalScripts = ["New Game", "Help", def requiredGlobalScripts = ["New Game", "Help",
"Combat win", "Combat intro", "Combat prompt", "Enemy intro", "Death", "Combat win", "Combat intro", "Combat prompt", "Enemy intro", "Death",
"Level XP", "Level SP", "Level XP", "Level SP",
"Disk limit", "Copyright" "Disk limit", "Copyright", "Emu credit"
] as Set ] as Set
def globalScripts = [:] def globalScripts = [:]
def lastSysModule def lastSysModule

View File

@ -178,11 +178,29 @@ asm reseekRwts#0
rts rts
end end
///////////////////////////////////////////////////////////////////////////////////////////////////
def decideJace()#0
word i, a0count
// Jace is unusual among emulators in that at the paddle locations, it returns a "floating"
// bus value that reflects the video scanner data.
a0Count = 0
^$C070
for i = 1 to 100
if ^$C064 == $A0; a0Count++; fin
next
isJace = (a0Count > 50)
end
/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
// Load and display the title screen, set up everything in memory // Load and display the title screen, set up everything in memory
def _startup()#1 def _startup()#1
word pEngine, pFont, pMarks, pExpand, expanderSize, pSound word pEngine, pFont, pMarks, pExpand, expanderSize, pSound
// Decide if we're running on Jace (if so, later we'll need to credit the music). This has
// to be done with a mostly blank, text mode, screen.
decideJace
puts("Loading game.\n") puts("Loading game.\n")
auxMmgr(FREE_MEMORY, $800) // was temporarily reserved by gameloop to keep diskops bytecode out auxMmgr(FREE_MEMORY, $800) // was temporarily reserved by gameloop to keep diskops bytecode out
@ -236,6 +254,7 @@ def _startup()#1
// And the global funcs we'll need for the title screen // And the global funcs we'll need for the title screen
mmgr(QUEUE_LOAD, GS_DISK_LIMIT<<8 | RES_TYPE_MODULE) mmgr(QUEUE_LOAD, GS_DISK_LIMIT<<8 | RES_TYPE_MODULE)
mmgr(QUEUE_LOAD, GS_COPYRIGHT<<8 | RES_TYPE_MODULE) mmgr(QUEUE_LOAD, GS_COPYRIGHT<<8 | RES_TYPE_MODULE)
mmgr(QUEUE_LOAD, GS_EMU_CREDIT<<8 | RES_TYPE_MODULE)
mmgr(FINISH_LOAD, 0) mmgr(FINISH_LOAD, 0)
// Move the marks code up to its out-of-the-way corner of RAM // Move the marks code up to its out-of-the-way corner of RAM
@ -597,12 +616,16 @@ end
def displayMenu(existing)#0 def displayMenu(existing)#0
word p word p
setWindow(162, 190, 49, 231) setWindow(isJace ?? 153 :: 162, 190, 49, 231) // t,b,l,r
clearWindow clearWindow
^EMUSIG_TITLE ^EMUSIG_TITLE
setWindow(162, 190, 56, 224) setWindow(isJace ?? 153 :: 162, 190, 56, 224) // t,b,l,r
rawDisplayStr("^J\n^Y") // down one line for nice-looking spacing from graphics rawDisplayStr("^J\n^Y") // down one line for nice-looking spacing from graphics
callGlobalFunc(GS_COPYRIGHT, 0, 0 ,0) callGlobalFunc(GS_COPYRIGHT, 0, 0 ,0)
if isJace
rawDisplayStr("\n")
callGlobalFunc(GS_EMU_CREDIT, 0, 0, 0)
fin
rawDisplayStr("\n^N") rawDisplayStr("\n^N")
printVersion(168) // win width printVersion(168) // win width

View File

@ -176,6 +176,7 @@ import gamelib
word pResourceIndex word pResourceIndex
word pGlobalTileset word pGlobalTileset
byte isFloppyVer byte isFloppyVer
byte isJace
byte recordMode byte recordMode
byte prevClockColor, prevClockHour, prevClockMinute byte prevClockColor, prevClockHour, prevClockMinute
byte nextSignificantMinute byte nextSignificantMinute

View File

@ -104,6 +104,7 @@ byte forceRawScrDisp = FALSE
export byte isPlural = 0 export byte isPlural = 0
byte inScript = FALSE byte inScript = FALSE
export byte isFloppyVer export byte isFloppyVer
export byte isJace
byte scriptModule = 0 byte scriptModule = 0
byte prevScriptModule = 0 byte prevScriptModule = 0