Page 11 of 15
Re: 65VM02
Posted: Sun May 28, 2017 4:04 am
by GARTHWILSON
Right now my mind is focused on this 65VM02 idea.
You definitely have some excellent ideas. It will be interesting to see how they play out in practical code when you're ready to try that.
I always liked the 65c02 --- I also thought that some of the design decisions were very dubious --- I wanted an upgraded version, but I didn't want to go to 16-bit registers which seems rather radical.
If you're only doing 8-bit work in assembly language, the '02 is nice. But if you have something that needs to do 16-bit stuff all the time, the '816 becomes a lot easier to program, and more efficient. Here's the simple example of Forth's @, which you're familiar with:
First for 6502:
Code: Select all
LDA (0,X)
PHA
INC 0,X
BNE fet1
INC 1,X
fet1: LDA (0,X)
JMP PUT
; and elsewhere, PUT which is used in so many places is:
PUT: STA 1,X
PLA
STA 0,X
For the '816, the whole thing is only:
Code: Select all
LDA (0,X)
STA 0,X ; For the '816, PUT is only one 2-byte instruction anyway, so there's no sense in jumping to it.
I should learn how to program in 65c816 assembly-language though. I don't really know anything about that processor. Is there an experimenter board available for it?
One I know of is at http://wdc65xx.com/boards/w65c816sxb-en ... nt-system/ . I haven't used it (or ever seen one) myself. I wish the 65802 were still available, because you could drop it into the 6502 socket of a board you might already have, and get an '816 that only operates in bank 0 but has all the other benefits.
Re: 65VM02
Posted: Sun May 28, 2017 5:05 am
by GaBuZoMeu
I should learn how to program in 65c816 assembly-language though. I don't really know anything about that processor. Is there an experimenter board available for it?
You may took a look at this thread
viewtopic.php?f=1&t=3552 as well. It's a bit cheaper.
Re: 65VM02
Posted: Sun May 28, 2017 6:42 am
by BigDumbDinosaur
Right now my mind is focused on this 65VM02 idea. I always liked the 65c02 --- I also thought that some of the design decisions were very dubious --- I wanted an upgraded version, but I didn't want to go to 16-bit registers which seems rather radical.
It was Rockwell who came up with the BBR, BBS, RMB and SMB instructions, not WDC. It was some time later that WDC included them in their 65C02. Hardware-wise, the 65C02 was plug-compatible with the NMOS 6502 up until when WDC revised the pin-out to bring out MLB and VPB. A system designed could definitely find those outputs useful, especially VPB.
I should learn how to program in 65c816 assembly-language though...Is there an experimenter board available for it?
I could fix you up with a copy of
POC V1.1, which is 65C816-powered, uses 74AC discrete logic, runs at 12.5 MHz, has twin TIA-232 ports, a real-time clock, a user-callable BIOS (through a jump table) and the Supermon 816 machine language monitor. V1.1 has 128K of SRAM, but doesn't have the banking mechanism, so it can't address more than 64K. There is also a SCSI-SE host adapter that goes with it that can drive common SCSI peripherals, mainly disks, optical drives and tapes. I've attached SCSI disks up to 300GB to it while experimenting.
Another possibility would be my new design, POC V2.1. V2.1 uses programmable logic, has 1MB of RAM (all but one page of it addressable by the '816), four TIA-232 ports, a real-time clock, and will inherit the firmware from POC V1.1, with some enhancements. It's not quite ready for consumption, but I expect it to be by mid-summer.
Daryl Rictor (
8BIT) has a
65C816 design that is part of his SBC series, but I don't know its current status.
Re: 65VM02
Posted: Sun May 28, 2017 7:11 am
by Arlet
Right now my mind is focused on this 65VM02 idea.
I may have missed this if it was mentioned earlier, but are you going to build an 65VM02 in an FPGA when the design is ready ?
Re: 65VM02
Posted: Sun May 28, 2017 7:57 pm
by Hugh Aguilar
Right now my mind is focused on this 65VM02 idea.
I may have missed this if it was mentioned earlier, but are you going to build an 65VM02 in an FPGA when the design is ready ?
That is the idea! A big part of why I am interested in the 65c02, other than the

factor, is that it is a pretty simple processor. This would be my first HDL project, so I want to start with something simple.
I've been talking to Michael Morris in private, and he has HDL code for the M65c02 that is an upgrade on the 65c02 --- also, he mentioned that you have HDL code for the 65c02 (possibly an upgrade on the 65c02; I didn't ask about the details) --- I would likely use HDL code from one or the other of you as a starting point for the 65VM02.
Edit: Michael Morris's processor is called M65c02 --- I had written 65M02 above which was incorrect, so I edited it --- Michael Barry's design is called 65M32 (I was getting the names tangled up).
I've talked to other HDL guys about the 65VM02, but none were enthusiastic --- they point out that there are much more powerful processors available nowadays for only a few dollars --- they seemed to think that the 65VM02 was a dumb idea and that I should go look at a calendar (note that this is not 1984 anymore).
Re: 65VM02
Posted: Sun May 28, 2017 8:15 pm
by Arlet
My HDL code is for the NMOS 6502, available on
github. David Banks and Ed Spittles added the 65C02 opcodes
here
Re: 65VM02
Posted: Sun May 28, 2017 8:51 pm
by BigDumbDinosaur
...they seemed to think that the 65VM02 was a dumb idea and that I should go look at a calendar (note that this is not 1984 anymore).
Since it's no longer 1984, I guess we had better shut down 6502.org, since the entire site's purpose is the support of hobby use of woefully out-of-date technology.
Also, my friends in the Live Steam hobby who build, run and maintain miniature steam locomotives are so far behind the curve they are positively Paleozoic!

