Sorted by Squirrels.

Wednesday, 11 February 2009

MMmm.. Beeb!

I linked to the excellent MMBeeb project in an earlier post. It's been at the top of my project list again as I'm taking a pile of BBC B computers to TechAdventure which I'll be attending at the end of the month. I'm hoping to talk about MMC, old computers and the conjoining of the two. I'll have a table full of retro equipment to show, and some to sell.

As one of the first MMC projects I undertook, the MMBeeb board was a stepping stone that led much further than I expected. Whilst revisiting it in the light of all the knowledge I've acquired since then I've come to the conclusion that there are some subtle bugs with the original hardware. I'm hoping to contact the originator of the project and see what he thinks. I'll post an update here as soon as I've determined if I'm on the right path. In the mean time enjoy the view:





The revised circuit uses the same standard resistor divider as used on every other MMC interface I've ever made and a 3v3 regulator. That's it. It's not the hardware that makes MMBeeb special though - it's the software. It's a stupendously slick DFS conversion that integrates smoothly into a system. It also works with a second processor, which is an indication of the care and attention to detail that Martin has put into his work. And for the few paltry Great British Pounds that it costs for one of these you'd be crazy not to..!

Libraries

It's all go at the moment. Last weekend I attended my first DorkBot London meeting. I must confess I didn't really know what to expect but spent a very pleasant, if cold, day in the company of feverishly soldering artists and makers. I spoke to many people about uFat and the new DevicePrint library. This is some code that allows formatted textual output to a buffer in memory and thus onto some form of persistent storage...


You can get the new library here SMB_LIBRARIES. It adheres to the principles introduced in uFat:- it is lightweight and device agnostic. It should work with any storage medium as long as there is a function available to write a 512 byte sector.

The the code is initialised with a pointer to a buffer, some basic information about the destination sector area, and a writer function. From that point on you are free to use the familiar .print() functions which are best known in their Serial library incarnation. The Arduino base library provides you with so much more than a blinking LED ;)

As usual (1) - there is copious documentation in the form of comments and an example sketch configured to use MMC storage for you to play with. If you wanted to try it out without any devices available then you could always change the write proxy routine to dump the stored data to serial.

As usual (2) - comments welcome!

Toasted and

Friday, 30 January 2009

Chrome Tips

Two chrome tips for you:

1. The Type 55 0.5mm tip for my new favourite tool-in-the-box - an Antex XS 25 watt soldering iron! Ahem, while not exactly chrome, it does go shiny when tinned! I've only ever used my old workhorse cheap-and-cheerful 50 watt iron before now, which as far as I was concerned was as good as it got. So I was dubious when I was given this little gem to try. Imagine my surprise when I saw the difference that this iron/tip combination makes. I must say I'm absolutely astounded. It manages to pump much more heat into a joint than my supposedly more powerful iron that joints form instantly and cleanly. I'll never use another iron again ...

2. If you're having trouble downloading updates to the ever-so-likeable Google Chrome browser due to proxy issues or similar, then try this. Locate the event viewer for your Windoes system. This is usually in the Administrative Tools section of your control panel. There may well be an entry from the update manager which looks like this (click for a full resolution image):



You will see the URL to which the update service is attempting a connection. Cut and paste this into your favourite browser's address bar. In my case the download hoops are presented and I can duly jump through them, ending up with a newly polished chrome tool. Matron!

Double entendre added then

Thursday, 22 January 2009

Say Hello to uFat2

There has been a flurry of activity recently and a number of uFat users have been in touch, which is nice! In response to this I think it's about time that I posted my latest updates. The code is thoroughly commented and should answer most questions.

Most notably I have broken the dependency on a particular device library. Now you can use any code capable of reading 512byte sectors from any FAT formatted device.

Since a number of you dear readers asked about traversing FAT directories I've abstracted this requirement into a core feature. By providing a function callback you can now process FAT directory entries to your heart's desire!

It's still a lightweight library but there may be new ideas here for some beginner programmers. I don't think there's anything that should scare anyone though. Concepts such as pointers to functions and PROGMEM data storage are used throughout, but you should be able to use this as it stands without this knowledge. The example sketch should cover the most obvious use cases of printing a listing of files and updating a file on the card.

I developed this under the latest IDE at time of writing which is Arduino-0012. As usual, I'm happy to help with any problems or queries you might have.

Here's the goods: SMB_LIBRARIES and for pudding: The demo sketch

The code is now hosted on Google Code. You can download it here

