Jump to content
IGNORED

TI-99-4A - UK Cassette Games - How To Convert To PC Emulator ?


RenegadeG1

Recommended Posts

Hi, is this game in TI- or in Extended-Basic ?

(as there is mentioned "XB" in the filename)

thanks for all that work

 

Yes, TI BASIC as i specified in everywhere other ;) ;)

i fixed name and something in the file contents also.

i'm glad to know you appreciate my work :) thanks :)

 

 

 

Thank you RenegateG1 for your support and PM message too ! :)

 

Isn't this Atlantis game the one that Keith was trying to restore on the Raising Atlantis thread several years ago?

 

You're right ! it is ! i completely forgot about this... and reading that thread i discovered that tursi done some mods at the programs... but i can't found the originals i could insert in the .ZIP file of the DB on my website !

 

Some good ideas, Nukey, and I took a stab at this incorporating your advice. Unfortunately, TI BASIC is picky about the nesting of FOR..NEXT loops and rejected the attempt to combine the endings.

 

I did get some progress.. I got the game to load and start under TI BASIC with CALL FILES(1), but it is still not quite there - it will run for a screen or two then run out of memory. One problem is that the game uses very long strings for data and thus it needs enough spare RAM to be able to manipulate those strings. Since garbage collection may not always be able to create a large enough block, you can run out at somewhat random points.

 

Unfortunately, the game does not work under XB -- it complains about the strings being too long! (Also uses characters not available in XB. Would it work under RXB?)

 

I'm posting what I got after an hour or so of fiddling around. Besides some very minor tweaks, I removed the obfuscation from the string print routine and made separate joystick and keyboard versions so I could remove that menu and option (in truth, neither saved very much memory compared to what we need). But, if someone else wants to take a stab at it, this version at least /starts/ with CALL FILES(1).

 

In addition to the original files from Trev, I've added three:

 

ATLTURS - full game with my mods

ATLJOY - joystick only version

ATLKEY - keyboard only version

 

If you look at a diff, the Joystick and Keyboard versions save very little in-line, it's just the removal of the menu that makes it worthwhile. But again, this is still not 100%. Even with CALL FILES(1) it runs out of memory as you move from screen to screen.

Tursi, could you help me to have your additional files please ? :)

Edited by ti99iuc
Link to comment
Share on other sites

  • 1 month later...

Just got myself a copy of Hunchback by Lantern software, I already had the regular version with the black and yellow cover but this one is in a clam case complete with full colour cover, it is in mint condition and looks as if it has never been used.

Will post a picture as soon as I get a chance.

  • Like 1
Link to comment
Share on other sites

  • 6 months later...

It turns out "roady toad" is slightly too big for regular program format, so I've rebuilt the binary as an IV254 from dumped source. Whereas before it would crash the system in interesting ways during loading, it now gets to the play screen. Sorry about that.

 

Attached are gzip'ped TIFILES image (for "roady toad" only) and a .dsk containing both.

roady_toad+draughts-Dr.Hogs_v2.dsk

roadytoad.tifiles.gz

  • Like 3
Link to comment
Share on other sites

There is a trick you can use in CLASSIC99 to set up the memory to match the size/environment of the console without an attached disk system. A lot of these nice tape games used every last byte of the available memory space on unexpanded systems and bombed when there was a disk system attached. Try the normally illegal CALL FILES(0) command with the unmodified program and it may run.

 

The modifications you did to make it work as an IV254 file are another way to get there, especially if you have the full source file, and has the benefit of making the program work for anyone using real iron and disks. Many thanks!

  • Like 1
Link to comment
Share on other sites

There is a trick you can use in CLASSIC99 to set up the memory to match the size/environment of the console without an attached disk system. A lot of these nice tape games used every last byte of the available memory space on unexpanded systems and bombed when there was a disk system attached. Try the normally illegal CALL FILES(0) command with the unmodified program and it may run.

 

The modifications you did to make it work as an IV254 file are another way to get there, especially if you have the full source file, and has the benefit of making the program work for anyone using real iron and disks. Many thanks!

 

I thought on that a bit, and decided that making it work with a disk-capable system covered the more common use cases. Of the people using emulation, I'd reckon that 100% of them are going to be using emulated disk, and of the people using real iron, probably 80% of those have disk systems ...

 

... or RAM expansion. That was the factor that tipped it over -- I could not get it to run with a 32k expansion, full stop. It'd load from my cassette emulator fine, but would crash during the pre-run crunching with a random error (and I know that the RAM in both of my systems is known-good).

 

For BASIC/Extended BASIC programs, programs can always be de-tokenized to source with xbas99.py from the xdt99 project. (Well, now it can -- I added support for TIFILES IV254 decoding and have submitted the patch). xbas99.py needs a little more TLC before it can correctly re-tokenize a program into IV254, and I haven't time for that at the moment, so TIImageTool did the needful (and pointed out a few end-of-line-whitespace bugs in xbas99.py).

 

What should probably be done, since this is natively an Extended BASIC program, is to use one of the program crunchers I remember from back in the day to combine lines to recover as much space as I can. Maybe then it'll be small enough to fit into the size of a regular program file, but I think this is good enough for now.

 

Edit: turns out I was a bit wrong about xbas99.py not supporting IV254 read. It does, but it needs to be fed "--long" so that all of the padding and record markers are removed. It does not emit those bits when re-tokenizing; I'll fix that and submit soonish.

Edited by ckoba
Link to comment
Share on other sites

  • 1 year later...

I've no idea where else to type this, so in this thread it goes ... but did you know, if you type RUN "CS1" in extended basic, it goes through all the normal stuff on screen with cassettes loading, then when it says Press Cassette Stop then Enter, press enter and game runs without you having to type run.

 

I only thought that worked for disk loading. Ah well.

  • Like 2
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...