Me, I'm not quite that far behind, since my locomotive is an EMD F7, the original having been built c. 1950.

Re: 65VM02
Posted: Mon May 29, 2017 12:18 am
by Hugh Aguilar
...they seemed to think that the 65VM02 was a dumb idea and that I should go look at a calendar (note that this is not 1984 anymore).
Since it's no longer 1984, I guess we had better shut down 6502.org, since the entire site's purpose is the support of hobby use of woefully out-of-date technology.
I'm not opposed to the 65c02 as a hobby --- keeps the kids off the street!
I don't think the 65c02 is a good choice for serious work though, and hasn't been since the 1980s.
The 65VM02 could hopefully be used for serious work --- it is not going to be high-speed by modern standards --- with its support for a byte-code VM and a multi-tasking OS though, it could support pretty big programs.
What is high-speed really needed for?
BTW: I was looking at some advertisements:

Arduino --- appeared to be a collision between high-cost and low-performance

Parallax Propeller --- pretty impressive

Rabbit boards --- pretty impressive
Anybody here have any experience with any of these?
Re: 65VM02
Posted: Mon May 29, 2017 4:46 am
by BigDumbDinosaur
I don't think the 65c02 is a good choice for serious work though, and hasn't been since the 1980s.
You keep saying this, even though reality disagrees with you. If the 65C02 were really not good for serious work, WDC would have shut down long ago, since royalties on the use of their 65C02 IP is where most of their income is derived.
Re: 65VM02
Posted: Mon May 29, 2017 6:54 am
by BigEd
Edit: sorry, my words here seem to look grumpy - they are not meant to be! We can have as many threads as we like, and because discussion within a thread is linear, new threads are a useful tool.
It's getting a bit late to make this suggestion Hugh, but it's really helpful to start a new thread when you have a new idea for a conversation! It's very easy to do. And it is easy to link forward from the old thread and back to the new.
Any mention at all of the merits of the 6502 is sure to lead to a discussion about that, which normally isn't the topic of the thread where it started.
Re: 65VM02
Posted: Mon May 29, 2017 7:09 am
by barrym95838
... but it's really helpful to start a new thread when you have a new idea for a conversation! It's very easy to do ...
I find it very easy to get caught in off-topic streams of consciousness, especially when I'm feeling comfortable in my surroundings. I know that it can be a bit frustrating for others who (rightfully) like to keep things on topic, but it's a difficult habit to kick. I apologize for my many contributions to thread drift here and elsewhere.
Mike B.
Re: 65VM02
Posted: Mon May 29, 2017 7:21 am
by BigEd
It's a balance - we're friends here, and we like to talk about things. Sometimes, though, it's a new thing, and you can realise that just before you hit Submit.
Re: 65VM02
Posted: Mon May 29, 2017 7:25 am
by BigDumbDinosaur
BTW, did I tell you guys about the 128 bit 65C02 I'm designing?
Just kidding!

