Jump to content
IGNORED

UberGROM GROM+ROM: what am I missing?


ckoba

Recommended Posts

Hello,

 

I've been working through making multicarts using the UBERgrom board, using Tursi's GROMCFG to load things into the Atmel chip.

 

I'm very clear on how to handle GROM-only cartridges (Tursi: I'm seeing a bug in the GROMCFG you released a few days ago, where viewing slot 6 at base 0 always shows the recovery bootstrap image instead of what I've just loaded in). Very easy, works fine.

 

What I'm not clear on is how to handle GROM-and-ROM cartridges (in this case, "Return to Pirate's Isle"). I load the GROMs into a base like any other GROM cartridge, and I put the 8k ROM into the 49F040 at 0x0000.

 

That, of course, doesn't work. I'd have thought that each base would map to an 8k section of the 49F040, but that's not the case.

 

So how should this work? Would I put the ROM-only multicart selector at the top of the EEPROM, as with a '379-based cartridge? If so, where should I be seeing RPI -- by activating the multicart menu? Which would take precedence in a GROM/ROM cartridge image -- the ROM or the GROM?

 

I've scanned through scads of forum posts, and obviously others have this working, but I can't seem to find the "aha" post ...

 

... thanks in advance for any pointers, even if they're the "read THIS, you idiot!" variety ...

Link to comment
Share on other sites

Look carefully at your UberGROM boards. on about half of them, you will see a Green quarter-circle sticker. Each of those boards has been verified to start in either the top or the bottom bank of the 512K ROM chip. If you put your 8K file into both of those locations, then the mixed ROM/GROM file should work fine with them (when setting up ROM-only menu programs, the Menu needs to be in both of these banks as well). Gazoo's images do a write to >6000 as part of the GROM power-up routine that loads his menus, and so his images will work with any of the boards (with or without the label). The reason not all of them have the label is that the chips that do the bank switching (74LS378/25LS07) do not have a forced starting state--they can start anywhere in their latching zone. The unmarked boards start in a different bank. Burn the attached file to a 512K chip and pop it into your board and run it--the bank marked with an asterisk is the starting bank for that board. This file is for 512K 378-style boards (works with Red boards as well), and only tests the ROM banking.

 

This should fully resolve the issue, but if not, let me know (here) and we'll continue to troubleshoot. That way there will be a nice thread for others to find in the future if they need the same answer. :)

banktest512_8.bin

Edited by Ksarul
  • Like 3
Link to comment
Share on other sites

(Tursi: I'm seeing a bug in the GROMCFG you released a few days ago, where viewing slot 6 at base 0 always shows the recovery bootstrap image instead of what I've just loaded in). Very easy, works fine.

 

 

I think you're covered on the ROM side (the bank select chips don't have a known startup state - in practice some start as all '1' bits, and some as all '0' bits, that's why there's a distinction between the top and bottom of the ROM. The AVR doesn't interface with the ROM chip at all, so there's no way for a GROM to map to a specific place on the ROM in the hardware.)

 

As for the bug -- if you see the recovery image /at all/, it means that the recovery code has triggered. Otherwise, that code is not available to the TI console. This should only happen if you held space bar while powering up the machine, if you're running my code.

Link to comment
Share on other sites

  • 4 months later...

What I'm missing...

 

This is such a fantastic cartridge, that whenever a book or PDF if made on it, please include the names of the creators with more than just a few initials. I understand there was not room on the cartridge, but since this is arguably the best thing to come down the pike for the TI in a long time... credit where credit is due.

 

gallery_35324_1027_30611.jpg

Link to comment
Share on other sites

What I'm missing...

 

This is such a fantastic cartridge, that whenever a book or PDF if made on it, please include the names of the creators with more than just a few initials. I understand there was not room on the cartridge, but since this is arguably the best thing to come down the pike for the TI in a long time... credit where credit is due.

 

gallery_35324_1027_30611.jpg

 

You are right, but many of us do know who these folks are. I have actually met all but one: Jim Fetzner (@Ksarul), Jon Guidry(@acadiel), @Tursi (Mike Brent), Stuart Conner (@Stuart) and Matthew Haggerty (@matthew180)—I think I have all of these right. The only one I have not met is Stuart.

 

...lee

  • Like 2
Link to comment
Share on other sites

  • 3 months later...

.

Just a guess:

There are about 550 users in the Facebook-Groups, so I would say these are mostly the "internet-active"-users at all.

Maybe 100 more, not in that group ?

(From this 650 users I would >guess< there are max.100-150 more or the less "active" users here on AA.)

 

I think that there are users in some countries which do not use the internet, so no AA, no FaceBook,

so there is almost no possibility to reach or to count them. I think the users from the yahoo-groups are almost here on AA, almost.

 

So, from my point of view, it could be:

 

Alltogether: 750 users ? Internet-Active/reachable: 600 users ?

 

Maybe, baby :)

 

xXx

Link to comment
Share on other sites

