PDA

View Full Version : Various emulations - what interface hardware is required?



Cluso99
06-03-2010, 02:42 PM
With all the different emulations being pumped out by pullmoll, I have not been able to keep up. Congratulations Jurgen http://forums.parallax.com/images/smilies/yeah.gif

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 (http://forums.parallax.com/showthread.php?p=786418),·RamBlade (http://forums.parallax.com/showthread.php?p=849265),·SixBlade (http://forums.parallax.com/showthread.php?p=780033), website (http://bluemagic.biz/cluso.htm)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator) (http://forums.parallax.com/showthread.php?p=790917)
· Prop Tools under Development or Completed (Index) (http://forums.parallax.com/showthread.php?p=753439)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) (http://forums.parallax.com/showthread.php?p=778427) ZiCog (Z80) (http://forums.parallax.com/showthread.php?p=788511) , MoCog (6809) (http://forums.parallax.com/showthread.php?p=811043)·
· Prop OS: SphinxOS (http://forums.parallax.com/showthread.php?p=819353)·, PropDos (http://www.orrtech.us/propdos/) , PropCmd (http://obex.parallax.com/objects/440/)··· Search the Propeller forums (http://www.google.com/advanced_search?q=+site:forums.parallax.com&num=20&hl=en&lr=)·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz (http://www.bluemagic.biz)·· MultiBlade Props: www.cluso.bluemagic.biz (http://www.cluso.bluemagic.biz)

pullmoll
06-03-2010, 04:55 PM
The I/O required varies between the machines.
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 (http://pmbits.ath.cx/prop/)

Post Edited (pullmoll) : 6/3/2010 9:38:50 AM GMT

Dr_Acula
06-03-2010, 05:05 PM
When I get home I'm tempted to see if I can add mouse support, even if it shares the same pins as the second serial port. Mouse is on the demo board. Or, ? use mouse on unused pins if TV (but not VGA) is used.

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 (http://www.smarthome.viviti.com/propeller)

pullmoll
06-03-2010, 05:16 PM
Dr_Acula said...
pullmoll also mentioned joystick on one of the emulations.


That would best be emulated through the keyboard, though. You don't want to waste 5 input pins for a digital joystick!?


Dr_Acula said...
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?


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!? http://forums.parallax.com/images/smilies/smile.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pullmoll's Propeller Projects (http://pmbits.ath.cx/prop/)

Post Edited (pullmoll) : 6/3/2010 9:37:05 AM GMT

Cluso99
06-03-2010, 06:38 PM
Drac: The newer printers are now going WiFi - even the cheap ones. No USB cables (well they are not usually included nowdays anyway). However, I expect modern printers cannot receive ASCII anyway so the point may be moot. No older printers here anymore. I did have one that required a crane to lift it - 400LPM 132 chars wide (computer paper) drum printer - cost approx A$20,000 in the early 70's.

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 (http://forums.parallax.com/showthread.php?p=786418),·RamBlade (http://forums.parallax.com/showthread.php?p=849265),·SixBlade (http://forums.parallax.com/showthread.php?p=780033), website (http://bluemagic.biz/cluso.htm)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator) (http://forums.parallax.com/showthread.php?p=790917)
· Prop Tools under Development or Completed (Index) (http://forums.parallax.com/showthread.php?p=753439)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) (http://forums.parallax.com/showthread.php?p=778427) ZiCog (Z80) (http://forums.parallax.com/showthread.php?p=788511) , MoCog (6809) (http://forums.parallax.com/showthread.php?p=811043)·
· Prop OS: SphinxOS (http://forums.parallax.com/showthread.php?p=819353)·, PropDos (http://www.orrtech.us/propdos/) , PropCmd (http://obex.parallax.com/objects/440/)··· Search the Propeller forums (http://www.google.com/advanced_search?q=+site:forums.parallax.com&num=20&hl=en&lr=)·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz (http://www.bluemagic.biz)·· MultiBlade Props: www.cluso.bluemagic.biz (http://www.cluso.bluemagic.biz)

pullmoll
06-03-2010, 07:12 PM
Cluso99 said...
Pullmoll: Do we need to be able to have both TV and VGA for various emulations? Or, could we just use VGA?


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.


Cluso99 said...
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?


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 (http://pmbits.ath.cx/prop/)

Dr_Acula
06-03-2010, 07:41 PM
"The most commonly used joystick was the "Atari" type with 4 direction switches and one action switch."

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 (http://www.smarthome.viviti.com/propeller)

Ahle2
06-04-2010, 12:14 AM
Have a look at the SIDstick.
It pretty much drives the headphone speaker directly from the prop.
gadgetgangster.com/scripts/displayasset.php?id=337 (http://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)