Refer to the header files for usage, tips, and perhaps a LOL or two. If you're lucky ;)

Written, admired and duly

Monday, 1 December 2008

Goodbye yellow brick!

I've been reading about de-yellowing old equipment. Quite a few of my older babies have significant discolouration issues. Until recently I followed with the received wisdom, that once a plastic item has yellowed there's no going back. Chemical changes within the plastic produce the effect, and no amount of scrubbing will ever return your creamy commodore, beigey beeb or tawny tandy to its former glory. So imagine my surprise when I stumbled upon this wonderful posting over at the vintage computer forums. 

Old computer enthusiasm and chemistry wizardry have come up with a recipe for undoing the supposedly permanent effects of UV and fire retardants!

I'm definitely going to try this out, as soon as I can get hold of the requisite chemicals...


Saturday, 15 November 2008

For your eyes, ears only. Oh, and everyone else's too.

Intrigued by something I've done? Want some? Just ask. I can't post every bit of code that I write, every schematic. But if you want some help or encouragement then just contact me. I'm always pleased if I can be of some use.

Switch.

I was working a few extra hours this weekend as my code finger was a bit slow last week. It's not often this happens, unlike in my previous life - scratch that - sentence, in the games industry (I'm not bitter - just astounded at how long it took me to realise how ugly it is). Bizarrely I had a camera with me so I took the liberty and a photo.


You know that you can click the pic for a higher resolution version, yes?

The museum has grown a little.. The master has been swapped out for a regular B. It has got a second processor attached though, and you can see its tiny appendage - an MMBeeb interface. Marvellous stuff by Martin Mathers. It's sitting on top of, yes it has to be said - a cardboard box - and quite the largest piece of retro peripheral that I own. A dual 5.25 inch floppy drive. Look at the size of that thing! It has an unbelievably long cable attached too - 10 metres at least - which by any stretch of the imagination shouldn't work. That's quantum physics for you! Probably.

OH! How I wish that Jupiter Ace was mine, alas it's not. It belongs to Mr Cliff. B'stard. ;) This one has a few yellow marks but it still works. Especially after the keyboard contacts got a firm rubbing with an eraser.. Win! Only about 8000 of these were sold. We loaded up some software a while ago and it was fairly obvious why this was a niche machine. If you come across an emulator then try 'fish and flutterer'. It's pure class.

Thursday, 6 November 2008

It only takes a Jiffy

As I now have the uncanny ability to burn EPROMS using only the power of my mind and, well, err, some equipment, I needed to try it out with something.

Since my SD2IEC (currently broken) supports the JiffyDos turboloader, I decided to upgrade my C= machines with new kernels (Or is it kernals? The two spellings seem interchangable in the world of Commodore, but I'll stick with the former). This upgrady action might give me the impetus required to fix it.

The '128 was easy enough, the ROM chips used were pin-for-pin compatible with modern 27c types. The VIC needed a small adapter board and some leg-bendy, jump-wiry action. The real fun started when I cracked open the '64c. This later model of '64 has serious cost reduction issues - like a lack of sockets for ROM chips. At least the chips they used were, like in the '128 model that followed, pin compatible with modern EPROMs.

Undaunted I considered desoldering the chip and adding the socket, but that wouldn't have been hacky enough, would it? :D

So I got out my side-cutters and removed the power leg. Covered the wound with a small sticking plaster (band-aid for our international readers) and patched a wire from the PCB stub to the power leg of my EPROM.


Next I bent the EPROM's pins slightly under itself, giving it a bow-legged aspect that I found rather pleasing. This newly lamed chip was then spring-loaded piggy-back fashion over the top of the incumbent ROM.


Like so! Isn't that sweet :) It's giving the other one a special cuddle!

I powered the old girl up and ... nothing. Black screen. Panic sets in. Turn it off and on again. Despair. Slump back onto my ample rear and hello! What's this?! I hadn't been waiting long enough for the machine to boot - I forgot that they take a second or two. It worked! Of course I knew it would..;)

I briefly considered holding the new chip in place with some gaffer tape, but that didn't give me a warm feeling. It would also have meant that the gaffer could have escaped. And we didn't want that either. So I decided a semi-permanent arrangement of solder to two diagonally opposite legs would do the job.


Yes I know it's a blob, but it was early in the morning!

Contact Form

Name

Email *

Message *

This is how we do it

MMC (9) acorn atom (7) sord m5 (7) zx81 (7) multicart (6) arduino (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) development tool (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) game development (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.