Lee Stewart, on 19 Oct 2015 - 7:53 PM, said:

 

You are right, but many of us do know who these folks are. I have actually met all but one: Jim Fetzner (@Ksarul), Jon Guidry(@acadiel), @Tursi (Mike Brent), Stuart Conner (@Stuart) and Matthew Haggerty (@matthew180)—I think I have all of these right.

 

>>> The only one I have not met is Stuart. <<<

 

...lee

 

You sure? Looking at your profile picture, isn't it you who's been coming down my chimney on Christmas Eve for the last couple of decades? ;-)

 

[For the record, I helped a bit with Jon's original board but all credit for the later boards goes to the others!]

 

Stuart.

  • Like 1
Link to comment
Share on other sites

 

You sure? Looking at your profile picture, isn't it you who's been coming down my chimney on Christmas Eve for the last couple of decades? ;-)

 

[For the record, I helped a bit with Jon's original board but all credit for the later boards goes to the others!]

 

Stuart.

 

Ho! Ho! Ho! :lol:

 

...lee

  • Like 2
Link to comment
Share on other sites

Stuart, each of the others built on yours, which is why I continue to give you credit on them :) The majority of the UberGROM was a three-way collaboration between Tursi, Acadiel, and I, but Matthew gave us some very useful suggestions as well (and I still want to try to get his GAL code working with one).

  • Like 1
Link to comment
Share on other sites

Re-hijacking the thread back onto my original subject ...

 

... I've had a few days to revisit this problem, and (to quote what Billy Joel said just now as "Laura" is playing) I feel like a (expletive deleted) fool.

 

I wasn't very clear in my original plea for help. At the micro level, what I was trying to do was to use the UberGROM board to replicate "Return to Pirate's Isle". I own the physical cartridge, but it's beat up and I have this tendency to want a spare of *everything*.

 

It's a ROM+GROM cartridge, with six GROMs and 8k ROM. The ROM doesn't have a "TI cartridge" header, so it's just data or code called by the "real" cartridge in the GROM.

 

Tearing the GROM apart from the RPK I found lying in the ditch by the side of the road, I see that the six GROMs are padded up to 8k. So I split them with "split -b8192" to get the GROMs into rough shape, then "split -b6144" each one to cut them down to actual size.

 

Looking at each GROM, I notice that the second GROM has the magic "AA 01" header; the others don't. Odd, but okay, I'm not so well-versed in cartridge internals, which is why I'm doing this.

 

I then boot up the TI with a prepped UberGROM cartridge, holding down space, and get into GROMCFG via the recovery. I follow procedure (map GROM slots in sequential order, loading the buffer along the way), and all seems well.

 

