MegaVIC (split from: Introduce Yourself: What's your User Name based on?)

You need an actual VIC.

Moderator: Moderators

Post Reply
User avatar
Orangeman96
Vic 20 Amateur
Posts: 45
Joined: Tue Jan 16, 2024 3:42 pm
Location: U.S.A.

MegaVIC (split from: Introduce Yourself: What's your User Name based on?)

Post by Orangeman96 »

(mod: thread continued from Merytsetesh's introductory post in the Announcement section)

Great intro and story! Our stories parallels in many respects (as I am sure it parallels that of other Denial family members too).

I'd love to see some MegaVIC links (perhaps as a new Subject under Hardware and Tech).

OGM
Merytsetesh
Vic 20 Amateur
Posts: 40
Joined: Sat Mar 02, 2024 8:57 pm
Location: Canada

Re: MegaVIC

Post by Merytsetesh »

Orangeman96 wrote: Fri Mar 08, 2024 7:35 pm Great intro and story! Our stories parallels in many respects (as I am sure it parallels that of other Denial family members too).

I'd love to see some MegaVIC links (perhaps as a new Subject under Hardware and Tech).

OGM
Thank you: that's very kind of you to say! :-) I have a DropBox link to an old build of the MegaVIC. I started jotting down a user manual, even, once upon a time... remember the old 'Friendly Computer' guide?... :-) I'll start a thread. :-) ... though I suspect it should strictly go in the 'Emulation' area as it's a software-based project.

M
User avatar
Orangeman96
Vic 20 Amateur
Posts: 45
Joined: Tue Jan 16, 2024 3:42 pm
Location: U.S.A.

Re: MegaVIC

Post by Orangeman96 »

DOH! I glazed right over Emulator and Cross Development! :oops:

I have been scanning through the MEGA65 stuff on-and-off too, which I believe has great potential for longevity due to its retro-compatibility, especially given the amount of C= 64 software out there.

OGM
Last edited by Orangeman96 on Sun Mar 31, 2024 8:20 pm, edited 3 times in total.
User avatar
RobertBe
Vic 20 Elite
Posts: 2313
Joined: Sat Jul 14, 2007 2:48 pm

Re: MegaVIC

Post by RobertBe »

Merytsetesh wrote: Tue Mar 05, 2024 9:35 amOf course, I needed a machine to put it in, thus I started on the MegaVIC: my own, I suppose, 'dream machine'. This was around the time the X16, Mega65 and Feonix were becoming 'a thing', and so I quietly mothballed it. I am still proud of it and I might pull it back out. There's a demo around which works pretty well. I could post a link or two if anyone was interested.
I'd be interested! What is a MegaVIC?

Back from the SCCAN meeting,
Robert Bernardo
Fresno Commodore User Group - http://www.dickestel.com/fcug.htm
Southern California Commodore & Amiga Network - http://www.portcommodore.com/sccan
April 13-14 Commodore Los Angeles Super Show 2024 - http://www.portcommodore.com/class
Merytsetesh
Vic 20 Amateur
Posts: 40
Joined: Sat Mar 02, 2024 8:57 pm
Location: Canada

Re: MegaVIC

Post by Merytsetesh »

RobertBe wrote: Sun Mar 31, 2024 8:09 pm I'd be interested! What is a MegaVIC?
For a little bit of background, the MegaVIC started out as a simple CBM BASIC 2 interpreter built in Python. It was something I had always promised myself I'd write, and over COVID, and having to spend a lot of time at home, I got down to writing it. It didn't take long. Of course, then I decided I needed a better environment than a REPL and so I built a VIC-style display. Python was too slow, so I ported my interpreter code to C++. I'd been faculty for a while and so I suppose I didn't write the most fantastic C++ code, but it did show how everything worked 'under the hood' and I was pleased with it.

... at the risk of running on, and not answering the question directly, the MegaVIC was, I suppose, my attempt to 'rough out' my own 'dream computer'. Something with the 'friendly computer' vibe of the VIC-20 but with more power. "What if there was a computer that 'felt' like a VIC but came out in the later 80s: more RAM, a faster processor, better graphics, maybe a built-in assembler?..." It was also, in part, a way to have a reason for coding. I had a crazy idea of trying to cultivate interest, write an instruction manual along the lines of "Welcome to the VIC" and the old PRG... perhaps even throw it up on Steam.

The machine itself wasn't a proper simulation. It all ran in C++, used the C++ stack rather than a bank of memory and didn't have a VM and simulated processor at the heart of it. This did make some things (like function calls and procedures) reliant on a whole heap of kludging, but it did work and I was proud of it.

It was around this time that David Murray's Commander X16 was getting off the ground, and the Feonix and Mega65 were coming to light. I was just one person, with what felt increasingly like a foolish pipe dream, and so I put the MegaVIC aside. I can't deny I'm a little sad about that.

I can provide more information but I should leave it there. But if anyone is interested here are a few pictures:
https://github.com/Merytsetesh/Examples ... egaVIC.jpg
https://github.com/Merytsetesh/Examples ... _final.jpg
https://github.com/Merytsetesh/Examples ... _debug.jpg
https://github.com/Merytsetesh/Examples ... ug_prg.jpg
https://github.com/Merytsetesh/Examples ... de1_1a.jpg
https://github.com/Merytsetesh/Examples ... de1_3a.jpg

... and a video:
https://github.com/Merytsetesh/Examples ... rt%202.mp4

(Edited to point to a new github repo as it's likely much easier.)
User avatar
huffelduff
Vic 20 Hobbyist
Posts: 118
Joined: Sat Sep 05, 2020 9:14 am

Re: MegaVIC

Post by huffelduff »

Merytsetesh wrote: Mon Apr 01, 2024 12:56 pm ...and so I put the MegaVIC aside. I can't deny I'm a little sad about that.
Hi Merytsetesh,

I checked the videos. The Elite object rotations are silky smooth. Very nice.
Just a thought: It seems you're half way to a Pixelvision or Tic80 type system.
So the MegaVIC can be born as something like that maybe?

Greetings

H
Merytsetesh
Vic 20 Amateur
Posts: 40
Joined: Sat Mar 02, 2024 8:57 pm
Location: Canada

Re: MegaVIC

Post by Merytsetesh »

huffelduff wrote: Wed Apr 03, 2024 11:55 am Hi Merytsetesh,

I checked the videos. The Elite object rotations are silky smooth. Very nice.
Just a thought: It seems you're half way to a Pixelvision or Tic80 type system.
So the MegaVIC can be born as something like that maybe?

Greetings

H
Hi Huffelduff,

Thank you for the kind words. I can't lie: the clean animation is probably more down to the fact that it's running in C++ on a modern computer, using SDL2 to do all the hard work. The MegaVIC also doesn't rasterise the graphics: it's all just drawn to a texture that's uploaded once every... I forget how many milliseconds. Yes, the interpreter is still jumping around inside the BASIC, and the C++ is jumping around on top of that, but even so I feel a little guilty taking too much credit.

If I'm honest, in some ways the MegaVIC was motivated by wanting to be able to play Elite on the VIC. ... that's a whole other project of mine that's still very much in the thinking-about-it-and-wondering phase.

I go back and forth on whether to keep it as it is, fairly simple, and then I get the desire to expand it out, turn it into more of a 'real' system, with roms and memory and...

... I have too many ideas and not enough time.

I'll look into the Tic80, thank you. The Pixelvision comes up as a camera: is that what you meant?

Thank you again, and best wishes,

M.
User avatar
Orangeman96
Vic 20 Amateur
Posts: 45
Joined: Tue Jan 16, 2024 3:42 pm
Location: U.S.A.

Re: MegaVIC

Post by Orangeman96 »

Merytsetesh wrote: Wed Apr 03, 2024 7:40 pm
huffelduff wrote: Wed Apr 03, 2024 11:55 am Hi Merytsetesh,

I checked the videos. The Elite object rotations are silky smooth. Very nice.
Just a thought: It seems you're half way to a Pixelvision or Tic80 type system.
So the MegaVIC can be born as something like that maybe?

Greetings

H
Hi Huffelduff,

Thank you for the kind words. I can't lie: the clean animation is probably more down to the fact that it's running in C++ on a modern computer, using SDL2 to do all the hard work. The MegaVIC also doesn't rasterise the graphics: it's all just drawn to a texture that's uploaded once every... I forget how many milliseconds. Yes, the interpreter is still jumping around inside the BASIC, and the C++ is jumping around on top of that, but even so I feel a little guilty taking too much credit.

If I'm honest, in some ways the MegaVIC was motivated by wanting to be able to play Elite on the VIC. ... that's a whole other project of mine that's still very much in the thinking-about-it-and-wondering phase.

I go back and forth on whether to keep it as it is, fairly simple, and then I get the desire to expand it out, turn it into more of a 'real' system, with roms and memory and...

... I have too many ideas and not enough time.

I'll look into the Tic80, thank you. The Pixelvision comes up as a camera: is that what you meant?

Thank you again, and best wishes,

M.
M.,

Gotta get the MegaVIC to be something that ultimately runs on a real 6502 (versus another "emulator" type "system")! :mrgreen:

OGM
Merytsetesh
Vic 20 Amateur
Posts: 40
Joined: Sat Mar 02, 2024 8:57 pm
Location: Canada

Re: MegaVIC

Post by Merytsetesh »

Orangeman96 wrote: Wed Apr 03, 2024 10:36 pm M.,

Gotta get the MegaVIC to be something that ultimately runs on a real 6502 (versus another "emulator" type "system")! :mrgreen:

OGM
Hi OGM,

Actually, I'd rather it ran on my own chip, the 768R32 ;-) 32-bit data bus, 26-bit address bus, 16 registers, SP, LP. WDC meets ARM. :-) (Interestingly, Bill Mensch pointed customers asking for a 32-bit 65xx chip to ARM, according to a clip on a recent video posted by The 8-Bit Guy.)

Alternatively, I'd like to make the system run on, say, the 65C816 in full 16-bit mode, or maybe even two or three 816s running in parallel.

I've been thinking about what huffelduff said, about the Tic80. There's a lot to be said for keeping things simple, certainly the first go-round. Nothing to say there can't be multiple machines from Ensign ;-)
User avatar
huffelduff
Vic 20 Hobbyist
Posts: 118
Joined: Sat Sep 05, 2020 9:14 am

Re: MegaVIC

Post by huffelduff »

Merytsetesh wrote: Thu Apr 04, 2024 10:36 am
Hi OGM,

Actually, I'd rather it ran on my own chip, the 768R32 ;-) 32-bit data bus, 26-bit address bus, 16 registers, SP, LP. WDC meets ARM. :-) (Interestingly, Bill Mensch pointed customers asking for a 32-bit 65xx chip to ARM, according to a clip on a recent video posted by The 8-Bit Guy.)

Alternatively, I'd like to make the system run on, say, the 65C816 in full 16-bit mode, or maybe even two or three 816s running in parallel.

I've been thinking about what huffelduff said, about the Tic80. There's a lot to be said for keeping things simple, certainly the first go-round. Nothing to say there can't be multiple machines from Ensign ;-)
Hey there M and OGM,

M, here's the link to pixelvision: https://pixelvision8.github.io/Website/
Its got a very good toolset: Chiptune maker, sprite editor, tile mapper and is also very well documented.

I think what OGM mentioned would be very nice e.g. to have a piece of hardware to run the software (eventually).
M, as you wrote the software system could be a pathway to the hardware in that you can see whats neat and works in software.

To add: The most important point would seem to be that successful 8-bit style virtual machines are well documented and have abundant programming examples. In short, the most neglected part of the vast majority of virtual machines would most probably be the key to their success.
As a somewhat related example: There are many languages for the Vic, but the cross compiled language TRSE has intrigued me quite a bit because of how well its documented. Andyh (Andy from Hewco) has a thread on the forum about a game: Emu's massive hunt which is written in TRSE and he has been contributing a boatload of code examples to the TRSE project. So I've been messing around with it because of the documentation and the programming examples.

I'm not saying documentation is the only thing, but I think you get the idea.

Anyway greetings to you both

H
Post Reply