Let's bring ELITE to the VIC-20

Discussion, Reviews & High-scores

Moderator: Moderators

User avatar
tokra
Vic 20 Scientist
Posts: 1186
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: Let's bring ELITE to the VIC-20

Post by tokra »

Looks nearly feature-complete and very nice! A few questions:

- do you plan on a disk-version with more features later on, like the BBC Master version? If you switch between station and spaceflight-modes how much space would this free up for more features like missions or more ships/stations?

- does this already use the „better“ line removal routines as mentioned by Mark Moxon in his video?

- could you use colours in the instrument-section? For fun I did a calculation and if you use a mode of 128 x 144 with 8 x 16 chars, then a raster split and then a 128 x 56 mode with 8 x 8 chars you could do colour nearly like on the C64. This mode would still fit within the 4K the VIC can see: 144 double chars for the space view and 112 normal chars for the instruments plus 3200 bitmap bytes. You would not have the borders left and right, though

Just my humble suggestions. :mrgreen: Keep up the fantastic work!

Historically I guess only very few people had 35K expansions back in the day. I know a third party 32K-expansion was popular in Germany, but 35K was really only hypothetical. A disk drive was out of the question at all back then, as it was so very expensive. Realistically you would have gotten a C64 before buying a floppy for your VIC-20
groepaz
Vic 20 Scientist
Posts: 1266
Joined: Wed Aug 25, 2010 5:30 pm

Re: Let's bring ELITE to the VIC-20

Post by groepaz »

Was it really popular? Everyone i knew who had vic20 had an expansion port expander and one or two (sometimes three) 8k expansions :)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
User avatar
MrSterlingBS
Vic 20 Afficionado
Posts: 304
Joined: Tue Jan 31, 2023 2:56 am

Re: Let's bring ELITE to the VIC-20

Post by MrSterlingBS »

What I've seen so far is really great.

But why does the version require so much memory?
Shouldn't 27kByte be enough?
Is there an overview of the memory usage?

BR
Sven
aeb
Vic 20 Dabbler
Posts: 91
Joined: Sat Jun 19, 2004 2:06 pm

Re: Let's bring ELITE to the VIC-20

Post by aeb »

tokra wrote: Thu Jan 09, 2025 4:16 pm - do you plan on a disk-version with more features later on, like the BBC Master version? If you switch between station and spaceflight-modes how much space would this free up for more features like missions or more ships/stations?
That's certainly possible, but there's no support for swapping code from disk in the C-64 source that I'm using as a base. Doing that could prove to be more laborous than one might think!

- does this already use the „better“ line removal routines as mentioned by Mark Moxon in his video?
No, not yet. It's possible to implement the "flicker-free" mod, and it should only take a few bytes. It's a bigger change than just copy-pasting some code, though. For example, I think it affected how ships are drawn further in the distance. Maybe I'll look into that later! But nothing wrong with the flickering that gives an era appropriate vector display feel :)

- could you use colours in the instrument-section? For fun I did a calculation and if you use a mode of 128 x 144 with 8 x 16 chars, then a raster split and then a 128 x 56 mode with 8 x 8 chars you could do colour nearly like on the C64. This mode would still fit within the 4K the VIC can see: 144 double chars for the space view and 112 normal chars for the instruments plus 3200 bitmap bytes. You would not have the borders left and right, though
It would add unnecessary complexity if the whole screen is not accessed as a uniform bitmap. The same dot and line routines now draw the 3d-objects, stardust, compass, and headpins & sticks of ships on the radar.

I tried several things with colors, but nothing looked good, except for the multicolor explosion which I think was a nice touch. The background color is white and hires bitmap is in reverse mode (bit 3 in $900f): This is the only way enable displaying the explosion "sprite" blob with 4 colors including black background (from border color parameter). Therefore the dashboard is limited to using white on black, or one of the colors 2-7 as background. ie. the Color RAM $9400-$94ff is now all black, except $0a in the area where the 3x3 char explosion is flashed. (Color RAM nybbles at $9500-$97ff is used to store the ASCII font)
aeb
Vic 20 Dabbler
Posts: 91
Joined: Sat Jun 19, 2004 2:06 pm

Re: Let's bring ELITE to the VIC-20

Post by aeb »

MrSterlingBS wrote: Fri Jan 10, 2025 2:22 am But why does the version require so much memory?
Shouldn't 27kByte be enough?
Is there an overview of the memory usage?
This is the rough memory map of VIC 20 Elite (9 Jan 2025 build):

