Let's bring ELITE to the VIC-20

Discussion, Reviews & High-scores

Moderator: Moderators

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 »

Conversions to another assembler's syntax can be left to a modern GPT.
Yeah, why make a little script that will do it correctly, when you can have an AI make some decent word salad for you 8)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
User avatar
pixel
Vic 20 Guru
Posts: 1548
Joined: Fri Feb 28, 2014 3:56 am
Location: Bielefeld, Germany

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

Post by pixel »

groepaz wrote: Fri Nov 08, 2024 1:02 pm
Conversions to another assembler's syntax can be left to a modern GPT.
Yeah, why make a little script that will do it correctly, when you can have an AI make some decent word salad for you 8)
Because software developers' lives will depend on being able to prompt with impact. :mrgreen:
I mean: how is one supposed to handle the crap if big companies already use up to 25% artificial code. :/ Insanity has to surface.

I've booked some famous GPT's paid version and got blown away a couple of times in the past two months by what it can do now. It can count cycles without writing lyrics about unicorns. :D
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
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 »

It'll surely produce a generation of "programmers" who can't debug the code "they have written". Or who wont even understand why the world salad doesn't compile as is :)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
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 »

tokra wrote: Tue Sep 24, 2024 1:07 pm The original sources for C64-Elite have just been released.
And now, someone (Mark Moxon) has taken the time to comment the whole source-code by hand:

https://github.com/markmoxon/elite-sour ... mmodore-64

Also see this thread on Lemon:

https://www.lemon64.com/forum/viewtopic.php?p=1038489
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 »

vicelite1.png
vicelite1.png (1.15 KiB) Viewed 6277 times
vicelite2.png
vicelite2.png (1.16 KiB) Viewed 6277 times
vicelite3.png
vicelite3.png (2.53 KiB) Viewed 6256 times
dataondiso.png
dataondiso.png (1.38 KiB) Viewed 6274 times
32K free
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 »

Great pictures, thanks for sharing.
Would you like to share the source code too?

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 »

Here:
vic.zip
(8.71 KiB) Downloaded 176 times
Loads to low ram at $0400-$0fff

sys1064 - line draw test
sys1067 - text screen test
sys1070 - plot test
User avatar
Mike
Herr VC
Posts: 5134
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

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

Post by Mike »

aeb wrote:Here: vic.zip [...]

Code: Select all

;	Draw EOR line from x,y to x2,y2 (x,y in registers, set x2,y2 on zeropage)
;	Adapted from Hein's linedraw routine on Codebase64
(from "vic.s")
You maybe should check out the thread "Line drawing algorithm" started by MrSterlingBS. In that thread, I reduced the framework of Bitbreaker's resp. Hein's linedraw routine to use only one main core loop, with an insignificant change in the init part.

You should also be aware, that the current state of the art at drawing lines on the VIC-20 is about a sustained 30000 pixels/second, 50% faster than Hein's routine, with a routine still less than 1 KB in size (including all accompanying tables!). I happen to use that faster line routine in my CubeIco24 demonstrator, but it also has seen earlier uses.

That being said, doing some props of screenshots in ELITE is a nice exercise, but nothing people should be too excited about. Tokra already did so in 2010 (see here). ;)
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 simply converted a screenshot. I really hope Aleksi has bigger things in mind for Elite. Especially with the commented C64-source-code now available this project hopefully becomes much more doable than before.
User avatar
Mike
Herr VC
Posts: 5134
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

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

Post by Mike »

tokra wrote:I really hope Aleksi has bigger things in mind for Elite.
Fair enough, but people should be aware that even with the source code available, this still involves a lot of work nowhere near an afternoon/weekend time project.
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 »

Mike wrote: Thu Dec 19, 2024 7:00 am You maybe should check out the thread "Line drawing algorithm" started by MrSterlingBS. In that thread, I reduced the framework of Bitbreaker's resp. Hein's linedraw routine to use only one main core loop, with an insignificant change in the init part.
I did read some of that, excellent thread and some neat optimizations there! Great work.
User avatar
Mike
Herr VC
Posts: 5134
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

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

