VIC Rally aka Chequered Flag (1984)
Moderator: Moderators
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
VIC Rally aka Chequered Flag (1984)
Hi there. I just came across this page (sorry, Italian only, please use Google's translator), where a type-in for the 16K expanded VIC is presented. It was originally published by Your Computer, but one of the many Italian pirated magazines of the time stole it, only to leave out the final part of the listing.
Blogger Andrea Pachetti, to whom all credits should be given, couldn't find it in the VIC-20 Listings site. So he typed in the original, and made it available for download here. He also asks if someone is able to one-file it (I'm not ).
Not a bad game at all, albeit a bit slow in graphics and response to the keyboard input. It even has changing backgrounds! Have fun [and please, one-file it ]
Blogger Andrea Pachetti, to whom all credits should be given, couldn't find it in the VIC-20 Listings site. So he typed in the original, and made it available for download here. He also asks if someone is able to one-file it (I'm not ).
Not a bad game at all, albeit a bit slow in graphics and response to the keyboard input. It even has changing backgrounds! Have fun [and please, one-file it ]
Re: VIC Rally aka Chequered Flag (1984)
That's very nice for a type-in. I really like the simple but effective 3D-effect!
Re: VIC Rally aka Chequered Flag (1984)
Yes, very good use of graphics for a type-in!
Music I've made with 1980s electronics, synths and other retro-instruments: http://theovoids.bandcamp.com
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Re: VIC Rally aka Chequered Flag (1984)
Anyone for a one file version?
Re: VIC Rally aka Chequered Flag (1984)
One-filing such games is a general problem. Usually those kind of games have a loader that sets the BASIC-start higher in memory (e.g.to $2000 = decimal 8192). Then the second part sets up the characters in lower memory ($1200-$1fff) and sometimes there is a third part so the character-set-up-routine does not clobber up the memory.
Usually to one-file these one would load the character-set into memory and create a short BASIC-stub at $1201 that just sets the BASIC-registers to the appropriate values and executes the main-program. Doing it like this fails however if the character-sets starts at $1200 in memory so that there will be not enough room for the BASIC-stub. I have once thought about a more general solution for this kind of problem, namely a BASIC-stub with a small assembler-routine that moves the program itself up in memory to the desired location, then sets the registers as needed and runs the program. You would need to copy backwards from the end of the program to the start so as not to overwrite your program with the copy. I never got real far with this concept, also I don't know which BASIC-variables you would need to set. I would think setting addresses 43,44,45 and 46 followed by a CLR should be enough, but I have never really tried this. I'm sure Mike would know best
Usually to one-file these one would load the character-set into memory and create a short BASIC-stub at $1201 that just sets the BASIC-registers to the appropriate values and executes the main-program. Doing it like this fails however if the character-sets starts at $1200 in memory so that there will be not enough room for the BASIC-stub. I have once thought about a more general solution for this kind of problem, namely a BASIC-stub with a small assembler-routine that moves the program itself up in memory to the desired location, then sets the registers as needed and runs the program. You would need to copy backwards from the end of the program to the start so as not to overwrite your program with the copy. I never got real far with this concept, also I don't know which BASIC-variables you would need to set. I would think setting addresses 43,44,45 and 46 followed by a CLR should be enough, but I have never really tried this. I'm sure Mike would know best
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Re: VIC Rally aka Chequered Flag (1984)
I couldn't get more than fifty percent of what Tokra said, and here we go, problem solved!
We worship you, master of Vic programming
(Oh and thanks for the pm, we're all alive and well, hope the same for you and family )
- Mike
- Herr VC
- Posts: 4841
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: VIC Rally aka Chequered Flag (1984)
@orion70: PM sent.orion70 wrote: [...] here we go, problem solved!
-
- Vic 20 Afficionado
- Posts: 348
- Joined: Tue Apr 14, 2009 8:15 am
- Website: http://wimbasic.webs.com
- Location: Netherlands
- Occupation: farmer
Re: VIC Rally aka Chequered Flag (1984)
I replaced SYS calls with WimBasic functions or CBM functions, also put all the UDG into the programfile (no need to PEEK and POKE, everything is already in place).
To run it in WimBasic, have an 8k RAM extension or more, and do:
LOAD*"RALLYTST",8,1 (mind the asterisk)
DOKE$2B,$1A36
RUN
Regards,
Wim.
VICE; selfwritten 65asmgen; tasm; maintainer of WimBasic
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Re: VIC Rally aka Chequered Flag (1984)
Wow, thanks
- Mike
- Herr VC
- Posts: 4841
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: VIC Rally aka Chequered Flag (1984)
Unless the user has WimBasic in ROM, he instead now needs to soft-load WimBasic beforehand, which adds at least one extra manual step before the game is loaded. Furthermore, the BASIC start also has to be moved by the user with two POKEs or WimBasic's single DOKE command.wimoos wrote:Using WimBasic I brought the program down to 6.5k, and I'm sure it can come down even more.
I replaced SYS calls with WimBasic functions or CBM functions, also put all the UDG into the programfile (no need to PEEK and POKE, everything is already in place).
I am not even talking about that, IMO, any figures of program size ought to include the file size of all involved executables ... but these two points already defeat the whole purpose of what orion70 asked for, one-filing the game as I did. Sorry.
-
- Vic 20 Afficionado
- Posts: 348
- Joined: Tue Apr 14, 2009 8:15 am
- Website: http://wimbasic.webs.com
- Location: Netherlands
- Occupation: farmer
Re: VIC Rally aka Chequered Flag (1984)
I optimized it a little more, and this resulted in a single program file of 5186 bytes / 67 lines (came from 12556 bytes / 535 lines) .
To run it, because of the more than 64 custom characters, you need at least +8k RAM, and of course you need WimBasic (http://wimbasic.webs.com). You can autoload WimBasic in VICE.
In WimBasic the game can be loaded and run by the single command (use the up-arrow):
It plays straight away, bypassing the dreaded setting up of custom characters.
The pre-running part consists of just:
This pointer in $2B:$2C is reset to $1201 when the game is ended in a controlled manner.
The WimBasic features I used to make this a fast game and a compact program in all Basic and no ML.:
Regards,
Wim.
To run it, because of the more than 64 custom characters, you need at least +8k RAM, and of course you need WimBasic (http://wimbasic.webs.com). You can autoload WimBasic in VICE.
In WimBasic the game can be loaded and run by the single command (use the up-arrow):
Code: Select all
^RALLYWB
The pre-running part consists of just:
Code: Select all
1 DOKE$2B,$18B8:RUN
The WimBasic features I used to make this a fast game and a compact program in all Basic and no ML.:
Code: Select all
VOLUME, PLAY, SOUND
COKE, SPACE, CURSOR, COLOR
SWAP
IF .. THEN .. ELSE
WHILE .. WEND .. QUIT
DISPOSE
PRINT@
PRINTUSING
STRING$()
INSTR()
MIN(), MAX()
DIVMOD
SuperNumbers
Wim.
Last edited by wimoos on Thu Jun 18, 2020 1:07 am, edited 1 time in total.
VICE; selfwritten 65asmgen; tasm; maintainer of WimBasic
-
- Vic 20 Afficionado
- Posts: 348
- Joined: Tue Apr 14, 2009 8:15 am
- Website: http://wimbasic.webs.com
- Location: Netherlands
- Occupation: farmer
Re: VIC Rally aka Chequered Flag (1984)
Ok, so now I managed to get this game into a +3k version, The file size is 4353 bytes, approximately a third from the original. This version does a character setup, but using VARPTR, DEEK/DOKE and the Left-MID$ function this takes 0.1 second.
The accompanying zip contains both the +8k and the +3k version. They both require WimBasic, and I can tell you: they play slick.
Regards,
Wim.
The accompanying zip contains both the +8k and the +3k version. They both require WimBasic, and I can tell you: they play slick.
Regards,
Wim.
Last edited by wimoos on Thu Jun 18, 2020 1:06 am, edited 2 times in total.
VICE; selfwritten 65asmgen; tasm; maintainer of WimBasic
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Re: VIC Rally aka Chequered Flag (1984)
Sorry, my fault for sure, but I can't see where Wimbasic can be downloaded...
-
- Vic 20 Afficionado
- Posts: 348
- Joined: Tue Apr 14, 2009 8:15 am
- Website: http://wimbasic.webs.com
- Location: Netherlands
- Occupation: farmer
Re: VIC Rally aka Chequered Flag (1984)
About halfway the homepage of http://wimbasic.webs.com , where it says "To download" there is a link.
Regards,
Wim.
Regards,
Wim.
VICE; selfwritten 65asmgen; tasm; maintainer of WimBasic