VIC 20 Elite Preview (30 Dec 2024)

Поделиться
HTML-код
  • Опубликовано: 7 фев 2025
  • 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

  • @MrSlipstreem
    @MrSlipstreem Месяц назад +3

    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!

  • @BikeNutt1970
    @BikeNutt1970 Месяц назад +20

    This is insanely good. Frame rate is super impressive.

  • @spikemill
    @spikemill Месяц назад +14

    Remarkable! You've achieved something astounding here.

  • @vegaspool188
    @vegaspool188 Месяц назад +9

    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  Месяц назад +1

      *looking around*, still here in the bedroom, coding the nights away :D

  • @SomeOrangeCat
    @SomeOrangeCat Месяц назад +3

    The Vic-20 is the little computer that could. It absolutely deserved Shatner's endorsement.

    • @AleksiEeben
      @AleksiEeben  Месяц назад +5

      Ah! Got to name one of the save states on the release disk as Shatner ;) Fits the 7 character limit of commander names!

  • @adamskyj69
    @adamskyj69 Месяц назад +4

    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 Месяц назад +4

    To think REALLY Elite run on vic-20 is just INCREDIBILE.

  • @tgphighscoreruns4111
    @tgphighscoreruns4111 Месяц назад +7

    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 Месяц назад +1

      Getting pretty sick of bad apple... it's the never gonna give you up of retro....

    • @tgphighscoreruns4111
      @tgphighscoreruns4111 Месяц назад +1

      @@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 12 дней назад +1

      @@tgphighscoreruns4111 Doom is next.

  • @michelesusel132
    @michelesusel132 Месяц назад +2

    Just incredible.

  • @CMauro1970
    @CMauro1970 Месяц назад +2

    That's amazing! Great job!

  • @ThomasTalbotMD
    @ThomasTalbotMD Месяц назад +3

    Impressive accomplishment on a VIC-20! You really had fast line, circle & solid circle routines going there.

    • @Mr.1.i
      @Mr.1.i Месяц назад +2

      the vic 20 was like a turbo charged atari 2600....its only let down is memory

  • @PeranMe
    @PeranMe Месяц назад +28

    Will someone just tell Aleksi about the limits of the VIC-20? This is getting silly! ❤

    • @virtuafighter3
      @virtuafighter3 Месяц назад +1

      This tells me the limits to some micros were exaggerated in the 80s maybe?

    • @PeranMe
      @PeranMe Месяц назад +13

      @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 Месяц назад +2

      @@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 Месяц назад +1

      @@virtuafighter3you would have to be an engineer to understand what we can find on the internet now without effort

  • @lowlevelretro
    @lowlevelretro Месяц назад +1

    Incredible! Right on!

  • @VIC-20
    @VIC-20 Месяц назад +4

    Amazing! The vic20 doesn’t have a proper bit map mode so this is super impressive

  • @Spongman
    @Spongman Месяц назад +6

    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 Месяц назад +3

      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 Месяц назад +3

      @@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. :)

  • @AndyHewco
    @AndyHewco Месяц назад +6

    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 :)

  • @EskeAndersen
    @EskeAndersen Месяц назад +1

    This is amazing! Also, 11 Notes On Sand was the mod that made me want to become a tracker musician a lifetime ago :)

  • @themaraudershideout3010
    @themaraudershideout3010 Месяц назад +1

    This is excellent! A great effort...

  • @Stakkeroid
    @Stakkeroid Месяц назад +2

    Dang, that's amazing!

  • @LukeZeus
    @LukeZeus Месяц назад +3

    This is just insane! I mean, it is even faster that the C64 port!! 😳😱

  • @chrisstott3508
    @chrisstott3508 17 дней назад

    Winning the 80s internet, since 2025!

  • @ezedjay
    @ezedjay Месяц назад +1

    That's insane.

  • @waynewomersley6257
    @waynewomersley6257 Месяц назад +2

    ASTOUNDING and OUTSTANDING... That is all !

  • @grossteilfahrer
    @grossteilfahrer 25 дней назад

    Ohmygoshwow!

  • @MC001ful
    @MC001ful Месяц назад +1

    Fantastic achievement ❤❤❤

  • @yorkan213swd6
    @yorkan213swd6 Месяц назад +2

    Great ! And now MITS Altair 680.

  • @ThermopylaeCapital
    @ThermopylaeCapital Месяц назад +1

    Very cool!

  • @Mr.1.i
    @Mr.1.i Месяц назад +2

    there it is

  • @NYYR1KK1
    @NYYR1KK1 Месяц назад +1

    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.

  • @hawthornrabbit
    @hawthornrabbit Месяц назад +2

    This is insane!

  • @DavidFilskov
    @DavidFilskov Месяц назад +6

    😮 I didn't think that was possible.

    • @adamskyj69
      @adamskyj69 Месяц назад +2

      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.

  • @IapetusRetroStuff
    @IapetusRetroStuff Месяц назад +1

    wow amazing job

  • @uk-3000
    @uk-3000 Месяц назад +1

    Amazing

  • @Mysdee-B
    @Mysdee-B Месяц назад +1

    madness

  • @spockfan2000
    @spockfan2000 Месяц назад +1

    Woooow!

  • @meenboli
    @meenboli Месяц назад +1

    Amazing! - just think how fast pc's would be now if they were programmed as efficiently as this...

  • @Hairyfoot_Studio
    @Hairyfoot_Studio Месяц назад +2

    impressive, moves better than the c64 version

  • @xlar54
    @xlar54 Месяц назад +1

    unreal

  • @ncurtis1970
    @ncurtis1970 Месяц назад +2

    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

  • @RobertWScott523
    @RobertWScott523 Месяц назад +1

    flabbergasted!

  • @fabulousfab282
    @fabulousfab282 Месяц назад +1

    Je me demande pourquoi on recherche la vie extraterrestre ailleurs dans l'univers!
    Bravo.

  • @javelinXH992
    @javelinXH992 Месяц назад +1

    Sharopolis! It is time for you to make a new video on pushing the limits of the VIC!

  • @teppokoskinen
    @teppokoskinen Месяц назад +1

    I can hardly believe my eyes.

  • @lavinagotu5934
    @lavinagotu5934 Месяц назад +1

    Nice!

  • @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.

  • @hvalkonen6425
    @hvalkonen6425 Месяц назад

    Tätä on odotettu 😍

  • @colbertbd
    @colbertbd Месяц назад +1

    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 Месяц назад +2

    Yes mind blowing. Is it me or does it run faster the c64 elite? Amazing.

    • @IsaacKuo
      @IsaacKuo Месяц назад +7

      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.)

  • @rustyhancock1377
    @rustyhancock1377 Месяц назад +1

    That is definitely more than the simple PEEK, POKE and GOSUB routines we learned in the early 80s. How can the VIC do this?

  • @jakubkrcma
    @jakubkrcma Месяц назад +1

    ❤👍

  • @Heaven6502
    @Heaven6502 Месяц назад +1

  • @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.

  • @surfinbirdzx
    @surfinbirdzx Месяц назад +1

    Liked subscribed writing seven word comment now:)

  • @captainoffuture4488
    @captainoffuture4488 Месяц назад

    Good Job 😶 I think a big RAM extension is needed.

  • @grossteilfahrer
    @grossteilfahrer 25 дней назад

    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  24 дня назад +1

      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

  • @grossteilfahrer
    @grossteilfahrer 25 дней назад

    I feel it's quicker than the apple II Version.

  • @sirlube1551
    @sirlube1551 Месяц назад +1

    Next stop: VIC-Doom?

    • @Peter.Jensen
      @Peter.Jensen Месяц назад

      ruclips.net/video/KWIzWntEYcE/видео.htmlsi=zSz7MVJm3CRfFj8B

  • @alwaysnumb1
    @alwaysnumb1 Месяц назад

    tfirst thing I thought, theres no way you can fit that on 32k, but wow it looks amazing

  • @MrMaxeemum
    @MrMaxeemum Месяц назад +1

    Easy.
    Line 1 REM MAKE ELITE FOR VIC 20
    Line 2 ERMMMM....

  • @az09letters92
    @az09letters92 Месяц назад +2

    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

  • @Kand1nSky
    @Kand1nSky Месяц назад

    Still waiting for Elite for VCS2600 and Atari 8-Bit (yes, i know the previews)

  • @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

  • @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

  • @ClausB252
    @ClausB252 Месяц назад

    Looks like 1979 Star Raiders.

  • @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

  • @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

  • @karlwalker1771
    @karlwalker1771 Месяц назад +1

    looks brillant and faster than the zx

  • @andrewweller5119
    @andrewweller5119 Месяц назад +1

    How?!
    Witchcraft?!

  • @DiskWizard001
    @DiskWizard001 Месяц назад

    WTF ? Targonians on the first flight ? Weird

  • @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

  • @KingMob4313
    @KingMob4313 Месяц назад +1

    WAAT

  • @mikeh_nz
    @mikeh_nz Месяц назад +2

    How much memory is this using?

    • @mikeh_nz
      @mikeh_nz Месяц назад +1

      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
      ruclips.net/video/J10vYqqE6oI/видео.htmlsi=p2eXbEmV7JEK43WI

    • @benbaselet2026
      @benbaselet2026 Месяц назад +1

      Read the video description and find out!

  • @hooosalo
    @hooosalo Месяц назад

    Kunnollista

  • @Brasidas69
    @Brasidas69 Месяц назад

    This is not supposed to be possible.