Jump to content
IGNORED

Running files on finalgrom99 that require XB?


VicViper

Recommended Posts

Hi VicViper,

 

>where< did you copy the XB (yes, Extended Basic) files to ?

Did you copy them onto the FG99´s SD-card ? ( :grin: ) (This will not run)

And, if you try this 20 times, as I did, this will not run, too :) :)

 

Or did you copy them onto a (maybe real) floppy disk, inserted to your (given) PEB (periphal expansion box) ?

FG99 does not emulate a floppy drive on itself (with using the SD-card as a storage), BUT it will access all (real) floppy drives, of course,

(here: with running an i.e. "Extended Basic.BIN" virtual cartridge from the FG99er´s SD-Card, as that´s what it is for)

 

If you don´t have a real floppy drive (nor a NanoPEB´s emulated drive via the sidecar, or anything like this),

you *theoretically* (just to explain here) would have to convert the XB-file into a BIN-file, for the SD-card,

running this XB-program as an emulated <cartridge>.

But THIS is a totally different story, and I don´t think that you "just" can convert XB programs into BIN/cartridges format.

Finally, please let me tell you and know that I am not a specialist, and wait for more answers here. ;)

If you have any questions concerning hoarding, I can give you fully correct answers :D

 

xXx

Link to comment
Share on other sites

Just loaded up a bunch of files from tigameshelf that say they require XB cart, I presume it's referring to the extended basic cart, but obviously can't put in the CAB cart with my finalgrom99 plugged in. When I looked for the files they didn't show up.

 

You can have the XB cart BIN file installed in a folder on the FinalGrom SD card. It's located in the image repository in the pinned post at the top of the topic list on this forum.

On the other hand, you cannot run any programs that are not in cartridge format from the FinalGrom because it is not emulating a floppy or hard disk drive. Think of it as just a multi-cart holder with a selector switch like the Navarone Widget, and you can select only one cart at a time, but you will still need to have a floppy or hard drive (or RAM drive) available to access programs outside of the cart itself.

Assembly language programs can be converted to cart format with some effort but it's a laborious process if the program was not designed for this. Basic and XB programs cannot be converted to cart format.

I hope this is not too confusing...

  • Like 1
Link to comment
Share on other sites

Alright, I figured since they listed as BIN files that I could run them the same as the other files. Looks like I'm not missing any must have games being unable to run XB games, but if I don't plan on using my floppy drive, what are the other devices available that would fill this niche using either SD or some other modern storage medium?

Link to comment
Share on other sites

Basic and XB programs cannot be converted to cart format.

 

Actually, I think BASIC programs can -- although I don't know of any tool right now. If I had more time, I might try to write one.

 

Basically you'd need to move the cartridge contents to VDP RAM, and start the BASIC interpreter. Not sure if that would fit into scratchpad RAM, or if you needed 32K.

 

For XB, however, you cannot have both XB and XB program running in the FG99 at the same time. Maybe the reload feature of the FG99 would work for that. (Everything spoken theoretically, of course.)

Link to comment
Share on other sites

Alright, I figured since they listed as BIN files that I could run them the same as the other files. Looks like I'm not missing any must have games being unable to run XB games, but if I don't plan on using my floppy drive, what are the other devices available that would fill this niche using either SD or some other modern storage medium?

A NanoPEB device has a compact flash card reader that emulates 3 disk drives. It also provides 32K memory expansion and a serial port, all on 1 card that plugs into the expansion port on the right side of the console. These are occasionally available on eBay. Between it and the FinalGROM 99, you can have pretty much everything that a TI 99/4A could run in a very compact form factor.

Link to comment
Share on other sites

For XB, however, you cannot have both XB and XB program running in the FG99 at the same time. Maybe the reload feature of the FG99 would work for that. (Everything spoken theoretically, of course.)

 

Wouldn't it be possible to patch an XB image to restore the XB program from additional ROM banks into 32K, and then start the interpreter?

Link to comment
Share on other sites

Wouldn't it be possible to patch an XB image to restore the XB program from additional ROM banks into 32K, and then start the interpreter?

 

Yes, that would be possible, but only because XB is a GROM program, and GROM might be made into GRAM. Also, XB has only free GROM 7 left, so depending on the contents of GROM 6, the XB program might be limited to 8K (unless you added everything to the ROM part).

 

For ROM programs, the GPL header would remain in the lower half ROM bank, which cannot be configured as RAM.

 

EDIT: clarification

Edited by ralphb
Link to comment
Share on other sites

I've hacked a little tool to convert TI BASIC into a GROM cart BIN that you can run in an emulator and on the FinalGROM 99. It's not perfect, because you'll have to type RUN when the prompt appears. As usual, the tool needs Python 2.x.

 

To convert an encoded TI BASIC program into a BIN, type

.

bas2cart.py <basic.prg>

.

To generate an encoded TI BASIC program (i.e., the format as it is stored on a disk) from a listing (i.e., a text file), you can use the xbas99 program from the xdt99 suite.

.

xbas99.py -c <listing.txt>

.

As an example, I used BOMBER by Roland Schlosser. PRG is the encoded BASIC, BIN the result of bas2cart.

 

Unrelated question: I wonder if running from GROM is slower than running from VDP RAM, as I image VDP RAM to be faster than GROM.

 

bas2cart.zipbomber.zip

  • Like 5
Link to comment
Share on other sites

I've hacked a little tool to convert TI BASIC into a GROM cart BIN that you can run in an emulator and on the FinalGROM 99. It's not perfect, because you'll have to type RUN when the prompt appears. As usual, the tool needs Python 2.x.

 

To convert an encoded TI BASIC program into a BIN, type

.

bas2cart.py <basic.prg>

