Wednesday, December 30, 2015

Awaiting the Control Block ...

Finished the soldering and mounted the controller ports. Turns out there were 80 (!) wires in the cable - 40 data and 40 ground in twisted pairs. I removed the ground wires and after connecting 30 wires, 10 remain for repairs.

Tuesday, December 29, 2015

Custom Arcade Controllers

While we have used the USB SNES like controllers the past week, I've been ruminating on better and more accurate controllers for a more enjoyable gameplay.

I ordered a RetroPie Control Block, which is on back order. Apparently, they had some mix up with the batch that was recently delivered. That board attaches to the GPIO header and will control the power to the Pi as well as break-out two arcade controllers.

I needed to find a high-density and robust connector to interface the external arcade controllers to the Control Block.  The CB provides 2 channels of 16 switches - requiring 17 pins (16 switches and a ground).  The best compromise I found was to use a 15 pin D-SUB connector, familiar to most of us as the standard VGA connector.  That provides 14 switches for each controller (14 switch and 1 ground pin).  Theoretically, I could use the shield of the connector as a 15th connector, but that's not good practice.

The nice thing here is that the connectors will fit perfectly in the holes for the 2 Atari joystick ports.  Those are 9 pin D-SUB connectors, the same physical size as the 15 pin ones.  It will also allow some continuity with the original Atari 600XL usage - that the controllers are properly labeled (unlike the situation on the backside).

I found a nice bundle of connector wires in the form of an old PATA cable.  I believe there are 40 discrete wires in this bundle.  Now on to solder 30 connections!

Wednesday, December 23, 2015

Keyboard Interface Update

Someone asked me how this is going, so I thought I'd post an update. I almost got it working before things got shutdown for Christmas. But alas, not enough time to debug. I finished 99% of the soldering and connected the Teensy 2.0 to my Linux workstation, loaded a couple of sample HEX programs. One blinks the LED, which you see in the photo. So that is working. I loaded the Arduino IDE and the Teensy extensions, but could not get the code to compile. Looks like it's not the mods I made. The code Pixelpracht provided would not compile either. Looks like it's missing header library calls. I'll have to debug it next week. I will reach out to Pixelpracht and see if I can get some direction. One thing I'd like to know is why his code includes a matrix with 23 of the 24 Atari keyboard lines and not the 22 I think it should be. One (19) is not connected, giving 23, but the 24th trace also is not connected, as it goes to the power LED. I plan to feed that from the RetroPie Control Block. 

Friday, December 18, 2015

Internal audio amplifier and speakers

