Jump to content

Recommended Posts

Hi, I need some techie help.

I have a type-in program "Wild Strawberries" which I have on a cassette image. The game works perfectly fine on an emulated Atari 400 in Altirra when I CLOAD it with the BASIC cartridge image installed.

I want to transfer the game to an ATR so I can auto-boot it. To transfer the listing to a disk I have inserted a fresh copy of an auto-boot disk image (containing autorun.sys, dos.sys and dup.sys) and used SAVE "D:AUTORUN.BAS" to save the listing. For other type-in games, following this process works perfectly and auto-boots the game.

However, Wild Strawberries decides to freeze shortly after initialisation, but only when I load and run it from disk. I've tried to debug and narrowed it down to these lines which occur near the start of the program:

 

FOR A=0 TO 511:POKE 10240+A,PEEK(57344+A):NEXT A

FOR A=0 TO 127:READ B:POKE 10240+A,B:NEXT A

FOR A=0 TO 55:READ B:POKE 10448+A,B:NEXT A

 

I half understand that the first line is moving something from ROM to RAM(?), something to do with redefining the character set(?), and the other two lines read some bytes from DATA statements. If I remove these three lines, the game works fine but the graphics are nonsense, as expected.

When I run the game intact, it freezes shortly after doing the above. It lets me break the code, but when I LIST the code, it either freezes or most of the program code is missing or corrupted.

I've tried changing to 800XL, adding more RAM, etc. but it doesn't help. I'm presuming that DOS is taking up some of the RAM and causing the issue perhaps?

How can I fix this?

You are correct: the three lines in question move the character from ROM to RAM, then redefine a total of 16 + 7 characters.  There's a line somewhere that includes  "POKE 756,40"; if you remove that as well, then I suspect the program will run but not have the redefined graphics.

 

There's a version at Atarimania: https://www.atarimania.com/game-atari-400-800-xl-xe-wild-strawberries_16753.html

 

Question: Which DOS are you running?  On an emulated 400, with 16K of RAM, once you've got a DOS loaded there's not a heck of a lot of RAM available; I suspect the program is clobbering itself.

 

 

The program is quite small, on an 800XL you can make the following changes and it should run ok.

 

BASICally (excuse the pun), lower RAMTOP to a nice free space  and move the character set there

I've used the 32K boundary

 

65 FOR A=0 TO 511:POKE 32768+A,PEEK(57344+A):NEXT A
70 FOR A=0 TO 127:READ B:POKE 32768+A,B:NEXT A
75 FOR A=0 TO 55:READ B:POKE 32976+A,B:NEXT A

 

100 GRAPHICS 17:POKE 756,128

 

image.thumb.png.52f6dc13ec131e331543e24db0cd88aa.png

Edited by TGB1718
  • Like 2
17 hours ago, David_P said:

You are correct: the three lines in question move the character from ROM to RAM, then redefine a total of 16 + 7 characters.  There's a line somewhere that includes  "POKE 756,40"; if you remove that as well, then I suspect the program will run but not have the redefined graphics.

 

There's a version at Atarimania: https://www.atarimania.com/game-atari-400-800-xl-xe-wild-strawberries_16753.html

 

Question: Which DOS are you running?  On an emulated 400, with 16K of RAM, once you've got a DOS loaded there's not a heck of a lot of RAM available; I suspect the program is clobbering itself.

 

 

Hi, thanks for your response. TGB1718 has provided a working solution, but to answer your questions, I have no idea what DOS is being used (I never had a disk drive for my 400 or 800XL when I was little, only tape decks). The emulator is running in 400/800 mode with 48K RAM so technically there's enough there, but the program appears to be copying the character set to a location which was being used by something else (guesswork). TGB's solution of moving the charset to elsewhere in memory fixed it :)

5 hours ago, TGB1718 said:

The program is quite small, on an 800XL you can make the following changes and it should run ok.

 

BASICally (excuse the pun), lower RAMTOP to a nice free space  and move the character set there

I've used the 32K boundary

 

65 FOR A=0 TO 511:POKE 32768+A,PEEK(57344+A):NEXT A
70 FOR A=0 TO 127:READ B:POKE 32768+A,B:NEXT A
75 FOR A=0 TO 55:READ B:POKE 32976+A,B:NEXT A

 

100 GRAPHICS 17:POKE 756,128

 

 

 

Ah thank you so much! This worked perfectly with the default 48K RAM mode in the emulator :) :) 

I'm having a similar issue with Doctor Who Adventure (I know there's a downloadable version but that's slightly different to the type-in version I want to transfer to disk) so I'll see if I can apply the same solution.

  • 5 months later...

I remembered this typing in this game from a magazine back in the 80's, when that was the only way I could get new games, real games were for Christmas or birthday etc.. But pocket money could afford a monthly magazine.. Just trying to get it going again now.  so thanks for the poke updates 

  • Like 1

now to find the other bugs and fix them... as I'm sure the strawberry 🍓 is supposed to stay in the hole long enough for you to wack him

 

Planning to see if I can convert this to run in fastbasic 

Edited by TheSPY

Late to the party here but my guess assuming it's not just plain running out of memory on a 48K system - maybe a program bug that when certain Doses cause the memory creep upwards, messes up the offsets it's using for PMGs, other graphics or resources such that they're not by the book.

Good programming practice can usually avoid such things.  Like use dec. 740 to get the Ram size then adjust 106 (RAMTOP) before opening the screen rather than the usual practice of just moving RAMTOP downwards from it's "current" value.

  • Like 2
16 hours ago, Allan said:

Wow, that is so cool, I was wondering if all those magazines were up on the archive 

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