$0000-$0001 VIC 20 graphics routines pointer
$0002-$00C2 Elite zeropage
$00C3-$00D3 VIC 20 graphics routines zeropage
$00E0-$00ED VIC 20 sound fx player zeropage
$00F8-$00FD VIC 20 missile indicators, dashboard bulbs
$0100-$01FF Low stack used for something by Elite, approx. $0180-$01BF seems to be available
$0200-$02FF Free, screen matrix could be moved here from $1000-$10FF. KERNAL file scratch during save messes up a few bytes here, but those can be corrected when the operation is done
$0300-$033F At least $0314/$0315, $0318/$0319 should be retained, otherwise usable workspace
$0340-$03EF Free
$03F0-$03FF Reserved for music player
$0400-$068F Elite UP and WP workspaces
$0690-$0FFF VIC 20 graphics and sound routines, compressed dashboard image, laser sights
$1000-$1FFF Loading picture -> later used for bitmap
$1000-$10FF Screen matrix (could be moved to $0200-$02ff during game) (a few unused bytes at end)
$1100-$1DFF Bitmap
$1E00-$1E3F Chars for drawing left and right side of viewport box
$1E40-$1ECF Explosion multicolor "sprite" blob
$1ED0-$1FFF ASCII print routine and some text strings to replace the last extended tokens (from IANTOK.bin)
$2000-$7561 Elite code - a large 21K block with Elite code compiled using BeebAsm, calls VIC routines, unused parts flagged out ($031F free)
$7580-$787F --- Possible location for Docking Computers music
$7880-$79FF VIC 20 graphics routines lookup tables
$7A00-$7DFF Elite text tokens (WORDS.bin/QQ18 table)
$7E00-$7EFF Zero page store/swap for using KERNAL routines in load/save
$7F00-$7FFF Save/load file buffer (TAP%, only ~80 bytes really needed, so some free space here, could be moved to $BF80)
$9400-$94FF Bitmap area color RAM
$9500-$97FF 4x8 pixel font as nybbles (ASCII 32-127 - missile indicators replacing some of the last chars)
$A000-$B5FF Ship blueprints (SHIPS.bin/XX21 table, reduced version)
$B600-$B8FF --- Possible alternative location for Docking Computers music, or add Dodo Station & Shuttle blueprints back
$B900-$BFBF Elite K% and LS% workspaces (ships in the local bubble of galaxy and line heap)
$BFC0-$BFFF Free

I've got currently 23 ship blueprints (5.5K) compared to 11-13 in BBC/Electron versions (2.5K). BBC disk version loads one of a few alternative subsets of blueprints (still only 2.5K) when launching off a station, doing this at random/depending on game state. Original C-64 Elite's got 33 (8K). Ship blueprints are ~240 bytes on average, but for example the Dodo Station is ~400 bytes.

There's a bunch more of features included than in BBC Cassette and Acorn Electron versions.

I went quickly through this comparison chart - https://elite.bbcelite.com/compare/feat ... rison.html
- making notes of the current VIC 20 version:

