Arduino Nut

Sorted by Squirrels.

Saturday 15 October 2022

So far so good!

And yes, they do all run on actual M5 hardware.

burget time title burger time in-game
carnival title carnival in-game
carnival title carnival in-game
todo: give frogger a title screen :D frogger in-game
gorf title gorf in-game
hustler title hustler in-game
q*bert title q*bert in-game  
q*bert title q*bert in-game  
q*bert title q*bert in-game  
q*bert title q*bert in-game  

Wednesday 12 October 2022

What's old is new again - AKA M5 Madness

 I've been going from port to port recently. It started with Chuckie Egg. A favourite game of mine.

It was ported to the venerable M5 from the Tatung Einstein code. Of all the Chuckies I think this is one of the best as it has the 'physics' of the BBC micro version that I grew up with, but much less of the flicker.

You can read a little about how I went about it here.

Apart from the qualities of the Tatung version I chose it as the port's source because it was on a machine fairly similar to the M5. Z80, TMS VDP, err that's it really :laughing:

The M5 version will appear on all new M5 Multi carts that I make from now on. Yes, I still make them - typically to order. You can always check SellMyRetro (unaffiliated) or contact me directly from there or here via a message.

I enjoyed the porting process so much I looked around to see if there were any other systems that were suitably M5-like. And oh yes indeed, there certainly is one in particular...

Saturday 11 December 2021

Carts on a case by case basis.

I've been making some M5Multi cart cases recently. I'm quite fond of the two-tone look. The PETG filament comes out with a lovely translucent quality. I know many of the M5s out there are the grey-topped CGL versions but everyone deserves a bit of colour in their lives, no?












Wednesday 8 April 2020

M5DEV

I was asked if I made a cart that would enable development on the M5. I didn't but then some time passed and I did.


It's a fairly simple re-work of the Multi-II cart with data and some control lines broken out. And it's red. I've been paste-curious for a while now and I finally caved and ordered a stencil along with the PCBs. I've had a stencil before from the OSH people, hence the board retainers, but it didn't work out for me. This is from JLC and I have to say I'm very impressed with it. I've loved JLC for a long time now and despite trying other houses I keep going back.

I don't have an oven but I do have a very basic hot air rework station. Even at this introductory level  the process is simple and quick. I use a low temperature paste from the bay of E. The board can be pasted up, populated and cooked to perfection with a few waves of the hot-air-wand in a smattering of minutes.


But does it work?

Oh yes.

Here it is connected to an SD-X. A useful little board if I do say so myself. I should build some more really. It's very crudely integrated at the moment but the plan is to refine the interface.

This is the very first time my game BiggOil downloaded to the M5 using the board.

Right now the M5DEV decodes I/O requests into a simple read strobe and the SD-X listens out for it. When it sees the read request it puts a byte on the data bus. Repeat 8192 times. The SD-X is easily fast enough to service the IO requests and the result is an 8KB ROM image loading in under a second. 600mS to be exact-ish. It can go faster, I'm being a little conservative right now.

The plan is to either make a dedicated board to interface with M5DEV or keep it SD-X based. The former idea could be cheaper but more work, and the latter would give more options. I intend to add WiFi via serial using an ESP series chip. This could provide a basic user interface. The work cycle would be compile, boot the m5 into a helper ROM, upload code to sd-x, download code to m5. A round-trip of a few tens of seconds I reckon.

Oh yes and the M5DEV is also a fully-functioning first-class M5Multi-II!

Friday 24 May 2019

Just in case...

Lots of cart owners have asked about shells. Up 'till this point there haven't really been any other options other than cannibalising an existing M5 game cart. This isn't really an option due to the rarity of these beasties. This is why I didn't really cater for casing a cart in the first iterations of the board design, opting for something pleasing to the eye.

Now I have a 3D printer that is all changing. Another M5 fan has published a design for a shell that holds a 'standard' PCB and I have used this as the basis for my own modification

The first attempt is promising. I have re-designed the cart PCB to include some detents that will, with an appropriately designed shell, hold it securely in place.



With a slight alteration to the case stand-offs the previous (pre-May 2019) PCBs can be held, and secured with a tiny blob of hot glue.

I will probably make these shells for those who want one but aren't able to print their own. I will also be publishing the .STL files as a remix of the original design - see the link at the top of the post.

For more information use the contact form at the foot of the page!

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.


Done!

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.


Contact Form

Name

Email *

Message *

This is how we do it

MMC (9) acorn atom (7) zx81 (7) sord m5 (6) arduino (5) multicart (5) Sord (4) tatung einstein (4) Atari 800 (3) Chuckie egg (3) M5 (3) M5Multi (3) c128 (3) sd card (3) sd2iec (3) sio2sd (3) 6502 (2) Max6956 (2) QL (2) RCM (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) Pineapple (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) colecovision (1) compact flash (1) convert (1) dac (1) de-yellowing (1) dev cart (1) eaca (1) efficient (1) einsdein. z80 (1) esp32 (1) esp8266 (1) eye strain (1) failosophy (1) filesystem (1) finally (1) fram (1) french polishing (1) fuse (1) fuses (1) games (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) 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) sd-x (1) sd2mmc (1) seadragon (1) silliness (1) small (1) software master (1) soldering (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) z80 (1) zx spectrum (1) zxpander (1)
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.