Found a cheap ($5) stereo audio amplifier on eBay, with the right size speakers and 5V input. Disassembled and installed into the 600XL. Will put a jack eventually on the back, so that a short jumper can run from the output of the Pi to the amplifier (rather than running the input out the back as it is now. Also, the 5VDC input is temporarily off the GPIO header, until the Control Block arrives. Power will then come off the Control Block master. 

Tuesday, December 15, 2015

Teensy Placement, Initial Power-Up, and the Control Block

The PC project board and headers arrived today, so I'm playing with placement of the interface circuit. Probably going to attach it to the back of the keyboard, as there is a nice flat metal surface to which to attach double-sided tape. The limiter is the existing plastic Atari keyboard header. It's 32 years old, so I don't want to put a lot of stress on it - which precludes mounting the circuit in the bottom half of the case.

Oh, and I connected the Pi through the HDMI-VGA interface and powered it up yesterday.  Works great so far.  I discovered the 8GB SD card is listed as questionable in compatibility (though it worked OK), so I decided to replace it with a 32GB class 10 Samsung EVO card... it was only $11.  That way, we can load every last bit of whatever we want on it.

Also put in a pre-order for the RetroPie Control Block ($45 with shipping).  That will mean adding 1 additional hole on the back for the mini-USB port.  This is the power port that must be used, as the Control Block has soft-power functionality that will feed the Pi.  It also allows adding a power switch and status LED.  I will use the LED on the Atari keyboard for that.  Will try the existing lame red LED, which I verified is working.

Monday, December 14, 2015

Best RetroPie initial setup how-to

There are several good how-tos floating around concerning setting up the Raspberry Pi for RetroPie.  This is the best one, IMO.

Status update on the Control Block

The RetroPie Control Block is available for pre-order.  Great!  While I'm awaiting its arrival, I will focus on the keyboard interface sub-project.

Friday, December 11, 2015

Hooking up the external ports

With the Raspberry Pi and ports all being well-epoxied in place, it was time to connect the extension cables for the USB and Ethernet ports.

The Teensy 2.0 is also plugged into the external port that will serve as the keyboard USB out.  The Teensy will have some headers soldered onto it and these will in turn be soldered to another project board, for interfacing with the Atari keyboard connector.

Thursday, December 10, 2015

Ethernet back panel port

The Ethernet extension cable also arrived yesterday, so I installed that where the power switch used to be. Same deal: cut off one of the mounting flanges, widened part of the hole, and expoxied it in place. Just have the USB port for the Teensy keyboard conversion device and that will be it for the initial spate of connectors!

Seating the Raspberry Pi

The nylon standoffs arrived yesterday, so I installed the Raspberry Pi today. I found a pack of 100 M2.5 12mm standoffs for $10 on Amazon with Prime shipping. I used 2 of the 12mm standoffs as-is for the rear legs and cut about 5mm off of each of the front 2. I used the same 2 part epoxy gel I used to mount the USB ports. Easy peasy. The standoffs are great because they have both a male and female side, so you can use another standoff as a nut. 

Tuesday, December 8, 2015

Arcade Systems, Game Consoles, and Home Computers in RetroPie

Here's a cool summary of the systems covered by RetroPie, in chronological order!

Arcade Systems, Game Consoles, and Home Computers in RetroPie

1977Atari-2600-Vader-FLAtari 2600Game ConsoleStella(RetroArch)
1977Apple II IMG 4212Apple IIHome ComputerLinApple
1977Commodore 2001 Series-IMG 0448bCommodore PETHome ComputerVice
1979Atari 800Atari 800Home ComputerAtari800
1979Intellivision-Console-SetIntellivisionGame Consolejzintv
1979Z-machineVirtual MachineFrotz
1980Commodore-VIC-20-FLCommodore VIC-20Home ComputerVice
1981IBM PCHome Computerrpix86
1982Commodore-64-ComputerCommodore C 64Home ComputerVice
1982Cbm710 ta.jpgCommodore CBM-IIHome ComputerVice
1982Vectrex-Console-SetVectrexGame ConsoleVecx(RetroArch)
1982ZXSpectrum48kZX SpectrumHome ComputerFuse FBZX
1983Sony HitBit HB-10P (White Background)MSXHome ComputerOpenMSX
1983NES-Console-SetNintendo Entertainment SystemGame ConsoleFCEUMM(RetroArch)
1984Macintosh 128k transparencyApple MacintoshHome ComputerBasiliks II
1984Amstrad CPC464Amstrad CPCHome ComputerCPC4Rpi
1984Commodore Plus 4Commodore Plus/4Home ComputerVice
1985Commodore-128Commodoce 128Home ComputerVice
1985Amiga 1000 computerCommodore AmigaHome ComputerUAE4ALL
1985Atari STHome ComputerHatari
1985Sega-Master-System-SetSega Master SystemGame ConsolePicodrive(RetroArch)
1985Sega System 16ArcadeFinal Burn Alpha
1987TurboGrafx16-Console-SetTurboGrafx-16Game ConsoleMednafen(RetroArch)
1988Sega-Genesis-Mk2-6buttonSega GenesisGame ConsolePicodrive(RetroArch)
1988CP SystemArcadeFinal Burn Alpha
1989Atari-Lynx-I-HandheldAtari LynxHandheldHandy(RetroArch)
1989Nintendo GameboyGame BoyHandheldGambatte(RetroArch)
1990Game-Gear-HandheldSega Game GearHandheldOsmose
1990Neo Geo full onNeo GeoArcadeFinal Burn Alpha
1990Super-Famicom-Console-SetSuper Nintendo Entertainment SystemGame ConsolePocketSNES(RetroArch)SNES9X PiSNES
1991Sega-CD-Model2-SetSega CDGame Console[Picodrive(RetroArch)
1993CP System IIArcadeFinal Burn Alpha
1994Sega-Genesis-Model2-32XSega 32XGame ConsolePicodrive(RetroArch)
1994PSX-Console-wControllerSony PlaystationGame ConsolePCSX Rearmed(RetroArch)
1996CP System IIIArcadeFinal Burn Alpha
1996Nintendo-64-wController-LNintendo 64Game ConsoleMupen64plusMupen64plus-libretro
1998Game-Boy-Color-PurpleGame Boy ColorHandheldGambatte(RetroArch)
2001Game-Boy-Advance-BlkGame Boy AdvanceHandheldGPSP
2001ScummVM 1.0.0ScummVMVirtual MachineScummVM
2004Commodore64 DTV mugshot-x600C64 Direct-to-TVGame ConsoleVice