.

To generate an encoded TI BASIC program (i.e., the format as it is stored on a disk) from a listing (i.e., a text file), you can use the xbas99 program from the xdt99 suite.

.

xbas99.py -c <listing.txt>

.

As an example, I used BOMBER by Roland Schlosser. PRG is the encoded BASIC, BIN the result of bas2cart.

 

Unrelated question: I wonder if running from GROM is slower than running from VDP RAM, as I image VDP RAM to be faster than GROM.

 

attachicon.gifbas2cart.zipattachicon.gifbomber

This is neat! Ostensibly I could take the TI-Basic Demos my dad wrote and convert them for use in the FinalGROM99- if I'm reading correctly this functionality does not apply to TI EB. :)

Link to comment
Share on other sites

No, not yet. In fact, this is really a hack job that has been tested with two (2) programs for far. :)

 

The scratchpad usage of TI BASIC is really messy, and it could be that programs with DATA might break, among others. Also, programs cannot be larger than 7.9K -- for bigger programs I would need to include bank switching.

Link to comment
Share on other sites

 

Unrelated question: I wonder if running from GROM is slower than running from VDP RAM, as I image VDP RAM to be faster than GROM.

 

 

AFAIK you cannot tell the difference since executing the instructions takes a lot more time than reading them.

 

To run an XB program from a cart I guess you would need to hook into XB after the system is initialized and right before the "command prompt" is shown. From the hook you would jump a machine code or GPL program that restored the scratch pad, 32K and VDP memory from a memory dump of the XB program and then returned to XB (or possibly executed a RUN command). I don't know how to do that and whether it's possible.

  • Like 1
Link to comment
Share on other sites

To run an XB program from a cart I guess you would need to hook into XB after the system is initialized and right before the "command prompt" is shown. From the hook you would jump a machine code or GPL program that restored the scratch pad, 32K and VDP memory from a memory dump of the XB program and then returned to XB (or possibly executed a RUN command). I don't know how to do that and whether it's possible.

 

As long as XB programs fit the VDP RAM, i.e., they're not stored in "long" format, the same procedure as above could probably used. Just the final jump would target XB, which is a bit more complicated, as we don't have a commented disassembly for XB.

 

BTW, I don't need to use special memory dumps, as saved BASIC programs are already VDP RAM dumps. When OLDing, the program is put low in VDP RAM and then shifted to the top of VDP RAM. My tool, however, drops it right where it belongs, but the BASIC interpreter doesn't seem to mind.

Link to comment
Share on other sites

There is an official way to run a TI Basic Program (non XB) from GROM and it is described in the TI Home Computer Software Development System Programmer's Guide (28pages). The Document was resurrected by Jim Fetzner and I can post it in case there is interest.

 

In addition I remember reading about success in converting a running XB program to cartridge format. However I found nothing in The Cyc.

But there is even proof about some existing tool if you load Chainlink Master Solitaire (js99er.net), which is an XB game in binary cartridge format and it is starting by showing "CART CONV BY TURSI".

I guess Tursi can shed some light about his tool "MakeCart".

Edited by kl99
Link to comment
Share on other sites

There is an official way to run a TI Basic Program (non XB) from GROM and it is described in the TI Home Computer Software Development System Programmer's Guide (28pages). The Document was resurrected by Jim Fetzner and I can post it in case there is interest.

 

Yes please, I'd be interested in that!

Link to comment
Share on other sites

I just noticed that Classic99 already has a function to save TI BASIC programs in cart format (Debugger / Make / Save memory as program / Save type / TI BASIC Restore).

 

Yep, we've released software that used it, although I can't remember any of it except my crap game contest entry. ;)

 

It lets you run your title to a good stopping point before you save, then backs up all of VRAM except the screen plus scratchpad (so breakpointing right before the screen is drawn is good). That lets you skip the prescan. It's just a normal 16k copy cart (which is why we lose the screen - 16k VRAM and 16k ROM... though I think there's an option to skip the disk buffers instead...) Anyway, then the emulator runs until the GPL interpreter hits its main loop, and then it saves.

 

On restore, it then knows exactly where to jump to in order to resume.

 

Sample output ROM: HyperRacer Crap Entry.zip

 

Of course, this is not the same as patching the program to run natively from GROM, it's more of a savestate. ;)

 

Edit: There's also an option that inhibits Fctn-4 from breaking the program in the Classic99 converter -- this just works by installing a user interrupt that checks the keyboard. If FCTN-4 is pressed, it resets. ;)

 

Edit: the old MakeCart tool could only handle EA#5 programs -- if it's showing that banner, then the program was EA#5 before it got it. ;)

Edited by Tursi
  • Like 1
Link to comment
Share on other sites

 

Yes please, I'd be interested in that!

 

Texas Instruments Home Computer Software Development System Programmer's Guide

Software-Development-System-Programmers-Guide-1979-11-06-Reduced.pdf

Texas Instruments Home Computer

Software Development System

Programmer's Guide

Personal Computer Division

6th November 1979

 

Again credits go to Ksarul for purchasing the document and digitizing it to pdf format.

The referred GPL Debugger Operation Guide is available as well. The referred GPL Programmer's Guide is well known.

  • Like 3
Link to comment
Share on other sites

It lets you run your title to a good stopping point before you save, then backs up all of VRAM except the screen plus scratchpad (so breakpointing right before the screen is drawn is good). That lets you skip the prescan. It's just a normal 16k copy cart (which is why we lose the screen - 16k VRAM and 16k ROM... though I think there's an option to skip the disk buffers instead...) Anyway, then the emulator runs until the GPL interpreter hits its main loop, and then it saves.

 

Quite elegant, really. It pays to have your own emulator. ;)

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