BigEd wrote:
Hmm, those projects are using a microcontroller, rather than an existing PC, to provide facilities. One might be able to borrow from the serial protocol though, if that's how they are connected.
Actually yes - no - but - maybe...
So the RP2040 / Picocompute solution adds anothe computer into the equation.
As for my ATmega front-end.
But that needed do anything more than "enable" the higher functions to run on a good (or poor) desktop PC.
Quote:
But, I just had an idea. We want a program running on a PC, capable of sound, graphics, serial I/O, and of course keyboard input. Ideally that's a portable program and easily customised. So - write the program in
BBC Basic! It's free and runs on Windows, Linux, Mac and Raspberry Pi, and it can do full-screen graphics using a byte-serial protocol. (In fact, Revaldinho and I
have used it this way, connected to an Amstrad CPC, to do full-screen graphics to a DVI (HDMI) display, with an
Acorn-style byte stream.)
I'm fairly sure JGH's
tube-over-serial project will have a Basic implementation already. This isn't going to be Lego levels of easy, but I think the building blocks exist.
I sort of have that with my RubyTerm thing. Although primarily it interprets
Acorn VDU commands (and adds on some more like sprites, circles although I've tried to stick to the Graphics extension pack where possible) it does one other thing which is implement a file pull/push function, so I can *GET and *PUT files to/from the desktop from the 6502/65816 side of thing.
My RubyTerm is actually a stripped down version of my BASIC interpreter that I originally wrote to run under Linux. (With a front-end to interpret
Acorn VDU commands). It supports
Acorn/BBC Basic sound/envelope commands but I never pushed them from the BASIC interpreter over to the RubyTerm side, although it would be easy to do so.
Extending that to be a proper file system - well not hard, just time consuming.
But I still need something to boot the 6502/816 and I think having local RAM and at least one peripheral (6522) is a good thing, but you can emulate anything over serial given enough time and resources - I have a version of my "wiring" library that runs over serial and TCP - it's just a matter of what you want at the end of the day.
I think the challenge is finding a microcontroller with enough pins to enable the boot, act as a serial port and anything else you feel you need to do the communication.
As an aside, I got the code in the ATmega to recognise it was talking to a RubyTerm or not - and if not, then it translates the
Acorn VDU commands coming from e.g. BBC Basic into ANSI codes so I can run it under Minicom, or even a real serial terminal that understands enough ANSI codes to work.
-Gordon
_________________
--
Gordon Henderson.
See my
Ruby 6502 and 65816 SBC projects here:
https://projects.drogon.net/ruby/