+RetroElectroDad Posted September 11, 2012 Share Posted September 11, 2012 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. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted September 11, 2012 Share Posted September 11, 2012 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$ Quote Link to comment Share on other sites More sharing options...
+RetroElectroDad Posted September 11, 2012 Share Posted September 11, 2012 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. Quote Link to comment Share on other sites More sharing options...
OX. Posted September 11, 2012 Share Posted September 11, 2012 Nice one Trev! Really looking forward to this one, hope we can get it working! Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted September 12, 2012 Share Posted September 12, 2012 (edited) - Edited September 12, 2012 by sometimes99er Quote Link to comment Share on other sites More sharing options...
+RetroElectroDad Posted September 12, 2012 Share Posted September 12, 2012 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 Quote Link to comment Share on other sites More sharing options...
OX. Posted September 12, 2012 Share Posted September 12, 2012 (edited) 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 September 12, 2012 by OX. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted September 12, 2012 Share Posted September 12, 2012 screenshots please! :-) Quote Link to comment Share on other sites More sharing options...
OX. Posted September 12, 2012 Share Posted September 12, 2012 (edited) - Edited September 13, 2012 by OX. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted November 1, 2012 Share Posted November 1, 2012 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... Quote Link to comment Share on other sites More sharing options...
OX. Posted November 1, 2012 Share Posted November 1, 2012 (edited) 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 November 1, 2012 by OX. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted November 1, 2012 Share Posted November 1, 2012 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? Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted November 2, 2012 Share Posted November 2, 2012 As the game tries and squeeze every byte out of the VDP, maybe removing/disabling some of the extras would help (RS232 etc.). Quote Link to comment Share on other sites More sharing options...
Tursi Posted November 2, 2012 Share Posted November 2, 2012 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. Quote Link to comment Share on other sites More sharing options...
OX. Posted November 3, 2012 Share Posted November 3, 2012 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. Quote Link to comment Share on other sites More sharing options...
Tursi Posted November 3, 2012 Share Posted November 3, 2012 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! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted November 3, 2012 Share Posted November 3, 2012 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). 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted November 5, 2012 Share Posted November 5, 2012 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. Quote Link to comment Share on other sites More sharing options...
notwhoyouthink Posted July 8, 2017 Share Posted July 8, 2017 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... Quote Link to comment Share on other sites More sharing options...
Tursi Posted July 9, 2017 Share Posted July 9, 2017 Unfortunately, I no longer have those files. I just did a search of my drive to be sure. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.