Various emulations - what interface hardware is required?
Cluso99
Posts: 18,069
With all the different emulations being pumped out by pullmoll, I have not been able to keep up. Congratulations Jurgen
Now, I need to get my Prop ProtoBoard (or TriBlade #1) built with the I/O required so that I can use with the RamBlade (or TriBlade #2).
So, what I/O is required for the various emulations (CPM, Tangerine Microtan 65, Spectrum Emulator, Color Genie, Nascom, Apple?, Commodore 64?, etc) ? What I mean is TV, mono/color, VGA, screen size (640x480 etc), Keyboard, Mouse/Joystick, Speaker (no of pins to generate this on the prop and the circuit if it is more than driving earphones (I figure an earphone driver is fine as we can always use a set of pc or iPod speakers), serial, printer???, etc. Disks/Tape of course will be handled by the SD card.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Now, I need to get my Prop ProtoBoard (or TriBlade #1) built with the I/O required so that I can use with the RamBlade (or TriBlade #2).
So, what I/O is required for the various emulations (CPM, Tangerine Microtan 65, Spectrum Emulator, Color Genie, Nascom, Apple?, Commodore 64?, etc) ? What I mean is TV, mono/color, VGA, screen size (640x480 etc), Keyboard, Mouse/Joystick, Speaker (no of pins to generate this on the prop and the circuit if it is more than driving earphones (I figure an earphone driver is fine as we can always use a set of pc or iPod speakers), serial, printer???, etc. Disks/Tape of course will be handled by the SD card.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Comments
For sound 1 output pin is sufficient, while the AY-3-8910 emulation also supports a dual output; no stereo, just twice the same output. It might make sense to be able to scale the output using a variable resistor and to go through a capacitor, some uF perhaps..
The keyboard will be used by almost any emulation. Individual drivers to reflect the differing keyboard matrix or methods (ASCII in case of the Microtan).
Some machines have TV out based on your 1pin TV, i.e. black + white only.
Most machines have VGA out as an alternative or as their only video output (Colour Genie).
Screen sizes will probably be 320x200 or below, which can be achieved with a 640x480 mode and pixel doubling on VGA.
Some machines use serial I/O on pins 31+30 with CP/M being the only one using a 2nd pair of pins for a 2nd SIO.
No printer support in any machine yet.
No mouse support either.
All settings are configurable through a list of pins that is conditionally defined in the main spin object.
The SD card can be either FAT16 or FAT32 and program files can reside inside a subdirectory. The main ROM (and sometimes a character generator ROM) is loaded from the root directory, while we could change that if we define a fixed subdirectory name per emulation.
Cassette in- and output _may_ be implemented on a separate pair of pins. That way original software could be loaded or a PC soundcard could serve as file server and give you 100% retro feeling by having to wait several minutes to load a program. In some cases this may even be necessary: copy protected cassette images with varying bitrates.
There is a common object cog to handle SD card SPI and XMM access and based on this the fat filesystem functions.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pullmoll's Propeller Projects
Post Edited (pullmoll) : 6/3/2010 9:38:50 AM GMT
pullmoll also mentioned joystick on one of the emulations.
printer support would be easy for serial printers, possibly easy for parallel printers (we have enough pins now - if you don't use the LCD display there are 16 outputs and 8 inputs). USB hub exists now ? can it be used. And even all that might be obsolete soon - the printer sitting in front of me at work here has a cat5 network cable coming out the back.
Sooner or later, serial to ethernet, but I think that is a standalone device.
RS485 on the latest board I'm building with two sockets so you can daisy chain and also do power over ethernet.
If you want cassette, I guess that is the microphone input line on the demo board? Use another spare VGA pin and only allow TV if you use that?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.smarthome.viviti.com/propeller
That would best be emulated through the keyboard, though. You don't want to waste 5 input pins for a digital joystick!?
One thing I wanted to try was a "real" TV driver for the Colour Genie, i.e. one capable of ~16 colours. I just need some code that I can understand to start with.
Edit: Added an attachment for someone else to play with!?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pullmoll's Propeller Projects
Post Edited (pullmoll) : 6/3/2010 9:37:05 AM GMT
Pullmoll: Do we need to be able to have both TV and VGA for various emulations? Or, could we just use VGA?
Mouse: My guess is we don't need a mouse (IIRC only Apple //c & Apple //e introduced the mouse);
Joystick: I think we will need a joystick of some kind. Can we use a Wii Nunchuck or do we need to cater for a proper old fashioned joystick, and if so, which one or what does it need?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
I currently have no VGA emulation for the M100 - the others are available as VGA.
BTW the emulations can't use the standard VGA driver but have their own due to different fonts, colors, resolutions etc.
The most commonly used joystick was the "Atari" type with 4 direction switches and one action switch. I guess anything that has 4 directions and a button can be mapped.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pullmoll's Propeller Projects
I guess that would be just as easy with the 4 arrow keys and spacebar. That is how I played Doom, anyway...
Re a 'real' TV driver, there must be something out there. I've got this nifty 7" LCD TV screen I'd like to use. TV ended up too blurry with 80x40 characters text, but I think it would be just perfect for the resolution on pacman.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.smarthome.viviti.com/propeller
It pretty much drives the headphone speaker directly from the prop.
gadgetgangster.com/scripts/displayasset.php?id=337
However, it might be a good idea to adjust the output impedance and filter out higher/lower than "human frequencies".
This just takes a couple of resistors and caps.
Btw, it would be quite easy to have Stereo output from AYcog.
1 channel to the left, 1 channel to the right and 1 channel in the middle. (Like on the Spectrum 128)