Game to be fixed please

Basic and Machine Language

Moderator: Moderators

Post Reply
User avatar
saver71
Vic 20 Hobbyist
Posts: 101
Joined: Tue Mar 17, 2009 12:16 pm
Website: https://superottanta.blogspot.com
Location: Sassari, Italy
Occupation: Advertiser

Game to be fixed please

Post by saver71 »

Hello, there's a game to be fixed. :| Here's the problem:
isdd_screenshot.png
isdd_screenshot.png (6.62 KiB) Viewed 1126 times
Who wants to help me out, please contact me in private. Thanks a lot. :)
User avatar
orion70
VICtalian
Posts: 4340
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Re: Game to be fixed please

Post by orion70 »

Today, I took my time to try and fix it, but failed :oops:
Apparently, lines from 280 to 300 are the critical ones, with line 280 drawing spaces. These are not only "spaces", as drawing less spaces means less stress frame (try modifying the values in for...next loop).
Thanks to whoever can explain these lines, please here and not in pm. :)
User avatar
Mike
Herr VC
Posts: 4831
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Game to be fixed please

Post by Mike »

Without the source at hand, I can only tell that of course it is not possible to fill the most bottom-right character with a PRINT statement. If done so regardless, it will cause the screen to scroll. So most probably that character was left out by purpose, because the programmer didn't know how to circumvent this.

If this game is for unexpanded or +3K expanded VIC-20, you might try to insert the following two POKEs right after the frame has been set up: POKE8185,230:POKE38905,0

Greetings,

Michael
User avatar
srowe
Vic 20 Scientist
Posts: 1338
Joined: Mon Jun 16, 2014 3:19 pm

Re: Game to be fixed please

Post by srowe »

I can only tell that of course it is not possible to fill the most bottom-right character with a PRINT statement.
Not so, there's an example using CHR$(157)CHR$(148) on page 23 of the Programmers Ref Guide that shows how to do this.
User avatar
saver71
Vic 20 Hobbyist
Posts: 101
Joined: Tue Mar 17, 2009 12:16 pm
Website: https://superottanta.blogspot.com
Location: Sassari, Italy
Occupation: Advertiser

Re: Game to be fixed please

Post by saver71 »

Mike wrote:you might try to insert the following two POKEs right after the frame has been set up: POKE8185,230:POKE38905,0
GREAT! :wink:

There was only POKE38905,0 and POKE8185,230 was missing. Thank you very much! :)

Thanks to orion70 and srowe too. :wink:
User avatar
Mike
Herr VC
Posts: 4831
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Game to be fixed please

Post by Mike »

srowe wrote:Not so, there's an example using CHR$(157)CHR$(148) on page 23 of the Programmers Ref Guide that shows how to do this.
I looked it up. Well, nice! I truly assumed the screen editor would open a new line and cause the screen to scroll even in that case, though I obviously never tested it.

That method can still fail however, when the current logical line had an odd number of quotes printed and thus the cursor is in quote mode. For this reason, ending the last print line one character short and placing either a final {HOME} character in that string or a semi-colon after the string, and then POKEing the bottom-right character into place will remain the preferred solution for me.
User avatar
saver71
Vic 20 Hobbyist
Posts: 101
Joined: Tue Mar 17, 2009 12:16 pm
Website: https://superottanta.blogspot.com
Location: Sassari, Italy
Occupation: Advertiser

Re: Game to be fixed please

Post by saver71 »

Coming soon with SUPER VIC & C64 n.3. :wink:
User avatar
orion70
VICtalian
Posts: 4340
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Re: Game to be fixed please

Post by orion70 »

Sidenote: I was commenting the listing because Saver71 was so kind to provide me with the source code. Next time, I invite Saver to post the source for everyone's intervention :).
Post Reply