Jump to content

Photo

Raising Atlantis!


94 replies to this topic

#76 trev2005 OFFLINE  

trev2005

    Space Invader

  • 45 posts
  • Location:Whitley Bay, UK

Posted Tue Sep 11, 2012 4:58 AM

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.

#77 lucien2 OFFLINE  

lucien2

    Moonsweeper

  • 282 posts
  • Location:Switzerland

Posted Tue Sep 11, 2012 10:20 AM

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$


#78 trev2005 OFFLINE  

trev2005

    Space Invader

  • 45 posts
  • Location:Whitley Bay, UK

Posted Tue Sep 11, 2012 10:47 AM

Aha! I was expecting the middle 13 records with 2 values to result in 26 files. Thanks for pointing that out!

May not need to locate my cassette cable after all.

#79 OX. OFFLINE  

OX.

    Moonsweeper

  • 457 posts

Posted Tue Sep 11, 2012 11:21 AM

Nice one Trev! Really looking forward to this one, hope we can get it working!

#80 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 3,850 posts
  • Location:Denmark

Posted Wed Sep 12, 2012 1:53 AM

-

Edited by sometimes99er, Wed Sep 12, 2012 10:47 AM.


#81 trev2005 OFFLINE  

trev2005

    Space Invader

  • 45 posts
  • Location:Whitley Bay, UK

Posted Wed Sep 12, 2012 8:46 AM

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!

Attached Files

  • Attached File  DSK1.zip   13.98KB   27 downloads


#82 OX. OFFLINE  

OX.

    Moonsweeper

  • 457 posts

Posted Wed Sep 12, 2012 11:55 AM

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.

Attached Files


Edited by OX., Wed Sep 12, 2012 2:33 PM.


#83 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,521 posts
  • Location:Germany

Posted Wed Sep 12, 2012 12:34 PM

screenshots please! :-)

#84 OX. OFFLINE  

OX.

    Moonsweeper

  • 457 posts

Posted Wed Sep 12, 2012 1:30 PM

-

Attached Files


Edited by OX., Thu Sep 13, 2012 3:02 PM.


#85 Vorticon OFFLINE  

Vorticon

    River Patroller

  • 2,669 posts
  • Location:Eagan, MN, USA

Posted Wed Oct 31, 2012 8:36 PM

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

#86 OX. OFFLINE  

OX.

    Moonsweeper

  • 457 posts

Posted Thu Nov 1, 2012 11:22 AM

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., Thu Nov 1, 2012 11:22 AM.


#87 Vorticon OFFLINE  

Vorticon

    River Patroller

  • 2,669 posts
  • Location:Eagan, MN, USA

Posted Thu Nov 1, 2012 5:45 PM

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?

#88 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 3,850 posts
  • Location:Denmark

Posted Thu Nov 1, 2012 11:09 PM

As the game tries and squeeze every byte out of the VDP, maybe removing/disabling some of the extras would help (RS232 etc.).

#89 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,680 posts
  • Location:BUR

Posted Fri Nov 2, 2012 12:26 AM

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.


#90 OX. OFFLINE  

OX.

    Moonsweeper

  • 457 posts

Posted Fri Nov 2, 2012 7:28 PM

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.

#91 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,680 posts
  • Location:BUR

Posted Sat Nov 3, 2012 3:27 AM

When I get some time, will see if I can optimize it to work with a normal system normally. I'm not fond of Classic99-specific versions of anything floating around. It's not supposed to need them! :)

#92 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,610 posts
  • Location:The land of Gorch

Posted Sat Nov 3, 2012 7:18 AM

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

#93 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,680 posts
  • Location:BUR

Posted Sun Nov 4, 2012 7:12 PM

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.




#94 notwhoyouthink ONLINE  

notwhoyouthink

    Space Invader

  • 38 posts

Posted Sat Jul 8, 2017 1:04 AM

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



#95 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,680 posts
  • Location:BUR

Posted Sat Jul 8, 2017 9:47 PM

Unfortunately, I no longer have those files. I just did a search of my drive to be sure.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users