ti99iuc Posted November 10, 2021 Share Posted November 10, 2021 (edited) Hello! During the preservation phase, I stumbled upon this beautiful version of the famous arcade game, Nibbler. It has been published on an Italian Magazine in 1985 and it is written purely for the Mini Memory cartridge and consists of two parts, the first loaded using option 2 EasyBug and the second loaded by TI-BASIC but through the instruction CALL LINK ("LOAD"). It would be really nice to save everything in a digital format more usable than the .WAVs files. I tried to load them with the MAME/MESS emulator and they work fine. In my opinion it's a beautiful version and deserves to be played by everyone in an easy way. I never thought that with the Mini Memory cartridge you could get such a complete game loaded from a cassette tape. I am really surprised. is there in the community someone that would have the ability to convert it to a better format, maybe .BIN or at least, a disk format? Could be nice! There are the link to the game page and the .ZIP file containing the material that I was be able to put together. Page: https://www.ti99iuc.it/web/index.php?pageid=database_cerca&archivioid=883 Download: (Ita)-(Game)-(Snake Snake)-(1985)-(MM)-(by M.M.G. Software)-(from TI99NewSoft).zip Edited November 10, 2021 by ti99iuc 13 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 11, 2021 Share Posted November 11, 2021 (edited) I will look at this tonight. If the RAM at >7000 to >7FFF is only used to hold the program (i.e. workspaces are in the scratchpad and variables are in the scratchpad or VDP ram) then you should be able to make a normal cartridge from this program. Otherwise, you'd probably have to load the code, then disassemble and relocate it to the 32K memory. Or possibly you could use a supercart with RAM at >6000 to >7FFF, but not everyone has one. Edited November 11, 2021 by senior_falcon 5 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 12, 2021 Share Posted November 12, 2021 Can this be loaded with Classic99? I tried loading it with EasyBug and heard the cassette player chirping away, but nothing appears anywhere in memory. Any ideas? Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 12, 2021 Share Posted November 12, 2021 Spoiler Loading Instructions: --------------------- Once the computer is turned on with the Mini Memory cartridge inserted, select option 2 EASY BUG, then press any key and, when the exclamation mark appears, press the letter 'L'. Then follow the steps to load the first part of the program: SnakSnake-MM_1part_EasyBug.wav (this will be inserted into the memory of the cartridge). After the first program has been loaded, the question mark will appear again and, at this point, you will need to reset the computer by means of FCTN + '=' keys, (QUIT function). Then enter the TI BASIC (option1) and load the second file SnakSnake-MM_2part_Basic.wav by typing: CALL LINK ("LOAD") At the end of the loading process the game will start automatically. (more at: https://www.ti99iuc.it/web/index.php?pageid=database_cerca&archivioid=883) 1 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 12, 2021 Share Posted November 12, 2021 I have followed those steps and it does not work. ? Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 12, 2021 Share Posted November 12, 2021 Only the MINI MEMORY image, from the CARTRIDGE >APPS menu, works properly with Classic99. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 12, 2021 Share Posted November 12, 2021 This software seems to utilize many system resources, including: PAD, MEDIUM MEMORY, VDP RAM(all), BASIC's INTERPRETER, EASYBUG's GROM(CALL LINK), and perhaps others. One issue(making a .bin) is the need for RAM at >7000... Another, is that CALL LINK hands off execution with WS set to >70b8. I've been fooling around with this for a while now... I'd like to believe that I've cleared a few hurdles... still no dice. I think I'll need to use my own resource for reloading VDP, I'm not sure that what I've been using is fully capable. 2 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 12, 2021 Share Posted November 12, 2021 32 minutes ago, senior_falcon said: I have followed those steps and it does not work. ? Speaking in Tursi's voice... Are you using the latest version? 2 2 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted November 12, 2021 Author Share Posted November 12, 2021 (edited) First of all, thanks for your time and the trials you are doing for it to try to obtain a better and easier way to load this game ? ? Honestly I havent tried to load it in classic99 because Tursi always said that cassette tape is not so accurate, then I use Mame/Mess for it. Anyway I have seen that 'Home Automation' tried it and seems to work, maybe just a version problem then? anyway, hoping it can helps, I had success in saving the first EasyBug program in an Object file thanks the tutorial that by @senior_falcon and the SaveMM utility. SNAKE-O At least with this one, should make the loading procedure shorter but I do not know if it can help to obtain a totally digital version of the game. Edited November 12, 2021 by ti99iuc 2 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted November 12, 2021 Share Posted November 12, 2021 Just a comment that the volume of the wav files was very low. I could not read them into js99er.net without increasing the volume. 3 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 13, 2021 Share Posted November 13, 2021 The SNAKE-O file loads code into the minimemory. When I go to BASIC I can now CALL LINK("LOAD") and I am given the cassette prompts. I select the WAV file per Tursi's instructions and it chirps for a while, then reports "ERROR - NO DATA FOUND" I am out of ideas on this one. Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted November 13, 2021 Author Share Posted November 13, 2021 (edited) Ok, well, as suggested by Rasmus I have amplified the WAVs and attached here, so you can check if they will not reports the same error? [Edit] I have tested on Classic99 and I can confirm it works with this. Snake Snake-WAVs Amplified.zip Edited November 13, 2021 by ti99iuc added screenshot of classic99 2 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 13, 2021 Share Posted November 13, 2021 (edited) Doesn't work for me - I still get "ERROR - NO DATA FOUND" I feel silly. I thought I was using the latest version of Classic99, but after downloading the latest one I can get this to run. I have hopes that this will be something that can be made to be easily loadable. Edited November 13, 2021 by senior_falcon 2 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 13, 2021 Share Posted November 13, 2021 I believe this is a hybrid program. At least some of it seems to be written in BASIC. The Easy Bug portion seems to load the assembly part of the program and then the CALL LINK("LOAD") loads the BASIC program in a different way than OLD CS1. I'm not yet totally sure of this, but if so, then the trick is to figure out how to extract the BASIC program. 2 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 14, 2021 Share Posted November 14, 2021 I was able to extract the BASIC program from SnakeSnake. It is in the spoiler below. I do not know if other things are used in the VDP memory besides this program. I don't understand the program completely, but judging from the pause when the snake turns the corner, I'm guessing the program returns to BASIC to make a decision, then back to the assembly sub. I also extracted the assembly code from >7000 to >7FFF. Itis in this format: AORG >7000 BYTE (8 bytes) x512 END I have a crummy homebrew disassembler that is not really capable of dealing with this. I understand there are diassemblers that can read a disk and produce a source code listing. Spoiler 100 CALL LOAD(-32658,14,0,"",-32732,13,248) 110 DIM R1$(21),R2$(21),R3$(21),R4$(21),R5$(21),R6$(21) 130 GOSUB 705 140 FOR C=1 TO 16 150 CALL COLOR(C,16,1) 160 NEXT C 180 CALL COLOR(1,10,1) 190 DATA 62524A46464A5262,00FF18244281FF,464A526262524A46,00FF81422418FF 200 DATA 6253484442417F,46CA12224282FE,00FE82422212CA46,007F414244485362 210 FOR C=128 TO 135 220 READ A$ 230 CALL CHAR(C,A$) 240 NEXT C 250 CALL CHAR(34,"FF888888FF888888") 260 CALL CHAR(35,"F8888888F8888888") 270 CALL CHAR(36,"FF888888FF") 280 CALL CHAR(37,"F8888888F8") 300 RESTORE 310 FOR C=136 TO 143 320 READ A$ 330 CALL CHAR(C,A$) 340 NEXT C 350 RESTORE 360 FOR C=144 TO 151 370 READ A$ 380 CALL CHAR(C,A$) 390 NEXT C 400 CALL CHAR(152,"183C5A99995A3C18") 440 CALL CHAR(153,"") 450 DATA 001028285428281,0038546C5438,000018342C18,000028545428,00386C5428381,00002C142834 460 FOR C=100 TO 105 470 READ A$ 480 CALL CHAR(C,A$) 490 NEXT C 540 A$="00183C66663C1800" 550 FOR C=120 TO 123 560 CALL CHAR(C,A$) 570 NEXT C 580 DATA 7E7E3C3C18181818,00C0F0FFFFF0C,181818183C3C7E7E,00030FFFFF0F03 590 FOR C=112 TO 115 600 READ A$ 610 CALL CHAR(C,A$) 620 NEXT C 621 DATA 16,10,9,11,5,14,13,15 622 FOR C=9 TO 16 623 READ A 624 CALL COLOR(C,A,1-8*(C=12)) 625 NEXT C 627 CALL LINK("NIBBLE",R1$(),R2$(),R3$(),R4$(),R5$(),R6$()) 630 DATA ‡ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ†,€ ‚,€ ‡ ƒƒƒƒƒ ƒƒƒƒƒƒƒ ‡ƒƒdƒƒƒ† ‚ 640 DATA € € d d‚ ‚,€ „ … € ‚ ‚,€ d d d € ‚ ‚ 650 DATA € † ƒƒƒƒd‚d€ ƒƒ ‚ € „†d‚ ‚,€ € d ‚ € ‚ €d ‚ ‚,€ „… „… „ … ‚ 660 DATA € ‚,„†d‡ƒƒƒƒƒƒƒƒƒƒƒƒƒƒ† ‡ƒƒƒ…,‡ƒƒƒ… „…d„† 670 DATA € ‚,€ ‡ƒƒƒƒdƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ‚,€ €d d d ‚ 680 DATA € € € ‚d‡ƒƒƒ ƒƒƒƒƒƒƒƒƒƒ† ‚,€ € €d ‚ € d d‚ ‚,€ € „… € ‡ƒƒƒƒ†dƒƒƒƒƒ ‚ ‚ 690 DATA € €d d d‚d€ d d‚ d ‚ ‚,€ „… € „d… ‚ 700 DATA € ‚,„… 705 RESTORE 630 710 FOR C=0 TO 21 720 READ R1$(C) 730 NEXT C 740 DATA ‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹Ž,ˆ Š,ˆ ‹‹‹‹ ‹‹‹‹‹‹‹‹‹ ‹‹‹‹‹‹‹‹ Š 750 DATA ˆ ˆe e e Š,ˆ ˆ ‹‹‹‹‹‹‹e‹‹‹‹‹Ž ‹‹‹ ‹‹Ž Š,ˆ ˆ e Š e eŠ Š 760 DATA ˆ ˆ ‹‹ ‹‹‹‹‹Ž ˆ Š ‹‹‹‹‹ Š Š,ˆ ˆe e Šeˆ Š Š Š,ˆ ˆ ˆ ˆ ‹‹‹Ž Š ˆ Š ‹‹‹‹‹ Š 770 DATA ˆ ˆ ˆ ˆe eŠ Š Šeˆ e Š,ˆ ˆ ˆ ‹‹Ž Š Š e Š ˆ ‹‹‹Ž Š,ˆ ˆeˆ Œ‰‰ Š Š ˆ Š eˆ eŠ Š 780 DATA ˆ ˆ ˆ e eŠ ˆ Š ‰‰ Š Š Š,ˆ ˆ Œ‰‰‰‰‰ ‰‰ ˆ e eŠ Š Š,ˆ ˆ e e ˆ Š ‹Ž ŠeŠ Š 790 DATA ˆ Œ‰‰‰‰‰‰‰‰‰‰Ž ˆ Š ˆ Š Š e Š,ˆ e Š ˆ Š ˆ Š Š Š Š,ˆ ‰‰‰‰‰‰‰‰‰‰eŠ ˆ Š Œ‰ Š Š Š 800 DATA ˆ Š ˆe Š Š Š,ˆ ‰‰‰‰‰‰‰‰e‰‰ Š Œ‰‰‰‰‰ Š Š,ˆ Š 810 DATA Œ‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰ 820 FOR C=0 TO 21 830 READ R2$(C) 840 NEXT C 850 DATA —“““““““““““– —“““““““““““–, f ’ ’, ˜f˜ ˜ ˜f˜ ’ ˜ ˜ ˜f˜ ˜ ’ 860 DATA ’ f ’, ˜f˜ ˜ ˜ ˜f’ ˜ ˜ ˜f˜ ˜ ’, f ’ f ’ 870 DATA ˜ ˜f˜ ˜ ˜ ’ f˜ ˜ ˜ ˜f˜ ’, f ’ f ’,f˜ ˜ ˜f˜ ˜ ’ ˜f˜ ˜ ˜f˜ ’ 880 DATA ’ f ’, ˜ ˜f˜ ˜f˜ ”‘‘• ˜ ˜ ˜f˜ ˜ ’, ’ 890 DATA ˜ —‘‘‘‘‘‘– ˜ ˜ ˜ —““– ˜ ’," ’ ’ ’"," ’ ˜ ˜ ˜ ’ ˜ ’"," ˜ ”““““““• ”‘‘• ’" 900 DATA —““– ’, ˜f˜ ˜ ˜f˜ ˜ ’ ˜ ˜ ˜f˜ ’, ’ ’ 910 DATA ˜f˜ ˜ ˜f˜ ˜ ”‘‘• ˜f˜ ˜f˜ ’, ’,”‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘• 920 FOR C=0 TO 21 930 READ R3$(C) 940 NEXT C 950 DATA ‡ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ†,€ g g ‚,€ ˜ ˜ ˜ ‹‹Ž ‡ƒ† ‹‹‹‹‹‹‹‹Ž ‚ 960 DATA € Šg€ ‚ ˆ gŠ ‚,€ ˜g˜ ˜ ˆ Š € ‚ ˆ g“““– Š ‚,€ gŠ € ‚gˆ ’ Š ‚ 970 DATA € ˜ ˜g˜ ‰‰ € ‚ ˆ ‡†g’ Š ‚,€ g € ‚ ˆ g€‚ ’ g ‚,€ ˜ ˜ ˜ ˜g˜ € ‚ g €‚ ’ Š ‚ 980 DATA € € ‚ ˆ €‚ ’ Š ‚,„… ‚ ˆ g€‚ ’ Š ‚,‡ƒƒƒƒƒƒƒƒƒƒƒƒƒ… ˆ €‚ ’ Š ‚ 990 DATA € g ˆ €‚ ’ Šg‚,€ ˆg‰‰‰‰‰‰‰‰‰‰‰‰ „… ’ Š ‚,€ ˆ g g ’ Š ‚ 1000 DATA € Œ‰Ž ‰ ‰‰‰ ‰‰‰Ž ”‘‘‘‘• Š ‚,€ Šg ˆg gˆ Š ‚,€ Œ‰ ‰ —“““– Œ‰‰‰‰‰Ž ‰ ‚ 1010 DATA € g g ’ g Š g ‚,€ ”‘‘‘‘‘‘‘• ‘ ”‘‘‘‘‘‘gŒ‰‰‰ ‚ 1020 DATA €g ‚,„… 1030 FOR C=0 TO 21 1040 READ R4$(C) 1050 NEXT C 1060 DATA ™™™™™™™™™™™™™™™™™™™™™™™™™™™™,—““““““““““““““““““““““““““–,h ’, ˜h˜ ˜h˜ —“““ “““““““h““– ’ 1070 DATA h ’ ’, ˜h˜ ˜ ˜ ˜ ˜ h˜ h—– ’ ’, h h h ”• ’ 1080 DATA ˜ ˜h˜ ˜ ˜h˜ ˜ h’ ’, h —““““““ ‘‘• ’, ˜ ˜ ˜ ˜ ”‘‘‘ ’ 1090 DATA h h —‘‘‘‘‘‘‘‘‘•,”‘‘‘‘‘‘‘‘‘– —““• ”“““““““““–,—“““““““““• h ’ 1100 DATA h “““– ˜h˜ ˜ ˜ ’, —““ ““““““• ’ ’, ˜ ˜ —– ˜ ˜ ˜h˜ ’ 1110 DATA —“– h h ’h’ h ’, ”‘• ˜ h˜ ”• ’ ˜ ˜ ˜ ˜ ’, h h ’ h h ’ 1120 DATA ”‘‘ ‘‘‘‘‘‘‘ ‘‘‘• ˜ ˜ ˜ ˜ ’, ’,”‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘• 1130 FOR C=0 TO 21 1140 READ R5$(C) 1150 NEXT C 1160 DATA ™™™™™™™™™™™™™™™™™™™™™™™™™™™™,™™™™™™™™™™™™™™™™™™™™™™™™™™™™,™ ™,™ ™ ™i™ ™ ™ ™i™ ™ ™ ™ ™ ™ ™ 1170 DATA ™ i ™,™ ™ ™ ™ ™ ™ ™ ™ ™ ™i™ ™ ™ ™,™ i i ™ 1180 DATA ™ ™i™ ™ ™ ™ ™ ™ ™i™ ™ ™ ™ ™,™ i i ™,™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™i™ ™ ™ 1190 DATA ™ ™,™ ™ ™ ™ ™i™ ™ ™ ™ ™ ™ ™ ™ ™,™ i i ™ 1200 DATA ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™,™ i i i ™,™i™ ™ ™ ™ ™ ™i™ ™ ™ ™ ™ ™ ™ 1210 DATA ™ i i i ™,™ ™ ™ ™i™ ™ ™ ™ ™ ™ ™i™ ™ ™,™ ii i i ™ 1220 DATA ™ ™ ™i™ ™ ™ ™ ™i™ ™ ™ ™ ™ ™,™ ™,™™™™™™™™™™™™™™™™™™™™™™™™™™™™ 1230 FOR C=0 TO 21 1240 READ R6$(C) 1250 NEXT C 1260 CALL LINK("LOAD") 1262 CALL CLEAR 1265 CALL SCREEN(2) 1270 FOR C=96 TO 144 STEP 8 1280 CALL CHAR(C,"") 1290 NEXT C 1310 DATA 16,8,10,13,11,5,9 1320 FOR C=9 TO 15 1330 READ A 1340 CALL COLOR(C,A,A) 1350 NEXT C 1351 FOR C=1 TO 8 1353 CALL COLOR(C,16,1) 1355 NEXT C 1360 PRINT TAB(9);"M.M.G SOFTWARE":TAB(12);"PRESENTA"::::::::::::::::::TAB(14);"BY":TAB(7);"MATTIAZZI MAURO":TAB(15);"&":TAB(7);"BOTTIN GIANPAOLO" 1380 RESTORE 1390 1390 DATA 4,6,96,4,5,96,4,4,96,4,3,96,4,2,96,5,2,104,6,2,112,6,3,112,6,4,112,6,5,112 1400 DATA 6,6,112,7,6,120,8,6,128,9,6,136,10,6,144,10,5,144,10,4,144,10,3,144,10,2,144,10,2, 144 1410 DATA 6,8,112,7,8,120,8,8,128,9,8,136,10,8,144,7,9,120,6,10,112,6,11,112,7,11,120 1420 DATA 8,11,128,9,11,136,10,11,144,6,13,112,6,14,112,6,15,112,6,16,112,7,16,120,8,16,128 1430 DATA 9,16,136,10,16,144,8,15,128,8,14,128,8,13,128,9,13,136,10,13,144,10,14,144 1440 DATA 10,15,144,4,18,96,5,18,104,6,18,112,7,18,120,8,18,128,9,18,136,10,18,144,5,21,104 1450 DATA 6,20,112,7,19,120,8,20,128,9,21,136,10,21,144,8,24,128,8,25,128,8,26,128 1460 DATA 7,26,120,6,26,112,6,25,112,6,24,112,6,23,112,7,23,120,8,23,128,9,23,136,10,23,144 1470 DATA 10,24,144,10,25,144,10,26,144 1480 FOR C=1 TO 75 1490 READ A,B,D 1500 CALL HCHAR(A,B,D) 1505 CALL SOUND(30,247,9) 1510 NEXT C 1520 RESTORE 1390 1530 FOR C=1 TO 75 1540 READ A,B,D 1550 CALL HCHAR(A+8,B+2,D) 1555 CALL SOUND(30,247,9) 1560 NEXT C 1690 FOR C=1 TO 500 1700 NEXT C 1900 CALL CLEAR 1910 RESTORE 1920 RETURN 3 2 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 14, 2021 Share Posted November 14, 2021 On 11/12/2021 at 12:16 AM, HOME AUTOMATION said: I think I'll need to use my own resource for reloading VDP, I'm not sure that what I've been using is fully capable. The resource I was using(Tursi's) to reload VDP, does seem to work well enough. The next hurdle was that the GROM address is different when returning from the TI's main menu than it is when returning from CALL LINK. Some issues making this game into a cart, since the game itself requires a cart ...and 994As don't like 2 carts at once! I focused on recreating the environment more than re-writing things, but I believe that a little of both are needed to do much better. Some issues with restarting the game after a QUIT ...apparently the game is very picky about the WS register's values when starting ...and doesn't want to re-start after it has completed(leaving them altered). I'll try and look into re-initializing these values on re-starts. Maybe let me know if there are any other issues, as I haven't actually played the game. SNAKESNAKETESTS.zip 2 4 Quote Link to comment Share on other sites More sharing options...
tmop69 Posted November 14, 2021 Share Posted November 14, 2021 2 hours ago, HOME AUTOMATION said: The resource I was using(Tursi's) to reload VDP, does seem to work well enough. The next hurdle was that the GROM address is different when returning from the TI's main menu than it is when returning from CALL LINK. Some issues making this game into a cart, since the game itself requires a cart ...and 994As don't like 2 carts at once! I focused on recreating the environment more than re-writing things, but I believe that a little of both are needed to do much better. Some issues with restarting the game after a QUIT ...apparently the game is very picky about the WS register's values when starting ...and doesn't want to re-start after it has completed(leaving them altered). I'll try and look into re-initializing these values on re-starts. Maybe let me know if there are any other issues, as I haven't actually played the game. SNAKESNAKETESTS.zip 14.47 kB · 2 downloads How to run it? It's not starting in Classic 99 nor in MAME. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 14, 2021 Share Posted November 14, 2021 39 minutes ago, tmop69 said: How to run it? It's not starting in Classic 99 nor in MAME. I made it to run from the FinalGROM 99. It does seem a bit ironic that it doesn't run from Classic99, which I used to make part of the image. But, the image wants RAM at >7000. Not sure how to do that, except on FG99. 2 Quote Link to comment Share on other sites More sharing options...
tmop69 Posted November 14, 2021 Share Posted November 14, 2021 18 minutes ago, HOME AUTOMATION said: I made it to run from the FinalGROM 99. It does seem a bit ironic that it doesn't run from Classic99, which I used to make part of the image. But, the image wants RAM at >7000. Not sure how to do that, except on FG99. Just tested on MiSTer and is working fine if you set the cart type to MiniMemory. ? 3 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted November 14, 2021 Author Share Posted November 14, 2021 @HOME AUTOMATION, @senior_falcon It is a magic nice community ? You are like magicians for me, Many thanks for your time and help. I am vary happy to see this game added in the finalgrom and also very curious of the original TI Basic listing ? incredible. 2 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 14, 2021 Share Posted November 14, 2021 (edited) It is indeed a hybrid BASIC/Assembly program. I have made some tiny changes to the program so it will run from disk on Classic99. With MiniMemory in the slot and the disk containing these two files in disk 2: Press 1 for BASIC CALL FILES(0) (CALL FILES(1) does not save enough memory. this precludes running it from a real TI) OLD DSK2.SNAKEBX RUN It should start up. Change line 90 in SNAKEBX if you want to use a different disk drive. This uses CALL LINK, so it needs MiniMemory or Editor/Assembler BASIC. If SNAKE-O were disassembled then it should be possible to port this over to XB, which would at least start up faster and maybe run a little faster as well. In the original program, I believe CALL LINK("LOAD") loads up the BASIC program after the prescan has been done, so it will start up promptly. I am not sure this a performance enhancer because of the extra time needed to read the additional bytes from cassette. (The I,J,K,M keys are used to control the snake) SNAKEBX SNAKE-O Edited November 14, 2021 by senior_falcon 3 3 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 15, 2021 Share Posted November 15, 2021 Well, for just a moment, I did have illusions of, international monetary exchange,? intrigue,? espionage,?️? and perhaps even some extracurricular activities!??? However, I suppose posterity could be viewed as a worthy machination. ... Besides, it was as much luck as it was skillful prestidigitation. ?/? ... 1 Quote Link to comment Share on other sites More sharing options...
speccery Posted November 15, 2021 Share Posted November 15, 2021 Thanks @ti99iuc for posting this and all the work by @HOME AUTOMATION , @senior_falcon for making the game accessible. I got this working on my real TI-99/4A with StrangeCart working as minimemory (which actually is it's default mode for me). I used the disk version to run it, with my ET-PEB working as the disk subsystem. I had to update the firmware of it, since it did not handle the incrementing of the record number in the PAB automatically (the Peripheral Access Block, used by CALL LINK("DSK3.SNAKE-O" in my case, there is a record counter which seems to automatically incremented by the TI disk controller). All the more rewarding once I got it working! My TI has now three ARM cores assisting it, one in the ET-PEB doing disk handling and two in the StrangeCart cartridge 3 3 Quote Link to comment Share on other sites More sharing options...
tmop69 Posted November 15, 2021 Share Posted November 15, 2021 On 11/14/2021 at 4:14 PM, senior_falcon said: ... CALL FILES(0) (CALL FILES(1) does not save enough memory. this precludes running it from a real TI) ... @Tursi I'm curious how you implemented this command mod. Is a change in the disk/basic rom? Since it's a very useful addition it would be nice to add also in the MiSTer TI99 core. 1 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted November 15, 2021 Share Posted November 15, 2021 I just copied the files in the zip file from @HOME AUTOMATION to my FG99, works great! 2 1 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.