Jump to content
--- Ω ---

🖥 FlashROM 99 & FinalGROM 99 - Repository -- (11/26/2019)

Recommended Posts

I am thinking Fred Karl's ti99-geek.nl Module Creator tool will be handy for transforming any EA5 that is small enough into a bin for the SD card cartridge. It targets 64k eproms, but depending on how he uses the space it may just require truncation. Or maybe Fred would make a 32k option?

 

With that and the plethora of Grom games that have been converted to EA5, basic games that can be compiled and saved as EA5, and most utilities that are already EA5, converting them to individual cart loaders will make these sdcard cartridges a primary storage device.

 

I'm waiting on parts to prove this technique, but I encourage anyone with an sdcard cart to explore this and let us know!

 

This list could get big!

 

[email protected]

I am planning to make a second "Module Creator" for normal (==non-invertered) PROM images.

 

Fred ;-)

  • Like 8

Share this post


Link to post
Share on other sites

ah cool, thaaanks. I had absolutely no idea how to get that to run.

many many tries over month now eating all my time :) :)

 

Does it also run in Classic99 ? And what does the "9" mean ? (3 is non-inverted ?)

 

xXx

Share this post


Link to post
Share on other sites

ah cool, thaaanks. I had absolutely no idea how to get that to run.

many many tries over month now eating all my time :) :)

 

Does it also run in Classic99 ? And what does the "9" mean ? (3 is non-inverted ?)

 

xXx

 

9 not inverted

3 inverted

  • Like 1

Share this post


Link to post
Share on other sites

98 not inverted

3 inverted

Yep, I was just adding a 'n' to the name when non-inverting an inverted image, but then I realized I could test them in classic99 under the user-cartridge menu 'open' option if they were named ___9.bin ___8.bin ([email protected]: edited to correct my mistake)

 

[email protected]

Share this post


Link to post
Share on other sites

9 not inverted

3 inverted

 

Yep, I was just adding a 'n' to the name when non-inverting an inverted image, but then I realized I could test them in classic99 under the user-cartridge menu 'open' option if they were named ___9.bin

 

[email protected]

 

Schmitzi asked for this TurboForth, so here it is.

...

Hmm... something is up with my classic99 installation... Try that image out anyway... I think it is good.

 

[email protected]

 

‘8’ (for ‘378’) is the suffix for non-inverted banks.

 

...lee

  • Like 2

Share this post


Link to post
Share on other sites

thanks to all.

 

Allow me one more question please:

I have "millions" of BIN-files with none of these endings/tags like 3/8/9. What could they be like, non-inverted ?

 

I there a way to find out ? (Yes, I have an Hex-Editor if needed)

And there was a "header/non header"-thing....? And a GRM-extension.

I am getting a bit crazy on that because there is no dedicated thread on that, or I didn´t find.

And I spent very big time the last year on finding out, but most threads are kilometers long, linking to don´t know,

and changing the topic after each 5 posts....

If there is a thread on explaining such things in a short and easy way, maybe somebody can point me there ?

 

If I once totally understood that, I will make a list :)

And I could write a Batch, using any Dos-tools (that accepts command-line-parameters) same time,

to batch-convert this things in any direction (if such tools exist). I saw this java-one here, I think this could work in a Batch

xXx

Share this post


Link to post
Share on other sites

‘8’ (for ‘378’) is the suffix for non-inverted banks.

 

...lee

Ah, that makes so much more sense. I got lucky somehow, somewhere, and the wrong thing. Luckily the flash ROM ignores that.

 

Now I wonder what I did that fooled me into thinking that was correct. :(

 

[email protected]

Share this post


Link to post
Share on other sites

thanks to all.

 

Allow me one more question please:

I have "millions" of BIN-files with none of these endings/tags like 3/8/9. What could they be like, non-inverted ?

 

I there a way to find out ? (Yes, I have an Hex-Editor if needed)

And there was a "header/non header"-thing....? And a GRM-extension.

I am getting a bit crazy on that because there is no dedicated thread on that, or I didn´t find.

And I spent very big time the last year on finding out, but most threads are kilometers long, linking to don´t know,

and changing the topic after each 5 posts....

If there is a thread on explaining such things in a short and easy way, maybe somebody can point me there ?

 

If I once totally understood that, I will make a list :)

And I could write a Batch, using any Dos-tools (that accepts command-line-parameters) same time,

to batch-convert this things in any direction (if such tools exist). I saw this java-one here, I think this could work in a Batch

xXx

 

 

The only way to tell whether a multi-8KiB binary needs to be inverted is to try it. The suffixes under discussion come from prior knowledge from the programmer or those who have successfully done the trial inversions. It is easy enough to do the assessment in Classic99 by

  • Duplicate a binary to make 2 identical copies.
  • Append ‘3’ to one and ‘8’ to the other.
  • Test each using the “Cartridge”-->“User” menu option.
  • The one that works will tell whether the binary is inverted.

