Arduino Nut

Sorted by Squirrels.

Saturday, 22 September 2018

Make your own M5 pad from scratch

Here's how the M5 pad is wired. Eagle files linked below.

Here's a zip with the eagle files in.

Ma5ter pad conversion

So that's what a master system pad looks like inside. For what I'll be doing with it today it's absolutely perfect. I'll be re-wiring this for use with a Sord M5.

The M5 joypad circuit needs a distinct common connection for directions and buttons. Having the separate button and pad PCBs is a gift.

So desoldering ensues.

There still needs to be some track cutting, the buttons should have no common connection. I'll need to interrupt the common and re-route it to one of the solder pads stage left.

Scratch 'n' Snipp. I've noticed at this point that the bottom left pads are conjoined. I'll have to see to that.

OK. Pads separated, jumper wire in place and the required diodes fitted. Ready for wiring now, we are ... almost. The fire buttons are connected to UP and RIGHT connections. The pads work by having 2 wires as selectors. By asserting one after the other either the pad or the buttons can be checked. The diodes prevent the buttons from interfering when it's time to read the pad.

OK. NOW it's time for wiring.


Now there was some devilish detail that I somewhat conveniently glossed over in the previous interstitial texts. Like the fact that the copper-exposing-scratching for the jumper wire was done in a very particular place. The surround of the little rubber contacts was carefully avoided. Did you wonder why the line was drawn on the PCB earlier? You did? Give yourself 5 extra points for observation. Very good.

The button PCB sits on a little rectangular plinth inside the case, so the additional wire needed to be placed so it doesn't foul.

With all that done the replacement cable is soldered.

The pad case has an internal cable restraint, very nice. Just make sure enough outer sleeve is cut from the cable so that the serpentine capture of the cable can sit snugly in the allotted cavity.

Very nice.

Wednesday, 11 July 2018

SD-X on MSX. Introducing MSdX!

All-in-One, Plug-n-Play

No bells, whistles, frills or frippery. MSX-1 all the way.

So far it provides an emulated drive A. Standard .dsk files are mounted using a DOS COM file or BASIC extension. Plans are afoot to hack in order to allow transparent access to the filesystem on the micro sd card.


Tuesday, 7 March 2017

Introducing SD-X

It was always my plan - SD for everything. And today we're one step closer. With a single interface board for ... well, everything. All you need to get sd-card powered fun from your favourite Z80 based 8-bitter is an inexpensive adapter board. And suitable code to access the card, naturally.

This is the first production board - ready for one lucky Tatung Einstein owner. We're still a way off full production but with this unit we're one step closer.

Currently X = Tatung Einstein + Tandy TRS80 Model 1. Next up..?

Tuesday, 28 February 2017

M5-Multi-II production pictures

Better late than never - unless you're talking about rescue from a perilous life threatening situation I suppose. Here are a couple of pictures from the first production run, alas nearly all sold out - which is the late bit.

Saturday, 3 September 2016

M5-Multi-II ... II

A couple of tweaks have reduced the size of the board by nearly 2 square inches, meaning that the medium run service from OSHPark is now feasible.

I just need to adjust the size of the printing on the front and move a capacitor so that the EEPROM socket doesn't foul on it but other than that I believe it's good to go!

Saturday, 13 August 2016

Sord M5 - Multicart V2

Finally the ennui has passed and some time was devoted to seeing what I could rescue from the ashes of the original M5 multi-cart.

Long-time readers may remember this board from a few years ago now. It's a complicated little thing, with lots of chips and passives and switches and chips and passives and things. It was a pain to make and to top it all the failure rate was in the high 70%.

There were a number of factors that contributed to this situation and I dare say that I could probably get it working now that I've had some support and debugging help from a friend and fellow enthusiast - Bas at BetaGamma.

The main issue with the board was that the ROM images needed to be stepped through one-at-a-time by pressing the button on the front. It was a chore and the reset method I devised was at best unreliable.

What I really wanted was a menu-driven design which was simpler. So I came up with this.

Simple, eh!

Gone was the PIC microcontroller and its supporting hardware. Added was my CPLD of choice, a Xilinx XC9500XL series chip. 5V tolerant, and in my experience utterly bomb-proof.

