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?