JasonACT Posted March 16 Share Posted March 16 9 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. Here are the changes I needed to do to make the new version build on Windows (with the old 32bit version of MinGW/msys): cart.ld: 5 lines with /*.a need to be duplicated to have backslashes (I put them first) persistent\\*.a:*(.text); persistent/*.a:*(.text); create_resorucedefs.sh: need to cut text differently due to 32bit numers instead of 64bit numbers # Create arrays #LOCATIONS_START=($(cat $MAPFILE | grep _binary_resources | grep _dat_start | cut -b 27-34)) #LOCATIONS_END=($(cat $MAPFILE | grep _binary_resources | grep _dat_end | cut -b 27-34)) #NAMES_START=($(cat $MAPFILE | grep _binary_resources | grep _dat_start | cut -b 51-)) LOCATIONS_START=($(cat $MAPFILE | grep _binary_resources | grep _dat_start | cut -b 19-26)) LOCATIONS_END=($(cat $MAPFILE | grep _binary_resources | grep _dat_end | cut -b 19-26)) NAMES_START=($(cat $MAPFILE | grep _binary_resources | grep _dat_start | cut -b 43-)) Makefile: need to include -fno-function-cse to get bank3 within the 8KB limit # Compiler flags CCFLAGS= $(LIBRARIES) -std=c99 -Werror -Wall -Os -s -Iinclude -I$(INCLUDE_PATH) -c -fno-function-cse (Along with updating the gcc/xdt99 paths in Makefile and Makefile.res) Quote Link to comment Share on other sites More sharing options...
JasonACT Posted March 17 Share Posted March 17 I tested it on my real machine, with my Pico device, and it works well... When it's on its own. So, great work, I really like the overrides. When I have Terminal Emulator II plugged in as a second cartridge though, the ROM is paged out due to the GROM scan, so I don't get press 2 for Ghostbusters - I instead get press 2 for Review Module Library. Reviewing it, it goes to the TEII menu - but the text (which was black) is all orange now and remains that way throughout the review process. Interestingly, when I load a ROM only file with TEII as CART2, I don't get the review option at all, only the ROM menu item. I knew that before, and it doesn't bother me, if there's shortcomings with the original TI scan code - then that's probably still a win for usability. @TheMole I don't think any of this really matters for Ghostbusters, it's just interesting, with you having the start-up routine in GROM and the menu in ROM. 1 Quote Link to comment Share on other sites More sharing options...
PeteE Posted March 17 Share Posted March 17 (edited) Okay, this is what I see on the FinalGrom menu: Before I didn't notice the blank A item above the B parent directory item. Seems like the custom font messes up the directory sorting, and since there are no character patterns defined for the custom font, it appears blank. Selecting A does load the Ghostbusters game properly! But resetting console doesn't run the custom load routine; in fact, nothing appears in the menu at all, only "1 FOR TI BASIC". @HOME AUTOMATION has a fix for the reset and menu. I tested it and it works. Edited March 17 by PeteE 3 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted March 17 Share Posted March 17 I couldn't test these myself, as I've no TI, setup right now. @PeteE, says they're good enough to post... gbustg.bin gbustc.bin ...That's good enough for me. 4 2 Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 17 Author Share Posted March 17 21 minutes ago, HOME AUTOMATION said: I couldn't test these myself, as I've no TI, setup right now. @PeteE, says they're good enough to post... gbustg.bin 8 kB · 3 downloads gbustc.bin 512 kB · 3 downloads ...That's good enough for me. So what are the changes you made? Pad the GROM file to 8k and rename gbust8.bin to gbustc.bin? Anything else? Quote Link to comment Share on other sites More sharing options...
JasonACT Posted March 17 Share Posted March 17 28 minutes ago, HOME AUTOMATION said: That's good enough for me. Me too Though reviewing the module library still messes up the text colour (and is no big deal)... 2 Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 17 Author Share Posted March 17 I have no idea why it would change the color of the rest of the fonts after reviewing the module library. I actually don't have code in the GROM that does that :). Also, why does it show the REVIEW MODULE LIBRARY option? Is this specific to your pico device, or did I mess something up? Quote Link to comment Share on other sites More sharing options...
JasonACT Posted March 17 Share Posted March 17 2 minutes ago, TheMole said: Also, why does it show the REVIEW MODULE LIBRARY option? Is this specific to your pico device, or did I mess something up? That's my device loaded up with a 2nd cartridge (TEII) at the next available GROM address - nothing to do with you! 2 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted March 17 Share Posted March 17 1 hour ago, TheMole said: So what are the changes you made? Pad the GROM file to 8k and rename gbust8.bin to gbustc.bin? Anything else? Will you reveal to me; how you made the GROM file? 1 Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 17 Author Share Posted March 17 2 minutes ago, HOME AUTOMATION said: Will you reveal to me; how you made the GROM file? Nothing secret about that! I compile this file: https://github.com/themole-ti/ghostbusters/blob/main/startgrom.gpl Using Ralph's xga99: xga99.py startgrom.gpl -o gbustg.bin I've just added the -B flag to pad it out to 8k, which should work... I hope... 1 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted March 17 Share Posted March 17 (edited) Little of this... little of that... Looks like I copied the programs NAME LIST ENTRY... 00 00 60 1e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 00 00 00 04 60 78 50 d0 60 a0 a0 02 41 01 00 13 4a c8 0b a0 a4 02 0d 23 8c 02 08 84 00 02 06 01 00 c0 60 a0 9a 16 02 04 c7 10 04 78 06 a0 9f 17 3b 07 07 02 ...and perhaps a few extra bytes. From the ROM, and copied them to the GROM, at >6150. With the entry address changed to >61B0. At >61B0, I XML(0F), to the PC, vector, at CPU >6010(70). >6010, points execution to >601E, where you branch to >7850. And possibly lastly, I added >6150, to the HEADER's PROGRAM list pointer(>6006). Then I zeroed-out the ROM HEADER. Hope that helps a little. I'll look at startgrom.gpl, after I get some rest. Edited March 17 by HOME AUTOMATION 4 1 Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 17 Author Share Posted March 17 Cool, thanks! So if I understand it correctly: in essence, the GROM needs contain the PROGRAM list and start the cartridge, not the ROM. Let me play around some more! 3 Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 17 Author Share Posted March 17 Second attempt, these should work on the FinalGrom99. But as pointed out by @PeteE, the program name will be blank and shown at the top of the list (above the '..' item). Unfortunately, the trick I'm using here obfuscates the program name. There's no real way around it, the module library menu uses the uppercase characters, the finalgrom99 uses the lowercase characters for its logo. So it's impossible to do bespoke fonts/colors and have it appear properly in the FinalGrom99 menu... Maybe @ralphb has any ideas... Also: small bugfix in the game, you actually got the marshmallow sensor functionality for free even if you didn't buy the item in the store. That has been fixed now. gbust.rpk gbustc.bin gbustg.bin 7 3 Quote Link to comment Share on other sites More sharing options...
Nick99 Posted March 17 Share Posted March 17 7 hours ago, PeteE said: Okay, this is what I see on the FinalGrom menu: Before I didn't notice the blank A item above the B parent directory item. Seems like the custom font messes up the directory sorting, and since there are no character patterns defined for the custom font, it appears blank. Selecting A does load the Ghostbusters game properly! But resetting console doesn't run the custom load routine; in fact, nothing appears in the menu at all, only "1 FOR TI BASIC". @HOME AUTOMATION has a fix for the reset and menu. I tested it and it works. I downloaded the latest, the TI titel screen and the menu works perfect on my TI, but still in FG99 the game is on A. without a name just like the picture PeteE uploaded. Can that be fixed too? Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 17 Author Share Posted March 17 (edited) 2 hours ago, Nick99 said: I downloaded the latest, the TI titel screen and the menu works perfect on my TI, but still in FG99 the game is on A. without a name just like the picture PeteE uploaded. Can that be fixed too? Unfortunately not (I think). That's what I was trying to explain in my previous post: I have to choose between it working properly in the finalgrom menu, or having the fancy startup screen. I might end up building two variants: one for emulators and burning to cartridge (with the fancy menu), and one for the finalgrom (without the fancy menu). Edited March 17 by TheMole 3 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted March 17 Share Posted March 17 On 3/16/2024 at 7:10 AM, TheMole said: Lol, that's brilliant! I'mma steal that idea if that's cool? 5 Quote Link to comment Share on other sites More sharing options...
Tursi Posted March 17 Share Posted March 17 9 hours ago, TheMole said: Unfortunately not (I think). That's what I was trying to explain in my previous post: I have to choose between it working properly in the finalgrom menu, or having the fancy startup screen. I might end up building two variants: one for emulators and burning to cartridge (with the fancy menu), and one for the finalgrom (without the fancy menu). That's probably the only way to be universal. The FinalGROM could run all startup functions when it builds the menu, but there's a very likely chance that a lot of combinations would cause other problems. Could define a special format that the FinalGROM could look for, but then existing ones wouldn't see it anyway. Probably best to keep it a cartridges special feature 2 Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 18 Author Share Posted March 18 6 hours ago, Tursi said: Lol, that's brilliant! I'mma steal that idea if that's cool? Of course! Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 18 Author Share Posted March 18 15 hours ago, Tursi said: That's probably the only way to be universal. The FinalGROM could run all startup functions when it builds the menu, but there's a very likely chance that a lot of combinations would cause other problems. Could define a special format that the FinalGROM could look for, but then existing ones wouldn't see it anyway. Probably best to keep it a cartridges special feature I think I've figured out a way. I'll try to code it up tomorrow, but I think that if I put a normal (boring) ROM header in bank 0, the finalgrom will see the title properly. Then, if I switch to bank 1 (or any other bank that doesn't contain the ROM header) in the GROM start-up routine, the TI OS will only see the program in the GROM header, which will be all fancied up. The one in bank 0 of the ROM will not be listed, so the menu will show the fancy font. Then, when the user selects the item from the list, the GPL code can first switch bank 0 back in before performing the XML call to start the actual game. This should allow the finalgrom to properly list the game and jump straight into the ROM code from the finalgrom menu, but if you reset the TI you should still get the fancy master title screen! And I should be able to use the exact same image regardless of the method of distribution. 5 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted March 18 Share Posted March 18 Though I don't have a FinalGROM 99, to test on presently, as I recall... If a ROM image is found 1st, the GROM file never loads! However, perhaps by utilizing GRAM, You could rewrite the header, so the customized TITLE SCREEN, appears upon QUITting. Quote Link to comment Share on other sites More sharing options...
publicarni Posted March 18 Share Posted March 18 I just tested your great game and i found a display problem using the „Martin“ account with 123700$, Look to the last line: Afte a while the line will be correct: going to the ghost scene will be ok But in this scene it starts an endless loop … pressing Space works: But the pk counter … Counts endless… Quote Link to comment Share on other sites More sharing options...
GDMike Posted March 18 Share Posted March 18 On 3/16/2024 at 8:10 AM, 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! * edit * uploaded the fixed .rpk here, as per mizapf's post! So feel free to download the .rpk from this post... gbustg.bin 268 B · 18 downloads gbust8.bin 512 kB · 16 downloads gbust.rpk 80.5 kB · 1 download I had spiced up my supernotes program with a similar type of menu using graphical colorful characters. 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 18 Share Posted March 18 Am I missing instructions to play the game, or is something broken here? I can drive through the map, leaving a dotted trail, then I press the joystick button and see the car from above, the road seems to move, but the only thing I can do is to steer left or right. Pressing the joystick button does not do anything. After some time, the car stops at the right. Then I see a person on the right in front of the building, and two seconds later I am back on the road. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted March 18 Share Posted March 18 19 minutes ago, mizapf said: Am I missing instructions to play the game, or is something broken here? I can drive through the map, leaving a dotted trail, then I press the joystick button and see the car from above, the road seems to move, but the only thing I can do is to steer left or right. Pressing the joystick button does not do anything. After some time, the car stops at the right. Then I see a person on the right in front of the building, and two seconds later I am back on the road. You are missing something. Driving to the haunting is nothing special. But, if while laying your dot trail you pass over one of the ghosts (roamers) moving toward the center building (ZUUL,) you will see it appear at some point in the road. You then have to move the car to touch it and hold the fire button down to activate the ghost vacuum, if you purchased one. Be careful of trying to get ghosts near the end of your dot trail. Many times the ghost will come on-screen as you are moving over to park, but you cannot get it because you cannot move the car to touch it. This might help. It is from the C64 version. Ghost Busters Instructions (Commodore 64).pdf Oh, and if you just see one of the guys on the right then go right back to the map screen, it means you were late and the slimer got away. 3 Quote Link to comment Share on other sites More sharing options...
SteveB Posted March 18 Share Posted March 18 I haven't seen a game manual ... as I know the original game well, I didn't look for one either. You may have a look at our XB Ghostbusters One-Page Manual, there are only minor differences ... Map: If you catch a "Roamer" ghost on the map it will show up during your drive. If you bought the vacuum, you may catch it there. Building: You need to drive to a fashing building to catch a ghost. If no ghost is present, you will end up on the map. 2 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.