BBC Driver in MESS Status report as of 4th July 2000 ---------------------------------------------------- ******************************************************************* * GREEN ON THE PICTURE * * (Emulation code working) * ******************************************************************* 6502 ---- Status: 100% The MAME 6502 processor core is used. Future Development: Some people upgraded there processors to the 65C02 to obtain some extra machine instructions. This code be added as a BBC Clone. System VIA 6522 --------------- Status: 100% The MESS 6522 VIA core is used. Future Development: Some of the hardware this IC connects to is not fully emulated yet. (this include the keyboard LEDs and the BBC Speech processor.) User VIA 6522 ------------- Status: 100% The MESS 6522 VIA core is used. Future Development: The Printer port and User port (which are both controlled by this IC) are not emulated. Initial code for the Printer output has been added, but this output is just sent to the debug error log right now. The user port output may also be used to control the Solidisc sideways RAM upgrade if this is included as a driver upgrade option. Video Address buffers & scrolling hardware ------------------------------------------ Status: 100% Sound Generator --------------- Status: 100% The MAME 76489 sound processor core is used. RAM --- Status: 100% Paged ROMs/ROM Select --------------------- Status: 100% Future Development: Some of the ROM banks, could be made into sideways ram for the BBC B Solidisc addressing (addressed through the user port) or Acorn addressing (addressed through the ROM select latch) The BBC B Plus 128K has working sideways ram. Also ROM banks 2 to 10 can now be loaded with ROMs using MESS's catridge support. I would like to see both the BBC Master sideways ram configuration and the Solidisc 128K configurations selectable, this may have to be done as two different drivers. 7002 Joystick port ------------------ Status: 100% RGB/VIDEO/UHF MODULATOR/PAL ENCODER ----------------------------------- Status: 100% These are really just bits of hardware in the PC there is no emulation code that map to this BBC hardware. If you have a video card with video out or UHF out then they will more or less work as the BBC did. The Video Processor ULA is where all the video emulation code lives. ******************************************************************* * YELLOW ON THE PICTURE * * (Emulation code working, but room for improvement) * ******************************************************************* Keyboard -------- Status: 80% Working Outstanding Issues: There is no BREAK (reset) key, this key was directly connected to the reset circuits. The keyboard LED's are not emulated. The function keys are mapped to the numeric keypad, they should probably be mapped back to the PC function keys. Future Development: I would like to emulate the keyboard in such a way that the keys really map to the PC keyboard. 8271 Disc Controller -------------------- Status: Working This code has been added by Kevin Thacker I think this is still read only WD1770 Disc Controller -------------------- Status: Working This code has been added by Kevin Thacker ******************************************************************* * CYAN ON THE PICTURE * * (Code that I am activley working on right now) * ******************************************************************* 6845 CRTC --------- Status: 98% Working well Outstanding Issues: The flashing cursor timings need to be coded correctly. Video (ULA) Processor --------------------- Status: 80% Working well as far as it goes Outstanding Issues: The split screen modes are not emulated at all yet, The split screen mode timing and buffering will need to be added to make this start to work correctly. SAA5050 Teletext ---------------- Status: 75% There is code for the Teletext chip working well in the BBC driver but I plan to pull this code out and create a generic SAA5050 driver which the BBC and other drivers will then use. Outstanding Issues: Needs to add a few mode teletext control characters ******************************************************************* * MAGENTA ON THE PICTURE * * (Code that may be added at some point) * ******************************************************************* Serial ULA Processor -------------------- Status: 3% (Cassette Support does not work at all in the public release) I have made a quick hack to get the cassette decoded and into the 6850 SIO chip, but this has not yet been included in the public releases. I got this hack going before the BBC driver had disc drive support. So now disc drive support is working, tape loading is not so important any more. (But it will get looked at again in the future) Outstanding Issues: Needs to be emulated correctly 6850 SIO -------- Status: 15% Again This code is not included in the public releases. The basic outline for this chip is in place but the interface to the Serial Processor is a very bad hack, this need full emulation so that it can also be used by other drivers. 5220 Speech Processor & Speech ROM ---------------------------------- There is a 5220 Speech Processor emulator in the MAME core unfortunately it does not emulate speech ROM support. So it should not be to hard to add the 5220 but it would be a lot more work to try and get the Speech ROM added. I would really like to see the speech circuits added so I may well do some work on this at some point. RS232 ----- MESS has no support for the serial port, so this is a long way off being emulated. Saying that, I will be emulating the 6850 and serial ULA in such a way that at some point in the future it could control a real PC serial port. Printer Port ------------ This could turn up at some point, with maybe even an emulated printer also. TUBE ---- I will at some point try to add the 6502 second processor upgrade to the emulator. So TUBE support will be added as part of that work. ******************************************************************* * BLUE ON THE PICTURE * * (Code that will probably not be added) * ******************************************************************* USER PORT --------- The User 6522 that drives the user port is fully emulated, The problem is that there is no real way of adding the user port outputs to MESS, as there is no standard PC hardware that this could be used to control. 1MHz Bus -------- If I can find some hardware that uses this port that I would actually like to be included in the driver then I guess it will be added, other than that there is no real purpose in emulating this port. ECONET ------ MESS has no support for networking, and I know nothing about the workings of the BBC ECONET system, so this is the least likely bit to be added to the BBC driver. (But never say never :o) Serial ROMs ----------- This is an idea that never really happened, I don't know of any serial ROMs that where ever released for the BBC, also the MAME Speech Processor does not support serial ROM emulation. So there is no point in adding this to the driver.