The M5's cartridge slot contains a few signals which are very useful - IOWRITE and EXTIOB. The former is what you'd probably guess - asserted when an IO write is in progress by the Z80. The latter is a signal originating in the M5's memory controller custom chip, and is asserted when an IO access is made to a port in the range $70-$7f. Under normal circumstances nothing in the system writes to this IO port.

My plan was to watch for writes to one of the $7x ports and capture the data bus content. This would be used as a base page number for selecting any one of the 64 8K pages of rom in the multicart's EEPROM. Most of the M5's carts are 8k, with the exception of BASICs F & G, and FALC - the M5's spreadsheet.

The M5 has 3 ROM select lines on the cartridge slot. ROM1, ROM2 and EXT-ROM.

ROM1 selects 8k in the region $2000-$4000
ROM2 selects 8k in the region $4000-$6000
EXT-ROM selects 4K in the region $6000-$7000

The CPLD outputs 6 address lines used as bank selection on the EEPROM. The bank number output is a sum of the base bank number set by the Z80, and a 2 bit number formed by ROM2 and EXT-ROM being bit 0 and bit 1 respectively.

With this logic in place and a suitable menu program written and debugged using MESS, I finally had the multicart working that I'd originally imagined.

A fairly simple job of re-working the original schematic and board in EAGLE, another simple job of uploading the design to my favourite short-run fab-house and a final simple job of waiting for 2 weeks and here is the result:

Perfect. Purple.

I just need to sort out a manufacturer for a mid size run of boards then I'll be selling these.

This is how we do it

MMC (9) acorn atom (7) zx81 (7) arduino (5) Atari 800 (3) c128 (3) sd card (3) sd2iec (3) sio2sd (3) tatung einstein (3) 6502 (2) Chuckie egg (2) M5 (2) Max6956 (2) QL (2) RCM (2) Sord (2) assembler (2) avr (2) c64 (2) cadsoft eagle (2) eeprom (2) einSDein (2) mmbeeb (2) multi-cart (2) spi (2) system 80 (2) ufat2 (2) vic20 (2) video genie (2) 6502 second processor (1) 6522 (1) 8255 (1) Acorn BBC Micro (1) Apple 2e (1) Apple ][ 2 two (1) BBC 6502 second processor (1) BBC micro (1) DevicePrint (1) Double Choc Chip Muffins (1) FAT (1) IO (1) Jupiter Ace (1) LED (1) Master 128 (1) PCB (1) PIC (1) POV (1) PROGMEM (1) ST (1) Spectrum 128 (1) antex (1) arcade spinner (1) arduino shield (1) atari (1) atmel (1) bakewell tart (1) beer (1) bird's nest (1) bitbucket (1) brokenated XC special (1) cake (1) cassette (1) cassette interface (1) compact flash (1) convert (1) dac (1) de-yellowing (1) eaca (1) efficient (1) einsdein. z80 (1) eye strain (1) failosophy (1) filesystem (1) finally (1) fram (1) french polishing (1) fuse (1) fuses (1) gaming (1) github (1) glue (1) google chrome (1) heroic failure (1) high voltage programming (1) hot irons (1) if (1) jiffydos (1) joey beltram (1) lego robot (1) library (1) lying (1) machine code (1) matron (1) microcode (1) mmc interface (1) mmc2iec (1) mmm (1) mouse guts (1) multicart (1) oscilloscopes (1) pcm (1) pic32mx (1) porn (1) proto shield (1) purple (1) repo (1) retro computer museum (1) retro hard-on (1) rom box (1) sd (1) sd2mmc (1) seadragon (1) silliness (1) small (1) software master (1) soldering (1) sord m5 (1) spi software master (1) stray capacitance (1) string (1) techadventure (1) test equipment porn (1) ts1000 (1) turtle cheesecake (1) tweaking (1) vc20 (1) video head (1) video ram replacement (1) weewee (1) wingasm (1) wire library (1) wodges of IO (1) xilinx cpld (1) yellowing (1) zx spectrum (1) zxpander (1)

About Sir Morris

My photo

Loves: Old computers, Old Techno, Old ladies. Cake.
Hates: New computers.

Unless otherwise stated all of the original work presented here is:

Creative Commons License
Licensed under a Creative Commons Attribution-Noncommercial 2.5 Generic License.

The work of others where referenced will be attributed appropriately. If I've failed to do this please let me know.