Arduino Nut

Sorted by Squirrels.

Saturday, 11 June 2016

Sea Dragon. SEA DRAGON!


There's always Sea Dragon.

Loading from SD card, natch. This time on a Video Genie.

Friday, 10 June 2016

Feeding the Genie

The einSDein interface is quite versatile. At its connector it is simply a very basic set of Z80 bus and control lines.

RD, WR,IORQ, M1. A[0..7] and D[0..7].

So it shouldn't be hard to interface to other Z80-based computers, right?

Right!



Here is an issue 2 einSDein wired up to a Video Genie, the UK version of the popular TRS-80 clone made by the EACA corporation. It is variously known by other names such as the Dick Smith System 80, PMC-80, TRZ-80 and so on.

The expansion connector breakout was custom made one rainy afternoon, and while it looks a mess it does the business.

A small machine language program was written to perform a directory listing of the SD card. This was converted into a cassette image format, then loaded using PlayCAS.

Here is a video on arguably the best known video distribution channel in the western hemisphere. It shows the aforementioned program pulling a listing from the interface pictured above.

The more eagle-eyed may recognise that the programs on the card are not Genie programs. This is being attended to, dear reader. I have written a converter program which takes cassette image format files and spits out a raw-ish binary dump which can be loaded from SD card. It only works with 'system' or machine language programs at the moment, but a gander at the Level II ROM reference book will soon see to that restriction.

Armed with a copy of MAME and its fine debugger I will spend a few quality hours stepping through the cassette loading functions to see what I need to do in order to craft a work-alike in order to load BASIC from the SD card.

Wednesday, 8 June 2016

Bit-ing the bucket. A tale of mixed metaphors.

I have a few Mercurial repositories in BitBucket that I wanted to convert to Git, after undergoing something of a conversion myself. After a lot of onlinesearchengining for automated solutions, and being disappointed with the amount of effort involved, I came up with a rather nifty way of doing this without having to install and configure the HG command line tools. Sure enough, the hggit plugin sounds very quick and convenient - assuming you have HG installed. My way is undoubtedly clunky and a bit of a hack, but that's the way I like it, baby!

I will assume that if you want to do this you have a BitBucket account already set up and you have, or will soon have, a GitHub account. The GitHub account is only used temporarily.

Step 0. BitBucket

Rename the convertee BitBucket repo, unless you will give the new git-i-fied version a different name. Click the gear icon in the left hand panel on your repository details page to get to the repo settings page where this can be achieved.



Edit the repo name and click the large 'Save Repository Settings' button.



Step 1. GitHub.

Click on the '+' icon at the top right of your GitHub home page.
Select 'Import Repository'.



Enter the URL of the BitBucket repo you wish to convert.
Give a name to the GitHub copy. Choose anything, it won't live for long.
Begin the import by clicking the big green button.



You may be prompted to enter your BitBucket credentials. GitHub will not store these.



The repo will now be imported.
If there are questions about contributors, you can safely ignore them if you wish.



Step 2. BitBucket.

Select the Repositories button in the menu at the top of the page, and choose the Import option.
Enter the URL of the newly created GitHub repo.
Nominate a new name for the converted repo.
Click the 'Import Repository' button.



Machinations!



And that's it! This process has worked for me quite successfully on a number of projects.

May the Petits Fours be with you.

Friday, 1 April 2016

Wednesday, 7 August 2013

Serial #000000000000000001


Thanks to the folks at OSH Park  the first production prototype has been assembled. It's quite one thing to cut the board yourself and quite another to have something so very purple and gold...

As usual, click to embiggen.


With all the handshaking issues worked out I now have a very fast and solid transfer protocol, able to load a 40K program in 300 milliseconds.

Work is now ongoing to develop the utility ROM to enable two virtual disk drives 2: and 3:. Basic support is done but I'd love to be able to boot from an SD drive. Achieving this will be a challenge if I'm to retain 100% support for the various DOS versions available for this fine machine.


Thursday, 20 June 2013

Loading Einstein programs from SD card

Finally it's working!

http://www.youtube.com/watch?v=VA3agKxpm8k

There are still a few issues around some of the timing for handshaking, but I'll apply the logic analyser once I've found a reproducible test case.

Thursday, 13 June 2013

What did _you_ do in your lunch-hour?

As per the previous post - they were out of raspberry and white chocolate muffins, so...

It's amazing what a coat of paint does for a prototype board! This is the result of a careful spraying of Plastikote 'Creme de la creme' - AKA 'Retrocomputer white'. Ignore the bloom in the picture - that's just an artifact of whatever additional compression has been applied to the JPEG. In the flesh, as it were, the board is a gleaming off-white.


And here's the solder side. I can't wait to get stuffing.


If you click to embiggen then you may see the teeny tiny capacitors - 0402s. They'll be the teeniest thing I've ever used.

I treated myself to a fresh etching solution today as I was short of time. This board went from printer to camera in just under an hour. It would have been about half that if there wasn't a 60 way IDC connector and 44 pin CPLD socket on there :D

At least I didn't drill any body parts today.

If you haven't been following (shame on you!) then you have been looking at the second prototype of einSDein - an SD card interface for Tatung Einstein computers.

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) Max6956 (2) QL (2) RCM (2) assembler (2) avr (2) c64 (2) cadsoft eagle (2) eeprom (2) einSDein (2) mmbeeb (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) 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) oscilloscopes (1) pcm (1) pic32mx (1) porn (1) proto shield (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) 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.