Jump to content
IGNORED

Raising Atlantis!


InfernalKeith

Recommended Posts

The program on side A seems to be complete. On side B it finds 63 small files.

 

That's what I had. The problem is that from my reading of the code there are 76 items of data so the split doesn't quite marry-up. That's why I thought the way to go would be to create a version of the code to read the data from cassette and write to a single disk file using the real hardware (and my CF7+), then change the Atlantis code to read the new disk file and deal with any memory issues should there be any.

Link to comment
Share on other sites

I think the side B is complete too.

 

It read 14 strings (files 1 to 14).

27 FOR F=1 TO 3
28 INPUT #1:J$
29 PRINT J$: :
30 NEXT F
31 CALL CHAR(42,"00FF00FF00FF00FF")
32 CALL SCREEN(5)
33 CALL COLOR(1,5,5)
34 INPUT #1:ES$
35 INPUT #1:SE$
36 INPUT #1:RR$
37 EE$=ES$&SE$
38 FOR F=1 TO 8
39 INPUT #1:E$(F)
40 NEXT F

 

Then it reads 13 records with 2 values in each (files 15 to 27).

41 FOR F=0 TO 3
42 INPUT #1:TX(F),TY(F)
43 NEXT F
44 FOR F=0 TO 8
45 INPUT #1:X1(F),Y1(F)
46 NEXT F

 

Then it reads 36 strings (files 28 to 63).

47 FOR F=1 TO 34
48 INPUT #1:C$
49 CALL CHAR(VAL(SEG$(C$,1,3)),SEG$(C$,4,LEN(C$)-3))
50 NEXT F
51 INPUT #1:HL$
52 INPUT #1:I$

Link to comment
Share on other sites

Some progress... the zip file contains my Classic99 DSK1 directory containing:-

 

ATLANTIS - the original side A file

ATDATA - transferred side B data as a single file

ATLDISK - the side A code with the file open command changed to read the new disk file in DSK1

ATXFER - the program I used to take the cassette data and create the disk file

 

Now, running the new disk version in Classic99 I get a memory full error at line 39, on a real TI it's at line 28. Now to try to work out how to save some memory!

DSK1.zip

Link to comment
Share on other sites

I got it working from disk using your last files Trev,

 

using Classic99 -

Use Minimem Cart Image

CALL FILES(0)

OLD DSK1.ATLDISK

RUN

 

Using MESS or real hardware with memory expansion -

Use Minimem Cart (or Image)

call init

call files(1)

old dsk1.atldisk

save expmem2

call load(-31888,63,255)

new

old expmem2

run

 

Disk image attached.

 

Thanks for bringing us this lost treasure Trev.

 

OX.

ATLANTIS.zip

Edited by OX.
Link to comment
Share on other sites

  • 1 month later...

I got it working from disk using your last files Trev,

 

using Classic99 -

Use Minimem Cart Image

CALL FILES(0)

OLD DSK1.ATLDISK

RUN

 

Using MESS or real hardware with memory expansion -

Use Minimem Cart (or Image)

call init

call files(1)

old dsk1.atldisk

save expmem2

call load(-31888,63,255)

new

old expmem2

run

 

Disk image attached.

 

Thanks for bringing us this lost treasure Trev.

 

OX.

 

OX, while I can run this game in Classic 99 as you instructed, it unfortunately hangs on a real machine using your instructions as well. Any ideas? Really nice game that I want to post on the Gameshelf site but I need it working on the real thing first...

Link to comment
Share on other sites

OX, while I can run this game in Classic 99 as you instructed, it unfortunately hangs on a real machine using your instructions as well. Any ideas? Really nice game that I want to post on the Gameshelf site but I need it working on the real thing first...

 

Can't really help there as I don't own any real hardware but the loader is needed as it's an ex cassette basic game that uses every available scrap of standard memory so the first bit gets loaded and ran from expanded memory, the rest is then loaded in and it should work as it's all native to real hardware so would suggest it could be your setup?

Edited by OX.
Link to comment
Share on other sites

Not sure what in my setup could be the source of the problem...

I have a standard 32K, TI disk controller, IDE card, speech card and TI RS232 with the HDX modification. None of these should be causing issues as far as I can tell...

Can anyone here test this program on real hardware by any chance?

Link to comment
Share on other sites

 

 

OX, while I can run this game in Classic 99 as you instructed, it unfortunately hangs on a real machine using your instructions as well. Any ideas? Really nice game that I want to post on the Gameshelf site but I need it working on the real thing first...

 

CALL FILES(0) is illegal on a real disk controller, so if that is necessary to make the game work, that's probably the issue you are having. I'm not sure offhand what is going on in the second set of instructions there.

 

Link to comment
Share on other sites

CALL FILES(0) is illegal on a real disk controller, so if that is necessary to make the game work, that's probably the issue you are having. I'm not sure offhand what is going on in the second set of instructions there.

 

Yes the first instructions are specifically for Classic99, but the second instructions should work on both MESS and real hardware given the correct setup.

Link to comment
Share on other sites

I never worked with this computer...but couldn't you replace identical lines with GOTOs to free space? For example, there's a lot of NEXT F : RETURN pairs near the end of the program...try replacing them with GOTO 455 (since that is the only one that is referenced).

 

Lines 388-390 are also the same as lines 400-402. 362-364 is the same as 366-368.

 

Also, throwaway variable J is only used in the 136-138 loop. This could be replaced with variable I (since it is used in two loops of it's own just after).

  • Like 1
Link to comment
Share on other sites

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.

 

 

 

Link to comment
Share on other sites

  • 4 years later...

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.

Any chance you could reupload that? seems missing from your post above...

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