The EEPROM side of things consists of the same 8k file repeated 64 times to fill out the entire EEPROM space. (EEPROM == 512k at >6000, not the 1284P's internal EEPROM)

 

So, I then powercycle the console ... and blank blue screen. Sometimes I'll see the TI splash screen, but when I hit a key it goes all blue and stays there.

 

If I powercycle with the space bar down, the splash screen always comes up and "Scott Adams Adventure" is an option. Choosing it, however, crashes the console in boring and unexciting ways.

 

I believe my module creation procedure is correct, as I can replicate GROM-only cartridges like Multiplan without problems so long as I follow the rules (one cartridge per bank, keep the GROM data pruned and in order). It's just this one that I can't get working.

 

Am I trying from a bad image? (The RPK works in emulators)

 

Is the first bank not having AA 01 relevant at all?

 

There's something obvious that I'm missing. Anyone?

 

(edit: clarify that I *am* using the "EPROM" side, not the internal 1284P EEPROM when I say "EEPROM")

Edited by ckoba
Link to comment
Share on other sites

The RPK GROM file is only 40K so it splits into 5 individual 8K GROMs as Ksarul wrote. I have attached the version I have, confirmed to work in emulators.

 

I'm not sure how you set it up, but I think you can emulate the building of the ubercart using GROMCFG in Classic99, which allows you to check if it's a software or hardware issue.

return_to_pirates_isle.zip

  • Like 1
Link to comment
Share on other sites

Six GROMs? An original TI cartridge can only have up to five GROMs and two ROMs (with the exception of TI CALC, which has four ROMs).

s/six/five/g

 

I was watching a boring movie with the wife while writing that, so I was working from memory. The rest of it should be correct.

Link to comment
Share on other sites

The RPK GROM file is only 40K so it splits into 5 individual 8K GROMs as Ksarul wrote. I have attached the version I have, confirmed to work in emulators.

 

I'm not sure how you set it up, but I think you can emulate the building of the ubercart using GROMCFG in Classic99, which allows you to check if it's a software or hardware issue.

 

Please ignore "six". I meant "five".

 

Thanks for attaching another copy of RPI. The checksum of the unzipped files matches what I was working from, so it's the same copy.

 

Setting up in classic99 has the same result -- blue screen, both when I try to run the module in the emulator after setup with gromcfg (screenshot of setup attached) and when I dump the setup to disk, transfer to real iron via floppy, and load the whole shebang via gromcfg.

 

Bootloader GROM/ROM scanning issue? Bad luck?

 

post-42172-0-74682300-1453593472_thumb.png

 

(edit: attach right screenshot. It's early here)

Edited by ckoba
Link to comment
Share on other sites

I may not understand the problem, but should not any GROMs, other than console GROMs, start at GROM #3, since console GROMs #0 – #2 respond to all bases?

 

...lee

Interesting idea. I built another image starting at GROM3 (mapping 6 to GROM:3, 8 to GROM:4, and so forth) after adjusting the GROM base images to match ...

 

... but no dice. And, in retrospect, if that were the case then the Multiplan cart I made wouldn't have worked.

 

Other ideas?

Link to comment
Share on other sites

There may be something special about Return to Pirate Island, but if there is, I've never seen it. I do remember that a few bytes had to be changed to make it work with the Geneve though. . .as to what is going wrong, I will have to do some similar experimentation to see what I can get the files to do. Another project for me to play with tomorrow, since I am still snowed in. . .I have a couple of base load UberGROMs programmed, I'll just have to dig them out.

Link to comment
Share on other sites

One thought: does your modified image work in Classic99? It will emulate an UberGROM. . .

 

Nope. Well, a qualified "nope" in that it blue-screens when I hit function-= per Tursi's instructions tucked away in formatter/ReadMe.txt:

 

To be useful, you will need to be able to simulate an UberGROM in emulation.

Classic99 has had limited support for a few years now, enough to run this,

anyway. Add the following configuration to your Classic99.ini. When you

select this cartridge, you will get my EA Complete hack in place of TI BASIC.

The UberGROM support is not sufficient to load any cartridges yet, although

if load them with GROMCFG they should work until you reset the emulator

(so exit with QUIT, not file->reset).

 

I'm assuming that last sentence means that I should see the constructed UberGROM image after I function-quit out of GROMCFG. I don't; it goes blue-screen.

 

 

 

There may be something special about Return to Pirate Island, but if there is, I've never seen it. I do remember that a few bytes had to be changed to make it work with the Geneve though. . .as to what is going wrong, I will have to do some similar experimentation to see what I can get the files to do. Another project for me to play with tomorrow, since I am still snowed in. . .I have a couple of base load UberGROMs programmed, I'll just have to dig them out.

 

If I could get another set of eyes on this, I'd appreciate it. If I understand correctly, no matter how else I screwed it up, if I have an AA 01 at the beginning of any of the GROM banks, the TI *will* at least show it on the menu ...

Link to comment
Share on other sites

 

I'm assuming that last sentence means that I should see the constructed UberGROM image after I function-quit out of GROMCFG. I don't; it goes blue-screen.

 

Same for me - blue screen after quitting out of GROMCFG and pressing a key on the color bar screen.

 

I'm attaching the DSK I used containing GROMCFG and the 5 pirates GROM files (GROM0-GROM5).

GROMCFG.dsk

  • Like 1
Link to comment
Share on other sites

There may be something special about Return to Pirate Island, but if there is, I've never seen it. I do remember that a few bytes had to be changed to make it work with the Geneve though. . .

 

I have RTPI on my Geneve, dumped by CSAVE, and never had any problems. I just tried it on my real iron. I don't remember patching anything, but that's just too long ago to be sure.

returnpirate.dsk

  • Like 1
Link to comment
Share on other sites

I'll be happy to take a look myself, the above zip file has the code? Unfortunately it will be a few days before I can, so keep working in the meantime.

 

My first question though, are you sure that you need to cut the GROMs down to 6k? It won't hurt anything to load the full 8k space into the UberGROM, and some cartridges did use them (though I didn't think any real TI ones did).

 

The Classic99 UberGROM support is now complete enough for full cartridges to be configured in Classic99.ini, but since you are debugging a real situation it's better to use GROMCFG as you have been to make sure you are doing the same steps. The only thing still missing is the startup 'recovery' option.

 

Regarding the other notes, normal to have no header on the ROM, that's fine, and also normal and fine to only have the AA header on one of the GROMs. :)

 

What I would probably do first though is back up one step -- create a Classic99.ini version of the cartridge using the individual files you have created, and make that work first. That way you are eliminating any UberGROM interference issues. If that doesn't work, back up one more step and make it work using the un-split version of your GROM data.

Edited by Tursi
Link to comment
Share on other sites

 

I have RTPI on my Geneve, dumped by CSAVE, and never had any problems. I just tried it on my real iron. I don't remember patching anything, but that's just too long ago to be sure.

 

Thanks for posting that. You're using that with a GRAM Kracker, yes?

 

Once I strip the GRAM Kracker six-byte headers (and chop them down to 6144 bytes), the md5 hash on the files matches those in the RPK ... so we know we are working with a good dump. And, unfortunately, it confirms that the second GROM (at >8000) contains the AA 01 "I am a cartridge" signature.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...