Re: 65VM02
Posted: Mon May 29, 2017 5:01 pm
by sark02
I've talked to other HDL guys about the 65VM02, but none were enthusiastic --- they point out that there are much more powerful processors available nowadays for only a few dollars --- they seemed to think that the 65VM02 was a dumb idea and that I should go look at a calendar (note that this is not 1984 anymore).
Don't let them discourage you. Regardless of its practical utility, there's a special challenge in trying to squeeze more out of an 8-bitter like the 6502; especially with its limited register model. It would be an easier first HDL project, I think, to implement a 32-bit processor with 32 GPRs (think: MIPS or RISC-V). Although there's some satisfaction to be had there, and you'd get tools (like an assembler and C compiler) for free, you wouldn't be doing anything new. You seem to be having fun designing your own extensions, and I think it's going to be immensely satisfying seeing it come to life in an FPGA.
Rock on.
Re: 65VM02
Posted: Mon May 29, 2017 5:05 pm
by Hugh Aguilar
I don't think the 65c02 is a good choice for serious work though, and hasn't been since the 1980s.
You keep saying this, even though reality disagrees with you. If the 65C02 were really not good for serious work, WDC would have shut down long ago, since royalties on the use of their 65C02 IP is where most of their income is derived.
Calm down! I'm not trying to start a flame war. The "reality" though, is that the 65c02 is mostly interesting for nostalgia.
I think the 65VM02 would be a pretty good upgrade on the 65c02, while still retaining the look-and-feel of the 65c02. Who doesn't like 8-bit registers?
The reason why I mentioned the Arduino, Propeller and Rabbit, is because I was thinking about how cool it would be to have an experimenter board similar to those, but based on the 65VM02. People buy the Rabbit boards because of the Z80-nostalgia factor, but they wouldn't buy them if they had a Z80 in them because the Z80 is not practical anymore. Similarly, there is 65c02-nostalgia, but I don't think people would buy a board with a 65c02 because the 65c02 is not practical anymore. A board like that with the 65VM02 however, could become popular.

That would be way more powerful than the AVR or Rabbit or Propeller! How cool would that be? Keeps the kids off the street...
BTW: I thought of a motto for your Live Steam club: "We put the loco in locomotive!"
Are you guys involved in that SteamPunk culture?
I've read about that --- I may have a touch of loco too, but it seems like fun to me!
Maybe 65c02 micro-controllers could be used in SteamPunk technology --- that would be weirdly appropriate!
Anyway, my previous posts typically included a new version of the 65VM02 document. This one doesn't, because I'm pretty much happy with the design now. The next thing to do is write a simulator for the 65VM02 and begin writing code, such as the Forth compiler and multi-tasking OS. Hopefully one or more of the brave 6502 forum crowd will write a C or Pascal compiler for the 65VM02 --- the processor design is not Forth-specific, but should be appropriate for any high-level language --- the processor design is not written in stone though, so if new instructions are needed to support C or Pascal, this can be done.