VIC 20 Elite Preview (30 Dec 2024)

  Рет қаралды 7,294

Aleksi Eeben

Aleksi Eeben

Күн бұрын

Released on 20 January 2025: • VIC 20 Elite (20 Jan 2...
Download: vic20elite.wor...
Right on, Commander! Over the past two weeks, I’ve been working on a Commodore VIC 20 port of Elite-the legendary open-world space trading, exploration, survival, combat, and you-name-it game. It’s already quite playable and looking mighty fine!
The dashboard dials aren’t implemented yet, so finding the planet and Coriolis station took some effort. But I managed to dock once and even traded some wares for profit 😎
This port relies heavily on Mark Moxon’s digital archaeology project about Elite on various 8-bit platforms. You can check out his work at elite.bbcelite...
The VIC 20 version is based on the Commodore 64 source code. I’m just coding all the VIC 20 specific graphics, controls, and sound routines on top of it.
Of course, the complete enhanced Elite won’t fit within the VIC 20’s limited memory, so some features had to be left out. Following the original 1984-1985 BBC Cassette and Acorn Electron versions, I’ve currently omitted extended planet descriptions, planetary details (craters and meridians, which are also disabled by default on the C-64), and the missions. I’ve also reduced the number of ship blueprints from 33 to 23 by reusing blueprints for similar looking ships while preserving their original behavioral traits.
(For reference, the BBC Cassette and Electron versions only had 12-13 ships, so the VIC 20 version is actually bigger and better! I even managed to keep the suns, though they do slow things down quite a bit.)
A full 32K + 3K RAM expansion is required to run VIC 20 Elite. At this stage, there’s approximately 1K of free memory left-enough to finish the dashboard, which is my next focus.
Elite for the Commodore 64 was written by Ian Bell and David Braben and is copyright D. Braben and I. Bell, 1985. Mark Moxon’s thoroughly documented and analyzed source code is based on the source disks released on Ian Bell’s personal website: www.elitehomepa...
Visit my Eight Bit Shed at eightbi... and bit.ly/eightbi... (Dropbox) for a load of other 8-bit projects. If you like my work and want to help keeping my code machine (brain) running, do feel free to send me a decaf at ko-fi.com/aleks... ☕️

Пікірлер: 113
@BikeNutt1970
@BikeNutt1970 Ай бұрын
This is insanely good. Frame rate is super impressive.
@MrSlipstreem
@MrSlipstreem Ай бұрын
Very nicely done! I used to play this for hours at a time on a BBC Model B. For the youngsters watching, this may not look much by today's standards, but it was an absolutely groundbreaking game at the time!
@spikemill
@spikemill Ай бұрын
Remarkable! You've achieved something astounding here.
@vegaspool188
@vegaspool188 Ай бұрын
Completely mind blowing! Amazing job. If only we could have had it back in the mid 80's.. Not many boys would have left their bedrooms until the noughties!
@AleksiEeben
@AleksiEeben Ай бұрын
*looking around*, still here in the bedroom, coding the nights away :D
@SomeOrangeCat
@SomeOrangeCat Ай бұрын
The Vic-20 is the little computer that could. It absolutely deserved Shatner's endorsement.
@AleksiEeben
@AleksiEeben Ай бұрын
Ah! Got to name one of the save states on the release disk as Shatner ;) Fits the 7 character limit of commander names!
@tgphighscoreruns4111
@tgphighscoreruns4111 Ай бұрын
Wow, that's impressive! Getting Elite on a system has become like a right of passage - like having a 'Bad Apple' demo. It will be nice to see the VIC join the club!
@lowlevelretro
@lowlevelretro Ай бұрын
Getting pretty sick of bad apple... it's the never gonna give you up of retro....
@tgphighscoreruns4111
@tgphighscoreruns4111 Ай бұрын
@@lowlevelretro Yeah, I know, but any system without it is being left out. When they all have it, I guess we can put it to bed ;-)
@ianedmonds9191
@ianedmonds9191 14 күн бұрын
@@tgphighscoreruns4111 Doom is next.
@PeranMe
@PeranMe Ай бұрын
Will someone just tell Aleksi about the limits of the VIC-20? This is getting silly! ❤
@virtuafighter3
@virtuafighter3 Ай бұрын
This tells me the limits to some micros were exaggerated in the 80s maybe?
@PeranMe
@PeranMe Ай бұрын
@virtuafighter3 In my opinion (and experience as a fan of programming 80s computers), it's 20% that we have so much more advanced tools these days, and 70% that we're constantly pushing each other to do things with the express purpose of making the other men with gray beards go "waitwhat?".
@JonathansImprovements
@JonathansImprovements Ай бұрын
@@virtuafighter3not necessarily, just the full specs were never known about
@JonathansImprovements
@JonathansImprovements Ай бұрын
@@PeranMewe have much more advanced tools, that’s true. A lot of this would take a long time and be near impossible to code without the technology we have now
@JonathansImprovements
@JonathansImprovements Ай бұрын
@@virtuafighter3you would have to be an engineer to understand what we can find on the internet now without effort
@adamskyj69
@adamskyj69 Ай бұрын
Wow, honestly that is truly amazing to have this running so quick - undoubtedly a nice ram pack to acheive, but none the less! UK here, Vic 20 was my first computer when all my mates had zx81s lol.
@aldoskyz8
@aldoskyz8 Ай бұрын
To think REALLY Elite run on vic-20 is just INCREDIBILE.
@ThomasTalbotMD
@ThomasTalbotMD Ай бұрын
Impressive accomplishment on a VIC-20! You really had fast line, circle & solid circle routines going there.
@Mr.1.i
@Mr.1.i Ай бұрын
the vic 20 was like a turbo charged atari 2600....its only let down is memory
@Spongman
@Spongman Ай бұрын
ok, fast line-drawing on the BBC was impressive enough with its memory laid out as character cells, but with no bitmapped graphics at all, that's just insane...
@64jcl
@64jcl Ай бұрын
The Vic20 has a sort of bitmapped graphics where you use just a standard character set. The machine has very low horizontal resolution (standard 176x186 px or 22x23 chars) although that can be adjusted. By using two character sets and swap char set pointer mid screen you can create a sort of bitmap graphics layout.
@victokra
@victokra Ай бұрын
The VIC-20 can easily set up bitmap-modes by using re-defined characters across the screen. Once you set those up, effectively the screen behaves like a full bitmap-mode. You can do this in BASIC in about 4 lines of code. For example: just copy the text below into the VICE-Emulator (right-mouse button): poke44,31:poke43,241:poke8176,0:new 0v=36864:a=4096:c=37888:g=4336:s=1:fOt=.to7:b(7-t)=s:s=s+s:nE:pOv,pE(v)+2:pOv+2,20 1pOv+1,pE(v+1)-2:pOv+3,25:pOv+5,204:i=15:fOx=.to19:fOy=.to11:pOa+y*20+x,i:i=i+1 2pOc+y*20+x,.:nE:nE:fOi=gto8175:pOi,.:nE:fOx=.to159:y=50*sI(x/30)+100:d=g+24*(xaN248)+y 3pOd,pE(d)orb(xaN7):nE:pO198,.:wA198,1:sY58648 run
@JMDAmigaMusic
@JMDAmigaMusic Ай бұрын
​@@64jclnot too different from how is it done on the NES
@eightbitguru
@eightbitguru Ай бұрын
@@64jclActually, you don’t even need to do that. If you carefully select the VIC screen and character-generator start addresses and put it into double-height character mode, you can configure the screen as a 30,720-pixel (240 character) grid in a variety of character row/column combinations (e.g. 12 rows of 20 characters, or 160x192 pixels). No mid-screen characterset swap or raster split necessary.
@64jcl
@64jcl Ай бұрын
@@eightbitguru , ok, thanks for that info - been a while since I coded for the Vic20. :)
@CMauro1970
@CMauro1970 Ай бұрын
That's amazing! Great job!
@michelesusel132
@michelesusel132 Ай бұрын
Just incredible.
@VIC-20
@VIC-20 Ай бұрын
Amazing! The vic20 doesn’t have a proper bit map mode so this is super impressive
@AndyHewco
@AndyHewco Ай бұрын
Looks superb so far.
@AleksiEeben
@AleksiEeben Ай бұрын
Thanks! Want to go on a test flight? I guess you've got an 35K expanded VIC there?
@AndyHewco
@AndyHewco Ай бұрын
One or two hehe. Would love to, you may ruin my productivity though as I won't stop playing once I have it :)
@lowlevelretro
@lowlevelretro Ай бұрын
Incredible! Right on!
@EskeAndersen
@EskeAndersen Ай бұрын
This is amazing! Also, 11 Notes On Sand was the mod that made me want to become a tracker musician a lifetime ago :)
@LukeZeus
@LukeZeus Ай бұрын
This is just insane! I mean, it is even faster that the C64 port!! 😳😱
@waynewomersley6257
@waynewomersley6257 Ай бұрын
ASTOUNDING and OUTSTANDING... That is all !
@Stakkeroid
@Stakkeroid Ай бұрын
Dang, that's amazing!
@DavidFilskov
@DavidFilskov Ай бұрын
😮 I didn't think that was possible.
@adamskyj69
@adamskyj69 Ай бұрын
Yeah, I knew they could probably have it running with a nice ram expansion pack, but fps for the speed of the processor and vic chip, impressive.
@DavidFilskov
@DavidFilskov Ай бұрын
I thought its CPU ran slower than C64 but it actually runs at approx. the same speed. Also some cycles on the C64 are reserved for other chips - which is not the same on the VIC-20 as far as I understand.
@themaraudershideout3010
@themaraudershideout3010 Ай бұрын
This is excellent! A great effort...
@yorkan213swd6
@yorkan213swd6 Ай бұрын
Great ! And now MITS Altair 680.
@chrisstott3508
@chrisstott3508 19 күн бұрын
Winning the 80s internet, since 2025!
@Mr.1.i
@Mr.1.i Ай бұрын
there it is
@NYYR1KK1
@NYYR1KK1 Ай бұрын
Epic! Yet again just epic! I had my fair change to talk with you on last Zoo, but somehow thigs just ended up so, that we exchanged just few words.... How ever you just don't fail to impress me, what ever you do.
@ezedjay
@ezedjay Ай бұрын
That's insane.
@grossteilfahrer
@grossteilfahrer 28 күн бұрын
Ohmygoshwow!
@hawthornrabbit
@hawthornrabbit Ай бұрын
This is insane!
@ThermopylaeCapital
@ThermopylaeCapital Ай бұрын
Very cool!
@MC001ful
@MC001ful Ай бұрын
Fantastic achievement ❤❤❤
@Hairyfoot_Studio
@Hairyfoot_Studio Ай бұрын
impressive, moves better than the c64 version
@spockfan2000
@spockfan2000 Ай бұрын
Woooow!
@uk-3000
@uk-3000 Ай бұрын
Amazing
@Mysdee-B
@Mysdee-B Ай бұрын
madness
@javelinXH992
@javelinXH992 Ай бұрын
Sharopolis! It is time for you to make a new video on pushing the limits of the VIC!
@teppokoskinen
@teppokoskinen Ай бұрын
I can hardly believe my eyes.
@meenboli
@meenboli Ай бұрын
Amazing! - just think how fast pc's would be now if they were programmed as efficiently as this...
@fabulousfab282
@fabulousfab282 Ай бұрын
Je me demande pourquoi on recherche la vie extraterrestre ailleurs dans l'univers! Bravo.
@RobertWScott523
@RobertWScott523 Ай бұрын
flabbergasted!
@IapetusRetroStuff
@IapetusRetroStuff Ай бұрын
wow amazing job
@xlar54
@xlar54 Ай бұрын
unreal
@RaquelFoster
@RaquelFoster Ай бұрын
I used to just think Elite was the best C64 game ever. But in recent times the only time I see it mentioned is by some nerd who can't shut up about how incredible it was that they fit it in the 32 KB of the BBC Micro / Acorn. This is the best flex ever.
@lavinagotu5934
@lavinagotu5934 Ай бұрын
Nice!
@ncurtis1970
@ncurtis1970 Ай бұрын
You Sir are a legend. Bloody amazing, seems you have the golden touch. Did you use cmon and ass for this as they are my go-to programs these days
@AleksiEeben
@AleksiEeben Ай бұрын
Mark Moxon's commented source is in 'BBC-style' BeebAsm, so I'm using that to compile everything from the C-64 version. And then DASM for all the VIC 20 specific code in low RAM block and building the final binaries
@rustyhancock1377
@rustyhancock1377 Ай бұрын
That is definitely more than the simple PEEK, POKE and GOSUB routines we learned in the early 80s. How can the VIC do this?
@az09letters92
@az09letters92 Ай бұрын
Could the scanner be in glorious 80x200 color? Or something else to indicate ship masses?
@AleksiEeben
@AleksiEeben Ай бұрын
Multicolor would be too blocky and inaccurate (I'm using multicolor to replace the expanded sprite explosions from C-64, but not yet in this clip). Good options to show mass in radar could be cutting one pixel of the head pin or shading the stick that shows altitude difference. Maybe I'll try that, but it might go too far from the original
@saganandroid4175
@saganandroid4175 Ай бұрын
Sometime circa 2020 there was a little optimization that was finally brought to the older C64 version. Made for more efficient screen draws, less flicker. It had been in the other 6502 versions that came out after the C64 version was released. I hope you got access to that update.
@AleksiEeben
@AleksiEeben Ай бұрын
Yes, M. Moxon has done a detailed description of the flicker-free mod: elite.bbcelite.com/deep_dives/backporting_the_flicker-free_algorithm.html
@saganandroid4175
@saganandroid4175 Ай бұрын
@@AleksiEeben Given how different the various graphics map to RAM addresses, you have to wonder how the upgrades vary across each 6502 platform.
@colbertbd
@colbertbd Ай бұрын
That is fantastic. There is an Atari one in the works that appears stalled, which makes me sad.
@AleksiEeben
@AleksiEeben Ай бұрын
I saw some clips of that while exploring other versions, it was looking great and I hope they'll finish it! Moxon's source commentary is excellent, but it's easy to get lost in the 50000+ lines of the main source, especially when things start going wrong in the conversion... The code looks and feels OLD in peculiar ways, like having very short labels from the BBC original
@joshhiner729
@joshhiner729 Ай бұрын
Yes mind blowing. Is it me or does it run faster the c64 elite? Amazing.
@IsaacKuo
@IsaacKuo Ай бұрын
Yes, it runs faster than the C64. The C64's CPU normally runs a bit slower than the VIC-20 because the VIC-II video chip steals some cycles from it, and also the VIC-20's lower resolution means that it has to render and erase fewer pixels per frame.
@AleksiEeben
@AleksiEeben Ай бұрын
​@@IsaacKuo On top of that a PAL VIC 20 clocks the 6502 at whopping 1.108 MHz, 12% faster than PAL C-64. (On NTSC there's no difference between the machines.)
@grossteilfahrer
@grossteilfahrer 28 күн бұрын
Holy heck, I just realized.. Is elite vector based internally, and you use a line draw routine to plot the screen? Are you using a lower endpoint resolution than the bitmap?
@AleksiEeben
@AleksiEeben 26 күн бұрын
Yes, it's all vectors and line drawing. Maths are straight from the C-64 version (256x144 space view), and x-coordinates are just halved for VIC resolution and flatter pixel ratio (128x144 space view). Similarly, a 4x8 pixel font replaces the original 8x8 one, so text layout stays the same. Dashboard is 128x56 multicolor pixels on C-64, and it's copied to VIC 20 pixel-by-pixel, but in black&white
@Heaven6502
@Heaven6502 Ай бұрын
@captainoffuture4488
@captainoffuture4488 Ай бұрын
Good Job 😶 I think a big RAM extension is needed.
@hvalkonen6425
@hvalkonen6425 Ай бұрын
Tätä on odotettu 😍
@sirlube1551
@sirlube1551 Ай бұрын
Next stop: VIC-Doom?
@Peter.Jensen
@Peter.Jensen Ай бұрын
kzbin.info/www/bejne/gYisq4qkqaqMmacsi=zSz7MVJm3CRfFj8B
@jakubkrcma
@jakubkrcma Ай бұрын
❤👍
@alwaysnumb1
@alwaysnumb1 Ай бұрын
tfirst thing I thought, theres no way you can fit that on 32k, but wow it looks amazing
@surfinbirdzx
@surfinbirdzx Ай бұрын
Liked subscribed writing seven word comment now:)
@grossteilfahrer
@grossteilfahrer 28 күн бұрын
I feel it's quicker than the apple II Version.
@karlwalker1771
@karlwalker1771 Ай бұрын
looks brillant and faster than the zx
@mikecronis
@mikecronis Ай бұрын
Are you using the 19k expansion module? This is amazing.
@AleksiEeben
@AleksiEeben Ай бұрын
This version requires the full 32K+3K expansion, RAM in all possible blocks
@ClausB252
@ClausB252 Ай бұрын
Looks like 1979 Star Raiders.
@Kand1nSky
@Kand1nSky Ай бұрын
Still waiting for Elite for VCS2600 and Atari 8-Bit (yes, i know the previews)
@vic20kid8
@vic20kid8 Ай бұрын
can't you do disk version so you can have all the features of the game, your port is amazing but I don't understand your decision for cassette version instead of disk version, with original disk version of game mainly with BBC 32K ships and missions were loaded when required just saying
@AleksiEeben
@AleksiEeben Ай бұрын
Everything is possible, but the C-64 source lacks support for swapping code from disk-implementing that would require a huge effort for relatively little gain. Besides, I don't expect many people today to play the VIC-20 port long enough to even trigger the first mission... Of course, after finishing this version I should have much better understanding of the codebase and what exactly is needed where and when, and what could be swapped from disk. A disk turbo would be also needed, since the 1541 drive is very slow. You don't want to wait 30 seconds after every docking or launch! But you're right, all that is certainly possible, but would add some thousand pieces to the puzzle
@LeonTrimble
@LeonTrimble Ай бұрын
Faaark! Can we go back to 1984 and release this? I was so pissed off that I got a vic20 back then cos all I wanted to do was play elite. I didn’t get a zx spectrum for another 4 years! Hahaha
@throwaway6478
@throwaway6478 Ай бұрын
With its lower-resolution screen, and not having a VIC-II stealing badlines, there's no good reason why this shouldn't end up running a _bit faster_ than the C64 version. In fact, I'd wager the only problem is memory: the Beeb original required 22KB RAM, so I doubt you'll be running this on an unexpanded 5KB VIC-20. 😆
@AleksiEeben
@AleksiEeben Ай бұрын
The main binary is now about 30K. That includes the loading picture (4K) which later becomes the bitmap buffer, and VIC 20 specific graphics & interface code (2.5K). The rest is all the Elite code compiled into one block of 23.5K. I also load the ship blueprints (8K reduced to 5.5K) to the highest RAM block ($a000-$bfff), rest of which is used for runtime workspaces. The 4x8 font is stored in unused color RAM at $9500-$97ff (where only the low 4 bits of each address are connected) Finally, after blanking the loading picture I load the explosion sprite and a page of literal strings (for title screen text and load/save menu) to the freed half a KB not used by the smaller game screen bitmap. There's currently about 1-1.5K free for music and perhaps adding back the Dodo station or one more ship
@JonathansImprovements
@JonathansImprovements Ай бұрын
Do you have a download for this? I have a VIC-20
@AleksiEeben
@AleksiEeben Ай бұрын
Very soon! A few more quirks there to iron out first
@MrMaxeemum
@MrMaxeemum Ай бұрын
Easy. Line 1 REM MAKE ELITE FOR VIC 20 Line 2 ERMMMM....
@andrewweller5119
@andrewweller5119 Ай бұрын
How?! Witchcraft?!
@DiskWizard001
@DiskWizard001 Ай бұрын
WTF ? Targonians on the first flight ? Weird
@AleksiEeben
@AleksiEeben Ай бұрын
Just my luck!
@KingMob4313
@KingMob4313 Ай бұрын
WAAT
@mikeh_nz
@mikeh_nz Ай бұрын
How much memory is this using?
@mikeh_nz
@mikeh_nz Ай бұрын
Found this title “Elite for VIC-20 +35K (preview)” FYI - this talk on elite is very good and talks about memory usage at 15m 45s kzbin.info/www/bejne/gGKTp4ynpqpppassi=p2eXbEmV7JEK43WI
@benbaselet2026
@benbaselet2026 Ай бұрын
Read the video description and find out!
@hooosalo
@hooosalo Ай бұрын
Kunnollista
@Brasidas69
@Brasidas69 Ай бұрын
This is not supposed to be possible.
VIC 20 Elite Preview (9 Jan 2025)
48:19
Aleksi Eeben
Рет қаралды 2,4 М.
The Greatest Video Game Tech Demo Ever
14:05
Modern Vintage Gamer
Рет қаралды 314 М.
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
What Happened to the World's Largest Tube TV?
35:46
Shank Mods
Рет қаралды 2,8 МЛН
Acorn Archimedes A3010: Was It Better Than The Amiga?
21:57
Dan Wood
Рет қаралды 289 М.
VIC-20 Overload - Penultimate Cartridge, Pentagorat, & Planet X1
22:28
C64 Vs. NES
23:28
Sharopolis
Рет қаралды 66 М.
Surface-Stable Fractal Dithering Explained
21:46
runevision
Рет қаралды 297 М.
The BEOCORD problem
1:18:51
Mend It Mark
Рет қаралды 471 М.
Games That Are Better on a Weaker Console
32:04
Game Sack
Рет қаралды 228 М.
Why British Telecom Sold Games in the '80s - With Richard Hewison
58:37
The Retro Collective
Рет қаралды 30 М.
VIC 20 Elite (20 Jan 2025)
14:39
Aleksi Eeben
Рет қаралды 3,9 М.
VIC-20 Super Expander and EPROM programmer
11:39
The 8-Bit Guy
Рет қаралды 511 М.