Example: xyzbinary.bin gets duped to xyzbinary_3.bin and xyzbinary_8.bin. The file that works in Classic99 is xyzbinary_8.bin; therefore, xyzbinary.bin is not inverted.

 

...lee

  • Like 2

Share this post


Link to post
Share on other sites

I had my eye on this, so I went ahead and merged these two great efforts into one happy marriage.

 

Fred's EAII, and Fred's 80 column EDIT1, this was just a simple matter of cut-n-paste in the hex editor.

 

attachicon.gifEAII80Edit9.bin

 

attachicon.gifEAII80Edit-8.bin ([email protected]: edited post to rename file)

 

Anyone with an F18A will want this one! It's a WHOLE LOT EASIER to edit your FAVS file for Stuart's Internet Browser when you can do it in 80 colums! :thumbsup: :thumbsup: :thumbsup: :thumbsup: :thumbsup:

  • Like 1

Share this post


Link to post
Share on other sites

I have rewritten history so you can't prove that after 20 some years as a software developer, I still make off by one errors (of course no one needs proof of that, as it is a given). This post is not an admission of guilt :)

 

I believe I looked at my UberGrom board in bad lighting. That's my story.. and I'm sticking with it. :) (ok, excuses always sound like an admission.)

 

[email protected]

  • Like 4

Share this post


Link to post
Share on other sites

 

 

The only way to tell whether a multi-8KiB binary needs to be inverted is to try it. The suffixes under discussion come from prior knowledge from the programmer or those who have successfully done the trial inversions. It is easy enough to do the assessment in Classic99 by

  • Duplicate a binary to make 2 identical copies.
  • Append ‘3’ to one and ‘8’ to the other.
  • Test each using the “Cartridge”-->“User” menu option.
  • The one that works will tell whether the binary is inverted.

Example: xyzbinary.bin gets duped to xyzbinary_3.bin and xyzbinary_8.bin. The file that works in Classic99 is xyzbinary_8.bin; therefore, xyzbinary.bin is not inverted.

 

...lee

 

 

Aaah great, thanks a lot :) This is an easy way, just testing it with the Classic99.

I have to hammer that into my head. 3 is inverted, 8 not.

 

So, for example, the " fbForth208.bin" is non-inverted.

 

no no, was a gag :D ....but I am sure I will ask again next month :)

 

thanks

Share this post


Link to post
Share on other sites

Hey everyone! By now you all know Matt has been doing some awesome conversions and even new stuff for the FlashROM 99 which has exponentially raised it's usefulness from just a place to stick games. I never thought I'd say this, but Ralf's cartridge is now spending more time in my TI than the XB2.7S cartridge.

 

A few days ago Matt was very kind and made a conversion of one of my favorite useful programs for me, but he had not posted it publicly, so I asked him if it was alright and he said yes, so... you guys with CorComp RTC's can now use Gazoo's SETCLOCK program straight from this cartridge as well.

 

 

SETCLOCK8.BIN

  • Like 1

Share this post


Link to post
Share on other sites

Never having having used Tursi's Classic 99 to make modules (YET), I have a question born of ignorance.

If I understand it correctly, it takes an 'image' of whats in memory at any one time correct? If so, I'm wondering, could Fred Kaals DSR loader for the HDX be saved as an image with the contents of the disk file also included?

Share this post


Link to post
Share on other sites

Never having having used Tursi's Classic 99 to make modules (YET), I have a question born of ignorance.

If I understand it correctly, it takes an 'image' of whats in memory at any one time correct? If so, I'm wondering, could Fred Kaals DSR loader for the HDX be saved as an image with the contents of the disk file also included?

 

A DSR cannot run from a ROM only cartridge (or from RAM) but the HDX DSR could probably run from an UberGROM cart.

  • Like 1

Share this post


Link to post
Share on other sites

 

A DSR cannot run from a ROM only cartridge (or from RAM) but the HDX DSR could probably run from an UberGROM cart.

 

I probably did not explain myself very well. Fred Kaal's program to program the DSR into the chip on the RS-232 is in two parts. The first part is the program itself, the second part is the data in which to program the chip. I was thinking that once the data is loaded into memory, prior to programming the chip, in might be possible to save the loaded "image" as one .BIN file, thus eliminating the need for the second data file. This way if one needed to program the HDX, one would only need to select the program and press the program button.

Share this post


Link to post
Share on other sites

 

I probably did not explain myself very well. Fred Kaal's program to program the DSR into the chip on the RS-232 is in two parts. The first part is the program itself, the second part is the data in which to program the chip. I was thinking that once the data is loaded into memory, prior to programming the chip, in might be possible to save the loaded "image" as one .BIN file, thus eliminating the need for the second data file. This way if one needed to program the HDX, one would only need to select the program and press the program button.

 

Sorry, then I have no idea if it's possible. Depends on how the file is loaded.

Share this post


Link to post
Share on other sites

I thought about this. But then I moved it to a fresh .hfe image :)

 