Post by Mike »

So, here's then my proposal for the screen/memory layout of a graphics mode in a VIC-20 ELITE port, which is only a little bit smaller than the effective 128x200 resolution in above props. It rather has 112x160 pixels, but the memory layout allows for page flipping in the upper cockpit view, with a single bitmap for the bottom scanner/instruments part:
  • $1000 .. $108B: "Text" screen 1 (top: $3C..$9D, bottom: $09..$1F, $29..$3B)
  • $1090 .. $11FF: Scanner bitmap 1st part (23 Characters, $09..$1F)
  • $1200 .. $128B: "Text" screen 2 (top: $9E..$FF, bottom: $09..$1F, $29..$3B)
  • $1290 .. $13BF: Scanner bitmap 2nd part (19 Characters, $29..$3B)
  • $13C0 .. $19DF: Cockpit 1st bitmap page (Chars $3C..$9D)
  • $19E0 .. $1FFF: Cockpit 2nd bitmap page (Chars $9E..$FF)
... which incidentally makes full use of the VIC-accessible RAM in $1000..$1FFF. :mrgreen:

Both cockpit bitmap pages form a continuous address space; as always, the addressing characters in the text screens should be arranged in a column-wise fashion. The scanner/instruments bitmap is discontinuous, but that's no big loss here.

A redesign of the view should probably dispense with the rectangle frame around cockpit and instrument view. IMO, the screen border is entirely sufficient for that (and could also indicate the alarm status: green/yellow/red during flight, blue while docked). It should be entirely possible to adapt the scanner/instrument view for the new size of 112x48 pixels (Edit: done, see below!).

The cockpit view then has a "square" 112x112 pixels, but the geometry engine should of course take the non-square pixel aspect ratio into account, which results in a 5:3 cockpit format for PAL and a 3:2 cockpit format for NTSC, both of which are a good match for the cockpit view rectangle dimensions in the original.

With 4x8 pixel characters, the resulting text screen (for the planetary descriptions, etc.) then only has 28x20 characters, which horizontally is just a little bit short compared to the 32 columns in the original. It should be workable still, with careful shortening of some texts (overlength text descriptions even appear in the original, ELITE then pages the text!).
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 would hope that page flipping is not necessary with the improved line-drawing-routines and as such Elite can keep it's look and feel from the C64 / BBC-versions especially in the scanner/instrument view. If the line-removal-method from the BBC-master-version is also applied, which instead of first removing *all* lines and then redrawing all lines again, it just does this on a line-by-line basis, flicker show be minimal.

So my vote goes for the resolution as shown in the screenshots above by Aleksi.
User avatar
Mike
Herr VC
Posts: 5134
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

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

Post by Mike »

The lower resolution in the upper cockpit view will anyhow be a tell-tale sign that this port does not run on a C64 or BBC.

With page flipping, there's a fixed cost of clearing the 'hidden' bitmap of about 8000 cycles (using STA ABS,X in an unrolled loop). Drawing a single line of, say, 60 pixels length (an assumption not too unreasonable for the title screen!) with my fast line routine takes about 2000 cycles. When there are more than 4 such lines on screen, clearing the bitmap is faster than undrawing the lines.

Here's how the title screen (sans Cobra Mk III) possibly could look like. The picture is aspected in NTSC format; as one could expect, the display in PAL will be a bit stretched horizontally:

Image
(download, MG format, use at least +8K RAM and load with "...",8)

So then ... anything's amiss? :wink:
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 »

Would love to see Elite on the Vic. Did you read about the modern optimisations to Elite removing the noticeable flicker about a year or two ago? In the original lines are erased and redrawn. The new routine erased one line as it drew it in its new position.
--
AndyH
HEWCO | Vic 20 blog
Post Reply