Thargoids: Yes
Dodo space station: No (Maybe!)
Cougar: No
Rock hermits: Yes
Distinct ship designs: 23
Max. ships in local bubble: 8 or 10 (I think it's set to 10 in the source, but the above table says 8 for C-64?)
Max. cops in local bubble: 4
Enhanced AI and spawning (NEWB): Yes
Ships that Anacondas can spawn: Worm, Sidewinder
Colours in the space view/dashboard: 2 / 2
Flashing dashboard indicators: No
Ship colours in the 3D scanner: 2
Dot height in the 3D scanner: 2
Space view height: 144
Space view width: 128 (144)
Dashboard height: 56
Dashboard width: 128
Escape pod colour scheme: No
Mining lasers and asteroid mining: Yes
Military lasers: Yes
Crosshair colour varies: No
Crosshair design varies with laser type: Yes
Proper docking computer: Yes
Sun, fuel scooping, cabin temp.: Yes
Planet meridians and craters: No
Extended text tokens: No
Extended system descriptions: No
Missions: No
Energy bomb kills Thargoids: No
Energy bomb graphical effect: Flash
"Press Fire or Space" ship: Thargoid / "<-" key slideshow
Search for systems by name: No
Buy/sell specific amounts of cargo: Yes
Buy all available cargo with "Y": Yes
Display ship hangar on docking: No
Disc access menu: Simplified load/save (login terminal)
Fraction kill counts: Yes
Kill count varies by ship type: Yes
Sound effects: Enhanced, I'd say! (the BBC lasers use only one square oscillator and sound weak in comparison)
Logarithm-based maths routines: Yes
Hostile ships spawning distance: 25
Witchspace: Yes
Stardust particles: 12
Joystick support: Yes
Total size of all binaries: 37543
Total instruction count: 10000-12000?
User avatar
Rich
Vic 20 Enthusiast
Posts: 176
Joined: Mon Nov 29, 2021 4:15 pm

Re: Let's bring ELITE to the VIC-20

Post by Rich »

Would there be a .crt version so we can make a cartridge so it loads instantly 😁
User avatar
MrSterlingBS
Vic 20 Afficionado
Posts: 304
Joined: Tue Jan 31, 2023 2:56 am

Re: Let's bring ELITE to the VIC-20

Post by MrSterlingBS »

$7580-$787F --- Possible location for Docking Computers music
Yes, please!

$1E40-$1ECF Explosion multicolor "sprite" blob
A very nice special effect!
aeb
Vic 20 Dabbler
Posts: 91
Joined: Sat Jun 19, 2004 2:06 pm

Re: Let's bring ELITE to the VIC-20

Post by aeb »

I don't think there's a big enough standard cartridge format, any non-standard banking would be out of question. Also, there's self-modifying code and small workspaces in middle of the code blocks, so it's not feasible to turn it into a ROM image just like that.

It should be possible to put it on PenUltimate carts later, as they have some kind of internal file loader that can load any files from cartridge memory to anywhere in RAM and then run it. (I don't know exactly how that works, and whether the preloaded package of software on the cart can be updated as a firmware update.)
Rich wrote: Sat Jan 11, 2025 4:17 am Would there be a .crt version so we can make a cartridge so it loads instantly 😁
User avatar
Rich
Vic 20 Enthusiast
Posts: 176
Joined: Mon Nov 29, 2021 4:15 pm

Re: Let's bring ELITE to the VIC-20

Post by Rich »

Thanks for the reply,thats a shame would have been nice to have a cartridge with a nice label on it. :D
groepaz
Vic 20 Scientist
Posts: 1266
Joined: Wed Aug 25, 2010 5:30 pm

Re: Let's bring ELITE to the VIC-20

Post by groepaz »

Time to invent/establish something like Easyflash for Vic20 :)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
folkoh
Vic 20 Amateur
Posts: 53
Joined: Sat Aug 25, 2007 8:22 am

Re: Let's bring ELITE to the VIC-20

Post by folkoh »

Hello,

It is so impressive and forms a dream team of my favorite 80ies hardware and software finally being brought together.

Thank you for the effort!

1 question that wasn‘t mentioned in the comparison list: how many and which special missions are in this version?

Cheers,

Folko
aeb
Vic 20 Dabbler
Posts: 91
Joined: Sat Jun 19, 2004 2:06 pm

Re: Let's bring ELITE to the VIC-20

Post by aeb »

There's no missions, same as BBC Cassette and Acorn Electron
User avatar
Wilson
Vic 20 Devotee
Posts: 252
Joined: Mon Sep 28, 2009 7:19 am
Location: Brooklyn, NY

Re: Let's bring ELITE to the VIC-20

Post by Wilson »

groepaz wrote: Sat Jan 11, 2025 5:06 pm Time to invent/establish something like Easyflash for Vic20 :)
The Final Expansion (3) with custom firmware could autostart a single cartridge.
For games like this that need to support self-modifying code, that is a decent off-the-shelf and semi-standard option. The SD2IEC would be a little overkill for something like this though (especially if it were to be distributed as a standalone cartridge).

Also, the only existing versions of the FE3 have a memory issue that isn't...great. So something like srowe's (in progress) improved version would be preferable.

Incredible work on this btw!! Looks stunning!
User avatar
AndyH
Vic 20 Afficionado
Posts: 442
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: Let's bring ELITE to the VIC-20

Post by AndyH »

I would probably be doable from the pu+3 too.
--
AndyH
HEWCO | Vic 20 blog
User avatar
tokra
Vic 20 Scientist
Posts: 1186
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: Let's bring ELITE to the VIC-20

Post by tokra »

I'm sure Aleksi will post himself here soon, but he made the announcement on Facebook and Youtube about 2 hours ago:

https://vic20elite.wordpress.com/
Post Reply