It could be done if all the stars are aligned. The DSR Loader would need to load both bank files of the DSR image into expansion ram before it tried to poke them into the board's DSR ram. You'd have to capture the breakpoint/start address at that perfect moment. I suppose if I paid attention to my disk activity I could answer that part easy enough.

 

Then, I can't remember if that loader is in 40 column mode or 32... In order to continue the screen state, you'd need to capture sufficient portion of the VDP Ram. Classic 99 lets you do this. But you can't capture VDP registers, I don't think. Classic 99 has an option, I believe, to set them to a base state.

 

Then, you have to get the VDP ram, expansion ram for the loader, and expansion ram for the DSR images, and cart-rom loader code to all fit in the ROM. Which it probably would.

 

So, I didn't try :) If I moved everything off of my disk system, I'd never know when it breaks... And we can't have that now. :)

 

It might be easier to just ask Fred to build his HDX loader to run from his FlashRom 99. I know he has one :) If we had this, though, you could run a lot of disk software with just the HDX mod and a FlashRom99 cartridge to boot strap the HDX. No disk drives required.

 

[email protected]

Share this post


Link to post
Share on other sites

It could be done if all the stars are aligned. The DSR Loader would need to load both bank files of the DSR image into expansion ram before it tried to poke them into the board's DSR ram. You'd have to capture the breakpoint/start address at that perfect moment...

 

Ugh! Yeah, sounds like WAY to much trouble to mess with! Scratch that idea!

Now DSK2PC on the other hand would probably be an easy conversion for you.

gallery_35324_1027_537239.gif

DISK VERSION ATTACHED BELOW

DSK2PC.zip

  • Like 2

Share this post


Link to post
Share on other sites

Some one asked for PARSEC, so here it is...

 

PARSEC8.BIN

 

--

 

So, for the items I've captured so far, I have been able to take a pretty lazy approach for most things.

 

1. If Fred Kaal wrote it, then I use his ModuleCreator program over on ti99-geek.nl, this is so easy it needs no explanation, if it works for your EA5 images.

2. If it was an EA5 with 3 or less 8K files, and the load location of the first file is A000, then I just use Classic99 to make a 379 cartridge loader, and capture the high mem address range from A000 - FFFF.

3. Use bankinvert.jar to save the file as a non-inverted image.

 

Now parsec looked too big at a glance, it was four files, but 2 of them were smaller than 8k. So I googled up the EA5 format, to find the description on the TI tech pages. But that had to be wrong.. the address and bytes to load are backwards in Theiry's docs.

But, since the EA5 format looks so innocently simple: It looks like it can only copy bytes into CPU ram, and the files each say where and how much...

 

So, the parsec EA5 files I have, had the following header information for the 4 files:

 

------------------

Flag | Size | Addr

------------------

FFFF | 2000 | A000

FFFF | 2000 | BFFA

FFFF | 1900 | DFF4

0000 | 117A | 268C

 

For the purposes of making a cart loader, ignore the flag.

 

The Size and Addr can be used to figure out exactly what memory needs to be captured into the cart loader.

 

In this case, high memory is used from A000 to F8F4. A000 because that is the lowest high memory value in the Addr field of the file headers. And F8F4 because the highest Addr value plus that files Size will be the top of that.

The odd address needs to be included, so we want to tell the cart loader to capture high memory across A000 to F8F5

 

Then, we have a file that is in low memory.. so we do the same thing. Add Addr and Size and capture from Addr to that sum + 1.

 

If you have the room, check the restore VDP registers. Give the module a menu name, 'build' it, and then test it as a user module.

 

once that works, use bankinvert.jar to transform to a non-inverted image, and load it up on your FlashROM 99.

 

Images created in this way, require the 32k expansion to run, as the cart is loading the same EA5 bytes into the same addresses in memory, and then resuming.

  • Like 6

Share this post


Link to post
Share on other sites

Oh, nice, and the same process worked for TOD. Or at least the hacked up disk based loader of TOD that I have...

 

(EDIT: I removed the attached file for now, in hopes of getting trying again with better source material)

(EDIT (Again): The good disk based TOD which you can find a few posts down, is too big to pack into 32k ROM with a RAM loader, so I return to you, the slightly reduced title screen version)

TOD8.BIN

 

This TOD seems to have sacrificed the dragons face on the title screen. And as this is a GROM to expansion-ram conversion, you get to see a menu screen after you select the cart from a menu screen. It'll look less weird from the FlashROM 99.

 

Maybe someone has a better EA5 version of the TOD module?

 

[email protected]

  • Like 2

Share this post


Link to post
Share on other sites

Some one asked for PARSEC, so here it is...

 

attachicon.gifPARSEC8.BIN

 

 

Matt, the Parsec conversion works perfectly... as long as I use the TI keyboard or joystick.

When I use the PS/2 keyboard, "I gets blowed up!" How does you USB adapter work?

Share this post


Link to post
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.

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...