JasonACT Posted December 20, 2023 Share Posted December 20, 2023 46 minutes ago, TheMole said: Oh, wow, you're right! It's been so long, but now that you mention it, I do remember isolating the MPY fix and creating a v1.12a for myself to get things to work! I just did it too - I now have a 1.12a - it's only 3 lines that need a tiny edit each. 47 minutes ago, TheMole said: I noticed that if I flag certain functions that are only called from within a given translation unit as `static`, the binary tends to get quite a bit smaller. I just don't understand why that is though, so I need to dig a little bit deeper to make sure I know what I'm doing :). Maybe it uses a more optimized function prolog and epilog if it knows a function can't be called from outside of the translation unit? I gets inlined if you asked for it or not, I'm fairly sure, I'm guessing as long as it's not called lots of times and it's not huge. Oh, and this ghost has been trapped for nearly 3 hours - I recharge the battery packs at the start of the loop and I've limited how high it can fly, along with disabling the PK counter. So I'm going to say "no issues with the TMS9918A". I'll let it run a bit longer though. 3 Quote Link to comment Share on other sites More sharing options...
TheMole Posted December 20, 2023 Author Share Posted December 20, 2023 That's a smart test, love it! Thanks! 2 Quote Link to comment Share on other sites More sharing options...
retrodroid Posted December 20, 2023 Share Posted December 20, 2023 11 hours ago, JasonACT said: Oh, and this ghost has been trapped for nearly 3 hours Free Slimer! 😆 4 Quote Link to comment Share on other sites More sharing options...
TheMole Posted December 21, 2023 Author Share Posted December 21, 2023 AI image generators are great, but not sure this looks like Slimer 2 2 Quote Link to comment Share on other sites More sharing options...
TheMole Posted December 30, 2023 Author Share Posted December 30, 2023 On 11/6/2023 at 6:18 AM, OLD CS1 said: The shop-stopper happened after I missed a ghost, it slimed me but I just laid there on the ground and the game hung. It did not freeze, as the BGM kept running and I can call up my stats with SPACE. I just ran into this myself while playtesting on my real 4a! Seeing it for myself made it click immediately in my head. Basically, the "haunt" timer for the building ran out just after you got slimed, but before the ghost managed to leave the screen. That screws up the state machine, making you unable to leave until the next time the building gets haunted. Should be an easy fix! 5 Quote Link to comment Share on other sites More sharing options...
TheMole Posted January 21 Author Share Posted January 21 Here's a new release candidate, I believe it fixes the bug originally reported by @OLD CS1 where the game got stuck after getting slimed by a ghost when the ghosts timer ran out after sliming the player, but before having dissapeared off the screen. I've spent quite some time playing it on both real hardware as well as in different emulators and am not seeing any other game breaking bugs, so with a bit of luck, this can be considered the final release. ghostbusters8.bin ghostbusters.rpk 7 7 Quote Link to comment Share on other sites More sharing options...
OX. Posted January 28 Share Posted January 28 On 1/21/2024 at 10:34 AM, TheMole said: Here's a new release candidate, I believe it fixes the bug originally reported by @OLD CS1 where the game got stuck after getting slimed by a ghost when the ghosts timer ran out after sliming the player, but before having dissapeared off the screen. I've spent quite some time playing it on both real hardware as well as in different emulators and am not seeing any other game breaking bugs, so with a bit of luck, this can be considered the final release. ghostbusters8.bin 512 kB · 23 downloads ghostbusters.rpk 80.17 kB · 8 downloads The .bin file freezes Classic99 for me but the .rpk works fine in MAME. Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 28 Share Posted January 28 26 minutes ago, OX. said: The .bin file freezes Classic99 for me but the .rpk works fine in MAME. 4 Quote Link to comment Share on other sites More sharing options...
Tursi Posted January 29 Share Posted January 29 First time I've played it since one of the earliest releases - beautiful presentation and plays well! Only thing I noticed was when I crossed the streams the message was cut off before the screen went back to the map (it finished reporting there, so not a big deal, but it surprised me.) 1 Quote Link to comment Share on other sites More sharing options...
TheMole Posted January 29 Author Share Posted January 29 (edited) 6 hours ago, Tursi said: First time I've played it since one of the earliest releases - beautiful presentation and plays well! Only thing I noticed was when I crossed the streams the message was cut off before the screen went back to the map (it finished reporting there, so not a big deal, but it surprised me.) Yeah, I found the wait a little bit too long for the entire string to scroll by, so I decided it was better this way. Personal preference, I think :). Thanks for the kind words! Edited January 29 by TheMole 1 Quote Link to comment Share on other sites More sharing options...
+khanivore Posted February 26 Share Posted February 26 Hi @TheMole, I've built ghostbusters and am trying to run it on my own emulator, because, you know, I just like to be awkward. It's not running yet (I'm still trying to figure out the bank switching) But I've noticed at startup, it does this: 601C:0209 LI 9,>000A 6020:04D9 CLR *9 6022:0460 B @>7854 7854:064A DECT 10 7856:C68B MOV 11,*10 7858:0300 LIMI >0000 785C:02E0 LWPI >8300 7860:06A0 BL @>7758 7758:0201 LI 1,>BABE Which doesn't seem to have any adverse effects, but I'm not sure why it writes to >000A? I think the assembler is not doing what you intend with "LI r9, >ASM_ADDRESS " Also, it saves the stack reg in >7854 and calls >7758 (which I guess is detect_32k) but both of these calls are BEFORE the stack frame is initialised, so are actually trampling on random memory locations (R10 = >07FE at this point in my environment, which is harmless for now). It would be safer to init SP in cart_header.asm before calling _start. Like I said not having any adverse effects for now, but could in future. 5 Quote Link to comment Share on other sites More sharing options...
TheMole Posted February 26 Author Share Posted February 26 Hmmmm, let me look into that. The ASM_ADDRESS define is something I put in when I was messing about with my first few Geneve builds and has never been properly tested. Setting the stack pointer in the cart header is a great idea, I will definitely make that change. 4 Quote Link to comment Share on other sites More sharing options...
Sergioz82 Posted February 27 Share Posted February 27 (edited) On 1/21/2024 at 11:34 AM, TheMole said: Here's a new release candidate, I believe it fixes the bug originally reported by @OLD CS1 where the game got stuck after getting slimed by a ghost when the ghosts timer ran out after sliming the player, but before having dissapeared off the screen. I've spent quite some time playing it on both real hardware as well as in different emulators and am not seeing any other game breaking bugs, so with a bit of luck, this can be considered the final release. ghostbusters8.bin 512 kB · 40 downloads ghostbusters.rpk 80.17 kB · 11 downloads This is a great port, it's very well-finished: the great 8 bit rendition of the tune, the street names on the map, the variety in buildings and ghosts, the car equipping part.. I love it! I remember playing this game on the Atari2600 when I was a little kid but it was a butchered version.. yours is at Master System level Edited February 27 by Sergioz82 4 1 Quote Link to comment Share on other sites More sharing options...
TheMole Posted February 27 Author Share Posted February 27 20 hours ago, khanivore said: Hi @TheMole, I've built ghostbusters and am trying to run it on my own emulator, because, you know, I just like to be awkward. It's not running yet (I'm still trying to figure out the bank switching) But I've noticed at startup, it does this: 601C:0209 LI 9,>000A 6020:04D9 CLR *9 6022:0460 B @>7854 7854:064A DECT 10 7856:C68B MOV 11,*10 7858:0300 LIMI >0000 785C:02E0 LWPI >8300 7860:06A0 BL @>7758 7758:0201 LI 1,>BABE Which doesn't seem to have any adverse effects, but I'm not sure why it writes to >000A? I think the assembler is not doing what you intend with "LI r9, >ASM_ADDRESS " ASM_ADDRESS is supposed to point at >6000, which is the cart address you need to write to to activate bank 0. I think most emulators and the FG99 just initialize cartrdige images in bank 0 anyway, so the fact that it doesn`t work isn`t going to create any issues in those scenarios. But not all physical cartridges start up in bank 0. So if anyone burns this to a ROM right now, it might not work correctly... I need to tweak the build system anyway, to make sure it builds as easily on Windows as it does on POSIX systems, so I'll fix it shortly. 3 Quote Link to comment Share on other sites More sharing options...
TheMole Posted February 27 Author Share Posted February 27 4 hours ago, Sergioz82 said: This is a great port, it's very well-finished: the great 8 bit rendition of the tune, the street names on the map, the variety in buildings and ghosts, the car equipping part.. I love it! I remember playing this game on the Atari2600 when I was a little kid but it was a butchered version.. yours is at Master System level Thank you so much! Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 16 Author Share Posted March 16 (edited) On 2/27/2024 at 7:59 PM, TheMole said: I need to tweak the build system anyway, to make sure it builds as easily on Windows as it does on POSIX systems, so I'll fix it shortly. I updated the git repository with a number of fixes to the build system based on @JasonACT's feedback about building on Windows. I don't have Windows to test on, but hopefully the scripts should be a bit more cross-platform compatible now. I also made a number of quality of life improvements to the build system in general. A more user-facing change that I've made is that the cartridge type has changed to a combined ROM/GROM cartridge. This allows me to ensure the cartridge starts up in a known state and is part of my prep work for releasing a physical cartridge version. It also allows me to play around with the initial presentation a little bit: I always wondered why other games didn't at least spruce up the item selection menu like this, a Parsec cartridge that uses the Parsec font from the label in the menu selection screen would be super cool, I think. I know some people hate cartridges and peripherals that mess with the title screen, and I'm not sure about some of the more intrusive changes. I'll definitely keep the stylized menu selection item, but I'd be interested to hear your opinions about the logo/background shennanigans . So, in order to load this cartridge in js99er, make sure you select both gbustg.bin and gbust8.bin when loading a cartridge (or just use the .rpk). On classic99 and bulwip, picking gbust8.bin should just work. I was not able to get the .rpk to work in mame, so if @mizapf knows what I've done wrong, I'd sure appreciate the help! * edit * uploaded the fixed .rpk here, as per mizapf's post! So feel free to download the .rpk from this post... gbustg.bin gbust8.bin gbust.rpk Edited March 16 by TheMole fixed .rpk 11 3 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 16 Share Posted March 16 paged378 does not support GROM; it's still a TODO. You can use gromemu instead. I just changed that for you here. gbust.rpk 4 1 Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 16 Author Share Posted March 16 24 minutes ago, mizapf said: paged378 does not support GROM; it's still a TODO. You can use gromemu instead. I just changed that for you here. gbust.rpk 80.5 kB · 0 downloads Ah, beautiful, thanks! Just out of curiosity, what is the difference between gromemu and a future paged378 w/ GROM then? Quote Link to comment Share on other sites More sharing options...
retrodroid Posted March 16 Share Posted March 16 2 hours ago, TheMole said: I updated the git repository with a number of fixes to the build system based on @JasonACT's feedback about building on Windows. I don't have Windows to test on, but hopefully the scripts should be a bit more cross-platform compatible now. I also made a number of quality of life improvements to the build system in general. A more user-facing change that I've made is that the cartridge type has changed to a combined ROM/GROM cartridge. This allows me to ensure the cartridge starts up in a known state and is part of my prep work for releasing a physical cartridge version. It also allows me to play around with the initial presentation a little bit: I always wondered why other games didn't at least spruce up the item selection menu like this, a Parsec cartridge that uses the Parsec font from the label in the menu selection screen would be super cool, I think. I know some people hate cartridges and peripherals that mess with the title screen, and I'm not sure about some of the more intrusive changes. I'll definitely keep the stylized menu selection item, but I'd be interested to hear your opinions about the logo/background shennanigans . So, in order to load this cartridge in js99er, make sure you select both gbustg.bin and gbust8.bin when loading a cartridge (or just use the .rpk). On classic99 and bulwip, picking gbust8.bin should just work. I was not able to get the .rpk to work in mame, so if @mizapf knows what I've done wrong, I'd sure appreciate the help! gbustg.bin 268 B · 2 downloads gbust8.bin 512 kB · 2 downloads gbust.rpk 80.5 kB · 3 downloads That is amazing. I had no idea a cartridge could impact the title screens like that. I'm all for what you've done there, if you put a Ghostbusters cartridge in your system, you shouldn't be put off by the extra touches IMHO. 1 Quote Link to comment Share on other sites More sharing options...
Serafini Lapo Posted March 16 Share Posted March 16 2 hours ago, TheMole said: Ho aggiornato il repository git con una serie di correzioni al sistema di compilazione basato su@JasonACTil feedback di sulla creazione su Windows. Non ho Windows su cui testare, ma spero che ora gli script siano un po' più compatibili con più piattaforme. Ho anche apportato una serie di miglioramenti alla qualità della vita del sistema di costruzione in generale. Una modifica più rivolta all'utente che ho apportato è che il tipo di cartuccia è cambiato in una cartuccia combinata ROM/GROM. Ciò mi consente di garantire che la cartuccia si avvii in uno stato noto e fa parte del mio lavoro di preparazione per rilasciare una versione fisica della cartuccia. Mi permette anche di giocare un po' con la presentazione iniziale: Mi sono sempre chiesto perché altri giochi non abbiano almeno abbellito il menu di selezione degli elementi in questo modo, una cartuccia Parsec che utilizza il carattere Parsec dall'etichetta nella schermata di selezione del menu sarebbe fantastica, penso. So che alcune persone odiano le cartucce e le periferiche che rovinano la schermata del titolo, e non sono sicuro di alcuni dei cambiamenti più invadenti. Manterrò sicuramente la voce di selezione del menu stilizzata, ma mi piacerebbe sentire le tue opinioni sugli imbrogli del logo e dello sfondo . Quindi, per caricare questa cartuccia in js99er, assicurati di selezionare sia gbustg.bin che gbust8.bin quando carichi una cartuccia (o usa semplicemente .rpk). Su classic99 e bulwip, scegliere gbust8.bin dovrebbe funzionare. Non sono riuscito a far funzionare .rpk in mame, quindi se@mizapf sa cosa ho fatto di sbagliato, apprezzerei sicuramente l'aiuto! gbustg.bin 268 a.B · 3 download gbust8.bin 512KB · 3 download gbust.rpk 80,5KB · 4 download So I, who have a finalgrom, won't be able to enjoy this beauty?😔 Wonderful idea, like the game itself.. I hope one day to find the ready-made cartridge that will let me enjoy these wonders..🤩 1 Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 16 Author Share Posted March 16 (edited) 15 minutes ago, Serafini Lapo said: So I, who have a finalgrom, won't be able to enjoy this beauty?😔 Wonderful idea, like the game itself.. I hope one day to find the ready-made cartridge that will let me enjoy these wonders..🤩 Oh, no, you absolutely can enjoy this on the finalgrom! Just put gbustg.bin and gbust8.bin on your SD card, and I think it should appear in the FG99 menu. I haven't been able to test if it works on real hardware yet, so if you've tried that and it doesn't work, I need to figure out why . I want to make boxed versions of the game, if there are enough people that would like one, but the roms are and always will be freely available for use on emulators and finalgrom style flash carts. Edited March 16 by TheMole 4 1 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted March 16 Share Posted March 16 I absolutely love the idea of a haunted Master Title Screen. Maybe the normal MTS which flicks and distorts, then turns into the white screen like you showed with Slimer. Would be an awesome opening presentation. This gives me an inspiration for my own stuff. 6 Quote Link to comment Share on other sites More sharing options...
PeteE Posted March 16 Share Posted March 16 3 hours ago, TheMole said: Oh, no, you absolutely can enjoy this on the finalgrom! Just put gbustg.bin and gbust8.bin on your SD card, and I think it should appear in the FG99 menu. I haven't been able to test if it works on real hardware yet, so if you've tried that and it doesn't work, I need to figure out why . I tried it on my FinalGrom and it doesn't appear in the menu. I tried putting it in its own folder, and also tried renaming to "gbust8.bin" to "gbustc.bin" because I think that's what the FG99 requires. I suspect it might not like something in the GROM header? 2 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 16 Share Posted March 16 5 hours ago, TheMole said: Ah, beautiful, thanks! Just out of curiosity, what is the difference between gromemu and a future paged378 w/ GROM then? The "gromemu" has become kind of a wildcard for large ROM handling; I extended it to the maximum of 4096 banks (each 8K, i.e. max 32 MiB). The "pagedXXX" refers to the concrete selector chip in the cartridge (74LSXXX); the 74LS378 has six selector bits, so it cannot handle more than 64 banks (512 KiB). The only shortcoming of the MAME emulation of the paged378 cartridge is that the GROM part is missing. Quote Link to comment Share on other sites More sharing options...
jrhodes Posted March 16 Share Posted March 16 (edited) 3 hours ago, PeteE said: I tried it on my FinalGrom and it doesn't appear in the menu. I tried putting it in its own folder, and also tried renaming to "gbust8.bin" to "gbustc.bin" because I think that's what the FG99 requires. I suspect it might not like something in the GROM header? @PeteE Too bad. I was really looking forward to this on FinalGrom. If we do figure out how to make this work on FinalGrom, i think you should consider maybe something similar for the master title screen on the Legend Of Tilda . Edited March 16 by jrhodes 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.