Hugh Aguilar wrote:
drogon wrote:
Hugh Aguilar wrote:
The W65c816 is a good target for a byte-code VM because all of the opcodes are one-byte, as compared to the more popular MC6811 and MC6809 that have multi-byte opcodes.
I wouldn't let the CPUs underlying opcodes be a reason for/against running a bytecode VM on it, however ...
I have a bytecode VM running on my '816 systems. I do not feel It's a good target for a bytecode engine host for many reasons...
You misunderstood me:
I meant that the W65816 would be the byte-code VM that is emulated on my more powerful processor.
Oh, Right.
In which case why are you bothering with it at all? Just pick a nice CPU that's well known and understood, doesn't have the 64K bank shenanigans and use that instead. I can recommend RISC-V having worked with it recently - it's a joy to use. Several C compilers and easy to code for in assembly and FreeRTOS already going on it...
Quote:
I would get rid of 8-bit mode completely --- I have no interest in running old 65c02 software.
This frees up a few opcodes in the W65c816 that can be converted for use in supporting Forth. This won't help the C compiler, but it won't hurt it either (I assume that the C compiler didn't use 8-bit mode).
The purpose of emulating an existing processor such as the W65c816 is so that I can have C code running on my processor without me needing to write a C compiler. This is going to be much slower than native machine-code on my processor, but the advantage is that I can have gigantic programs and an RTOS out there in external-memory, whereas internal-memory is limited to a few KW.
I'll look into those C compilers the others mentioned.
and as you're finding they aren't many - hence my choice to use another language (BCPL) and my suggestion to you to use another CPU.
Quote:
I remember reading the book on LCC back in 1994. It didn't work for me then because it requires a lot of registers, which I didn't have on the MiniForth processor. In a W65c816 emulation though, we can have a lot of pseudo-registers in zero-page --- also, zero-page can be mapped to internal memory for speed.
Other than C compilers, is there any useful software in the public-domain for the W65c816?
SNES games are usefull to many... the Apple IIgs is still usefull to many too. The Acorn Communicator? Not really.
Quote:
I have read that there are emulators for the W65c816 that can run old Super Nintendo games. This is pirating though --- all of the Super Nintendo games are proprietary to Nintendo --- I don't want to run any W65c816 software that I don't have permission to run (I already mentioned the WDC C compiler).
What I remember from the 1990s is that the W65c816 was used in the Apple-IIgs (the W65c816 may have been developed specifically for the Apple-IIgs). The Apple-IIgs died because it was considered to be a poor man's Mac, but the price of the Mac went down so that it became affordable. Then the W65c816 got chosen for use in the Super Nintendo. Bill Mensch was extremely pleased with this, as the Super Nintendo was a cash-cow for WDC. Because of this, he ignored everybody else --- if you weren't buying W65c816 chips by the thousands, then you weren't getting any support from WDC --- so the W65c816 didn't get used very much --- when the Super Nintendo died, the W65c816 pretty much died with it.
Does that pretty much cover the history of the W65c816? There are still W65c816 enthusiasts, mostly on this forum, but the W65c816 is no longer gets much (any) use in commercial applications.
The Acorn Communicator pre-dates the Apple IIgs (but not by much). It was built by Acorn and aimed at the business market - people who wanted a usable desktop system with built in modem - in the pre-internet UK we had a dial-up thing called Prestel that was intended to be used by small businesses - I think it might just have been the travel agents who used it a lot, but who knows. Acorn dropped it as they were developing ARM at the same time, so no point continuing when they have much nicer and 100x faster CPUs to work with.
But yes, the '816 is dead - or seems that way. The SNES version had additions to the hardware that were handy for video. WDC are still making them though, so somewhere there are enough commercial projects still using them - I suspect buried inside some embedded systems somewhere, but where? Who knows.
Quote:
Are there any FPGA W65c816 processors?
Several - WDC has their own commercial one and there are a few free offerings online - also software emulators in e.g. the PiTubeDirect project.
https://github.com/hoglet67/PiTubeDirectHere is an FPGA one, but I've no idea what its state is:
https://opencores.org/websvn/listing/v65c816/v65c816Some interesting ideas though.
Cheers,
-Gordon
_________________
--
Gordon Henderson.
See my
Ruby 6502 and 65816 SBC projects here:
https://projects.drogon.net/ruby/