Gotek+D=Virtual Spectrum Floppy Disk

In the not too distant past, I was made aware of the Gotek Floppy Drive Emulator. This device, very cleverly, stands in as a real hardware floppy drive. I’ve been using a 3.5in floppy drive with my Datel +D Interface for a while but I have found that floppy disks can be a little tempremental due to their age, and I’m not surprised. I bought a batch from eBay and they range from usable to completely useless. Until I was given a box of new-old stock DS/DD disks by my good friend Russell, I wouldn’t have relied on any of them.

Enter the Gotek, the ideal solution. Instead of floppy disks, you use a USB memory Stick that can hold up to 1000 (000-999) virtual disk images. Great! I had to have one. I did a bit of research and, guided by Keir Fraser, I bought the cheapest Gotek drive I could on my favorite online auction site (eBay).

Whilst I waited for the Gotek, I did some research on how to enhance it. I already knew you could add a nice OLED Display, a Rotary Encoder and even a speaker if you wanted authentic disk drive sounds! Another mod was to make a hole for the unused power LED concealed in the case.

I found a post on an Amiga Forum page by Fook42 (Rene) that had details of the Rotary Encoder wiring. Rene kindly gave me permission to repost it here.

Rotary Encoder on Gotek Drive

Rotary Encoder on Gotek Drive

This seemed pretty easy and uses an easy to obtain module. I ordered one, again from eBay (Search for KY-040 Module), and got on with other research. Kier Fraser has written some really nice firmware for the Gotek drives. I understood that the Cortex firmware was no longer supported and HxC had a charge associated with it. I also knew that Kier’s firmware supported the OLED display modification which was a feature I particularly wanted.

Programming the Gotek drive can be done in two ways. You can either use a non-standard USB ‘A’ to USB ‘A’ cable, which I didn’t have, or use a Serial to USB adaptor. Zeb Elwood on Facebook said “(it is easy) to make one by cutting up two USB cables and joining the color-coded wires together, simple as there’s only four. So many products come with USB cables as they’re so cheap.” However, I plumbed for the second option since I had a few Serial to USB adaptors from programming Arduinos etc.

The Gotek arrived in a few days and I had already watched several YouTube videos on how to flash the new firmware by that time. There are plenty to choose from. The one I concentrated on showed flashing the Gotek with Kier’s ‘FlashFloppy’ firmware. I have flashed firmware in devices before so I (thought) it would be plain sailing. However, I did have a few issues. Perhaps one of my connections wasn’t quite making the cut but the connection to the ST Flash Demo software was very flaky and took several attempts to upload Keir’s firmware. However, it did work eventually in exactly the way the YouTube video shows. Additionally, the same video also shows how to fit the OLED Display.

Having flashed the new firmware, and since you have to open the case to solder headers in, I connected the OLED display according to the details in the video and connected power from an adaptor that came with an external hard drive cable. I added a dual floppy drive power splitter to enable this. I was very pleased to see the display reporting ‘FlashFloppy v0.8.7a’ I went on to use the guide image and connect the rotary encoder module. This also worked first time! I was on a roll.

I now compiled a memory stick with files I had obtained on the HxC site. There is a page which holds a set of quick install disk images. Luckily for me, there are versions for the Spectrum. The file I used was ‘EMPTY80D.hfe’ which I took to mean 80 Tracks Double Sided. I copied the file over to the memory stick and plugged it into the Gotek. After a few seconds, the filename EMPTY80D.hfe was displayed. The next part required a little cable and jumper swapping.

First, I configured the Gotek as drive two with the jumper in the rear, and the real floppy drive as drive one by plugging it into the last plug on the floppy cable. I powered up and booted the +D operating files as normal. I then formatted the virtual disk image in the Gotek. I knew I would need some more disk images so I pressed the rotary encoder to activate the EJECT (a feature I found by accident) and removed the USB stick and placed it in my PC. This allowed me to make several copies of the freshly formatted disk image. I made ten in total.

Gotek drive with first disk image

Gotek drive with first disk image

I then renamed the first image ’00-PlusD-SYS.hfe’. and then, after ejecting the USB stick from my PC, I placed it in the Gotek drive and once again, pressed the rotary encoder to enable the stick. It read the filenames in. I then used the rotary encoder to run through the files until I found the image I had renamed. I then copied over the +D system files. It was then time to power down and make the Gotek disk one and the floppy drive disk two. This entailed changing the Gotek jumper again and swap the plugs on the rear of both drives. Powering up I could then boot the +D files from the Gotek virtual drive. A rather long winded process whch is easier to do than to describe!

Now, I copied a couple more disks from actual disks to virtual disk image and renamed them using my PC. When I plugged the memory stick back in the Gotek, I found that the system file disk seemed to have become corrupted, and the Spectrum reported a ‘Sector error’ upon booting or doing a catalogue for the image. It was easily fixed by re-copying the files across after formatting the image but it happened again. I swapped to an SD-Card and USB adaptor which seemed to fix the issue. I suspect that the memory stick I started with is either faulty or imcompatible with the Gotek. I have had no issues with either the SD-Card and adaptor or the new low-profile memory stick I have now got.

Having now set up the drive and disk images, it was time to modify the drive physically. I had recieved the slimmer OLED display by then and I swapped the larger one out. I had noticed that the display had an auto-off procedure enabled. I prefer a constant display. I posted my progress in the FlashFloppy Facebook group and Keir pointed me in the direction of the usage/config file section of the FlashFloppy Github Wiki. The config file can hold lots of options, one of which is for the display time-out. If you set this to 255, it is constant. I also found an option to use a smaller typeface which, since I was going to use the slim display, I also added to my config file.

Next, it was time for some drilling. First of all, I wanted to utilise the red power LED, usually hidden inside the case. I lightly scratched a line across from the middle of the existing LED hole and then upwards from the middle of the left button hole. This gave me the position to drill a suitable hole for the LED. For the rotary encoder, there was already a spot marked on the front of the case. I’m not sure if this was a coincidence but it seemed to be in the perfect place. What was clear though is that the fixing nut of the rotary encoder would partially obscure the Gotek logo in the top right hand corner of the front panel. So I took a craft knife and very carefully shaved the logo off. I then successfully drilled a hole suitable for the rotary encoder.

I then prepared the rotary encoder module. The version I purchased had the resistors mentioned in the guide image. For this reason I wanted to maintain the module as much as I could.

Rotary Encoder Mod

Rotary Encoder Mod

For speed, I simply disconnected the two far pins on the rotary encoder and bent it forward. This was required because the Gotek case wouldn’t allow it to fit as was. I connected two flying wires to the connections. In hindsight, I should have insulated them but I was eager to finish by this time. I will make sure to do so in future.

Rotary Encoder Module Installed

Rotary Encoder Module Installed

Next step was to install the OLED Display. Again, I wanted a quick solution so I chose to use hot-glue to affix the display to the front of the case. I found that the previous seven segment display was fixed in place by two mouldings on the rear of the front panel. I carefully shaved these off with a chisel. This allowed the display to get close to the front of the case. I did find that the residual solder on the header was preventing the display from getting completely flush but this was solved by using cutters to shorten them down. To make sure the display sat at the right level, I cut a small piece of balsa wood to fit in under the display.

OLED Display Installed

OLED Display Installed

Now I had carried out all the mods, I realised that the case lid would need some further work. Because I was going for speed, I was going to leave the DuPont cables I’d used for testing in-situ. I have marked two places where I have cut the case and removed material in the next image.

Gotek Lid Modifications

Gotek Lid Modifications

At the back, I required a large slot to allow the DuPont plugs to sit in the jumper positions and at the front, the display holder required removal. However, after this was done, the lid fits back where it should do.

Completed Gotek Drive with 3.5in Floppy

Completed Gotek Drive with 3.5in Floppy

Using the +D interface, it is usual for the disk light to be on after having been accessed. A finishing touch will be a knob for the rotary encoder. I have ordered a suitable one. now the fun begins trying to find a case for both these drives, although I have been told that Farnell do a suitable model.

Finished Gotek Drive and Low Profile USB Memory Stick

Finished Gotek Drive and Low Profile USB Memory Stick

FlashFloppy 0.9.2a Firmware flashed and knob fitted

FlashFloppy 0.9.2a Firmware flashed and knob fitted

Both drives work well with the Sinclair Spectrum Plus and +D Interface. Many thanks to all the people who helped out with advice and encouragement. A special thanks to Keir Fraser for his great firmware and Kris Cochrane for the informative YouTube video.

Posted in Modding | Tagged , , , , , , , , , , , | Comments Off on Gotek+D=Virtual Spectrum Floppy Disk

DIY Microdrive Cable

Recently, since I’ve been using my ZX Microdrives again, I have found that the cable connecting the Microdrive pair to my Sinclair Interface One has become a little unreliable. I have seen second hand cables for sale but I couldn’t be sure they were in a similar state. There is Retro Computer Shack selling new cables via their eBay shop complete but, me being me, I wanted to have a go at making my own. The advantage being, I could make it as long as I required.

I had some ribbon cable in stock. I bought a reel of RS Rainbow 24-Way IDC on eBay ages ago. So the only thing left was to find the connectors. The particular IDC connectors turned out quite hard to find but I persevered and eventually found some on Amazon. They arrived in a reasonable time so I set about making up the cable.

The first step was to remove the pins where the ‘key’ would go. This was as easy as counting three along from one side and pulling the two pins in that position out from the rear of the connector (remove the cable clamp carefully first). Note that this is opposite to the edge connector type that I used for the Microdrive Through Connector Where the pins are removed from the front.

After this, I simply pushed a bit of stripboard in to the resulting gap to make a key and then clamped the connectors to the cable using my bench clamp. Finally I cut the small over-spill of cable off with my Olfa knife.

Making the Microdrive Cable

Making the Microdrive Cable

In this instance, I roughly doubled the length of the cable. Since the most stress happens when you remove or connect the Microdrive units. The extra length of cable slack allows you to push the connectors in or remove them without resorting to pulling on the actual cable. It also ensures that if the Spectrum/Interface One gets moved, the Microdrive cable is not stressed either.

Microdrive Cable In Situ.

Microdrive Cable In Situ.

This was a simple project once the connectors were found but it does depend on having a good clamp or vice to press the cable clamps home properly.

[UPDATE 31st Oct 2017]
Tired of snapping bits of breadboard to make the keys, I looked for an alternative. After much searching I hit upon the idea of using 51mm plastic coated paper clips.

51mm Coated Paper Clips

51mm Coated Paper Clips

I have found a screwdriver of 5mm shaft diameter to be perfect for forming the ‘C’ shape bend in the paper clip material. I push the rounded end into the edge connector to see how long to make the ‘legs’ and then cut them accordingly. I deliberately cut them 1mm or so too long and then compress them into the edge connector with the same vice I used to do the cable. This has the effect of spreading the paper clip material out in the edge connector and making a good friction fit. It seems to have worked, I’ve had no trouble with the cable as yet. The fact that the paper clips are coated means there is less chance of a short-circuit if the key came adrift, although metal only versions would work just as well.

Posted in Construction | Tagged , , , , , , , , | Comments Off on DIY Microdrive Cable

Forgotten Code – Spectrum Sprite Hacker

Way back when; in the Sinclair Spectrum heyday, I used to do lots of hacking. I much more enjoyed diving into the machine code of games and making them do things outside of their design rather than actually playing them. A particular one was Room 10, a 3D tennis type game which my friends and I loved but the writers gave a woefully short time to play a round. I hacked this to exted it to a more pleasing length of fun.

Another thing I loved to do was to collect game sprites and custom character sets. It was possible to look through the code and find the initialisation and work out where the graphics and character set were from there. This could take a long time. Early on in my hacking carrear, I worked out that a visual way of finding these assets would be much more fun and a lot easier. I set about programming a simple tool to allow me to do this.

The operation of this tool does depend on being able to load the code in lower memory (25500). The reason for this is that I used to use an AT&Y SPEC-MATE to snapshot programs to microdrive. This device saved several files, two of them being the main blocks of RAM. Unlike the Multiface which saves one large block. This allows loading of each half of the program code to be loaded and looked at separately. I used a similar technique to hack games using the Devpac monitor and later Laser Genius for the disassemblies.

  • Sprite Hacker .ASM Pasmo 0.5.3 source
  • Sprite Hacker .TAP Precompiled Binary

I’m not a professional programmer, nor have I ever been, so the code isn’t exactly the peek of elegance. It does work however and it was fun to re-visit it, stick a few comments in and compile and run on a Spectrum Emulator (Spin in this case).

Sprite Hack

Sprite Hack – Knightlore Lives Icon (Inverted)

As you can see in the screen shot above, the interface is pretty basic. The keys are as follows:

  • Q and A – Page up and down
  • O and P – Increase and Decrease width
  • S and W – Increase and Decrease height
  • K and L – Line up and down
  • M and N – Byte up and down
  • C – Set address
  • B – Drop to BASIC (or calling program)
  • E – Toggle edit mode
    Q – Cursor Up
    A – Cursor Down
    O – Cursor Left
    P – Cursor Right
    Space – Set/reset a pixel

The idea is that you find your graphic or exclamation mark in the case of a character set and you manipulate the display so that the first byte is at the top left of the grid. This gives you the RAM address. If you then change the size of the grid (W & S), you can find out how many bytes the graphic takes up in RAM. For character sets, the size is usually 768 bytes. It’s then a case of dropping to BASIC (b) and saving out the graphic with the parameters you have found.

It has been great fun revisiting a program I wrote 26 years ago. I am very glad I made a tape backup of the source. I have found another program which I will tidy up and post.

[UPDATE]

As I said, I had found another of my programs, a Tape Header Reader, again a tool I used a lot at the time. It is complete machine code and uses ROM routines to load the header and then evaluate and print on the screen what is found.

  • Spectrum Tape Header Reader .ASM Pasmo 0.5.3 source
  • Spectrum Tape Header Reader .TAP Precompiled Binary

To use this code once compiled, CLEAR 25499, load the binary and RANDOMIZE USR 25500. This will initiate one reading of a header. If you wish to do more, just write a simple BASIC program to wait until a key is pressed (the routine clears the screen) and call it once more.

Tape Header Reader

Tape Header Reader

Both these pieces of software I have placed in the Public Domain. Feel free to use or distribute them how you wish.

Posted in Hacking | Tagged , , , , , , , , , | Comments Off on Forgotten Code – Spectrum Sprite Hacker

Fun with LensLok

Today (19th Oct 2017), a question was asked in the Facebook Group ‘Spectrum For Everyone’ by Seamus Doyle of what our experiences were of the LensLok technology. This clever device was a special lens, made of plastic, which you would fold into an ‘n’ shape and place over a scrambled code on your screen. You would then see the code in plain characters through the Lenslok device and type it in, unlocking the software.

LensLok In Action [Image by David Sapier]

LensLok In Action [Image courtesy of David Saphier]

Personally, I had no issues with the titles I owned; Elite, Tomahawk and Art Studio. I did hack Art Studio so that the LensLok part was skipped because I used the program quite a lot back in the day.

Having answered the question in the Facebook Group, I wondered if there were any references to the LensLok online so I did a simple search on Google and it turned up a LensLok emulator called Lenskey written by Simon Owen. This is a great piece of software and only 12K in size (including source). I believe it is used primarily for Spectrum Emulators. It works by decoding the region of the screen that you click and drag from the middle of the code. So, you simply run up your favorite flavor of emulator, load your LensLok’ed software and decode the image on the screen to run the software.

I was curious to see if it would work with a real code. I fired up my trusty Samsung Spectrum Plus and loaded the Art Studio TZX via my TZXDuino. Up came the request to check the OK that the LensLok software always starts with and, once I pressed ‘Enter’, the actual code. I snapped a picture of both the OK and the code with my iPhone and transferred the images over to my PC. I then previewed the code image and reduced roughly it in size to that of Spin, the Spectrum emulator I use most. I then clicked on the LensLok emulator to activate it and then click ‘n’ dragged from the center of the LensLok image to the right hand lower side. This is the result:

LensLok Test

LensLok Test

A perfectly readable code. As it stood, the Spectrum had reset by the time I saw the code which is what the LenLok software does if it doesn’t get the code input fast enough.

Still an interesting experiment and the Lenskey software comes with source too. Andrew Beer asked in the Facebook Group if there was anyone who could program an iOS and/or Android app to do the same. That would make using real codes a breeze.

Posted in Blog | Tagged , , , , , | Comments Off on Fun with LensLok

Microdrive ‘n’ Through

Having purchased and fitted the excellent vDrive ZX to an old Microdrive case, I now had the question of how to connect my working Microdrive to the vDrive. I’d bought the Microdrives separately and neither came with a through connector. I had a look around and realised that I could fashion one from a standard rear edge connector. The pin pitch is the same standard 2.54mm.

I borrowed an original connector from my friend Russell to check if the connections are straight through (gender reversers connect opposite pins). I used a multi-meter on it’s ohms (resistance) range to check and all the connections are straight from one side to the other. With that confirmed, I set to work making my substitute adaptor.

Pulling Pins from the Edge Connector

Pulling Pins from the Edge Connector

I used the original through connector as a template and pulled out pins from the long edge connector I was going to cut up. I started with one set of pins at the end and worked my way along. The reason for this is that cutting through the pins is difficult, noisy and can send the hacksaw blade off course. The method of pin removal I use to do this is to use a pair of tweezers to push each pin towards the center line of the connector from behind and then hook the end of the tweezers under the loop of the pin to pull it out. Be very careful not to pull more than one pin out at a time.

Pins Pulled

Pins Pulled

Once I had pulled all the necessary pins out, I set to work cutting the connector up. I used a bench mounted vice to keep the connector steady whilst I cut. A clamp on a bench would have worked equally well.

First, I cut the end off using the barrier between the pin sections as a guide for the hacksaw. I cut it nice and slow and let the saw do the work. On the next cut, again I used the barrier as a guide to cut as close to the pin chamber as possible. This process left the thin wall of the barrier intact. Continuing, I cut off the excess from the next connector before finishing with the last cut to separate the second part of the through connector from the edge connector strip.

Connector Cutting Diagram

Connector Cutting Diagram

Both the cut pieces needed to be tided up. I used some ‘pound shop’ sand paper. I did this roughly at first because I knew I was going to sand them further once the connector was soldered together.

Sanding the Connectors

Sanding the Connectors

Two Connectors

Two Connectors

Now the connectors were ready for connecting together. To make the connectors line up, I put a very small bend on the pins at the rear of the connectors. On one connector, I bent the pins in and on the other, I bent the pins out. This only had to be fractional and is just to allow the connectors to join in parallel. If you don’t do this, the connectors will be offset by a small amount. Although in practice this doesn’t affect operation of the drives.

Slightly Bent Pins

Slightly Bent Pins

I fixed the two connectors together with a piece of insulation tape to keep the two connectors stable whilst I soldered the end connections together. I Made sure to line up both key gaps together. You would be surprised how easy it is to get one inverted (Almost caught me out). Once the end pins were done, I removed the tape to gain access to solder the rest of the connections. Again, a clamp or blue tack could be have been used instead.

Taped Connectors

Taped Connectors

I then carefully soldered the pins at either end of the connectors, being careful not to use too much solder. I then checked the connections with an eye glass to make sure they were good before I removed the tape and soldered the rest of the connections.

Soldering Finished

Soldering Finished

As you can see, I needed to give the ends a little more work. I gave the ends of the combined connectors another sanding and cleaned off the resulting dust. The last step was to add the key. I find it easy to use a bit of strip board for this purpose. It breaks readily and you only need a small bit to do the job. A strip of three holes width is adequate. Once I had the strip, I inserted it into the connector as far as it would go and snapped it off close to the connector as I could.

Snap-Off Keys

Snap-Off Keys

I usually secure the strip board slice with some glue to prevent it from falling out later on. Connecting the drives together is exactly the same as you would do if you used an original connector. The only difference being that the drives aren’t flush together and you can’t connect the underside plate for stability. I have found that, in use, this hasn’t mattered since the edge connectors are a tight fit.

Through Connector on First Drive

Through Connector on First Drive

Drives Together

Drives Together

As you can see from the image, the drives stand apart a little but this doesn’t affect the operation at all. I do use the connected drives on a flat surface though.

Hopefully, this is a useful stop-gap whilst I source my own original connector. Or perhaps the home made connector will serve me well enough to keep in use.

Posted in Construction | Tagged , , , , , , , , , | Comments Off on Microdrive ‘n’ Through

vDrivin’

I was extremely lucky to secure one of the first vDrive ZXs when the creator, Charlie Ingley put them up for sale on Sellmyretro.com The sale came at just the right time, since I had just got my Interface One and one Microdrive working with the help of my good friend Russell. Taking his advice, I re-capped both the drives that I had but only one was operational. However, due to the pending release (at the time) of the vDrive ZX, this didn’t matter so much.

The package arrived from New Zealand in good time (about a week and a half). The contents were well packed and came with a note explaining where to get the information to install and use the device. The vDrive components that Charlie supplies are retro-fitted into an existing drive case.

vDrive ZX Kit of Parts

vDrive ZX Kit of Parts

The first step in installation is to strip the old drive down. Charlie’s instructions give clear guidelines with regard to this. Having re-capped the boards inside the non-working Microdrive, I had no trouble, once again, opening the Microdrive’s case and preparing it for a vDrive.

Once stripped down, there is a spacer supplied by Charlie to fit. This is very easy and just slips on top of a post near the front of the base.

Spacer Fitted

Spacer Fitted

Once the spacer is in place, the first part of the vDrive can be fitted above. This is secured by two pan-head (rounded) screws towards the rear of the case in the two spots the original board was secured to. I ensured the board was parallel with the case by first tightening up the first screw just before it bit, then secured the second screw before finally finishing the first screw off.

First Board Fitted

First Board Fitted

The second board, that holds the SD-Card, piggy-backs the first board by being plugged into the DuPont style header. The header is two pins too wide but it is easy to center the top board so as to have a pin spare either side which is how Charlie explains it in the installation instructions. It is pretty obvious since that centers the SD-Card board to the case too.

Top Board Fitted

Top Board Fitted

The next part of assembly I found a little finicky. Not for any reason other than the LED hole in my Microdrive case was a touch too small to receive the new LED. However, it was a simple case of enlarging the hole. I do recommend you try the fit before you make any changes to your case as there is a small tolerance, and you may find the LED fits without any modification being required at all.

Using a pair of sharp scissors, my trusty Dahle ones I have had for many years, I opened them up and using the pointier side, I VERY gently enlarged the LED hole. If you have this issue, it is essential that you just take a minute sliver of plastic out of the hole to prevent the LED from floating around and not being an adequate friction fit.

Pushing the LED home

Pushing the LED home

After starting the LED off by hand, I gently pushed it all the way home with a flat screwdriver, being careful not to push on the wires going into the LED.

Now to close the case. Being careful to give enough clearance to the LED wires for the top screw, I closed the case and used the supplied pair of flat Philips screws to fix the top to the bottom.

Securing the Top Screws

Securing the Top Screws

Lastly, for me, there was a single long screw to fit on the base. I flipped the case over and did so. In Charlie’s instructions, the plate that is normally used to secure two Microdrives together is removed before the installation begins. My case had a broken tab and therefore didn’t require removal of the plate.

Securing the Bottom Screw

Securing the Bottom Screw

That completed the assembly. Nice and simple with ‘No Dramas’. I have kept the internals of the Microdrive and the old screws in case I can further service it later on or use it as a parts donor to fix another drive.

vDrive ZX Installed

vDrive ZX Installed

Now to connect the vDrive to my Spectrum. I chose my trusty Samsung issue 4S to try it out. I slid the Interface One under the Spectrum’s case as is usual and then connected the vDrive in place of my Microdrive.

Firing the kit up, and pressing ‘Run’ crashed the machine. The lights on the vDrive did react, flashing red-green-red-green but afterwards, the Spectrum screen remained white with no cursor. I tried the setup with an alternative machine with the same results. I had a feeling I knew what was wrong so I got my other Samsung out of storage. This one I had refurbished including replacing a faulty Z80 chip with one from the excellent Retroleum. This machine worked perfectly with a ‘Toolkit installed OK, 0:1’ report given and a short audio confirmation pip. As I suspected, the issue was a faulty M1 line on the other machine’s Z80 (which will require replacing!). Charlie has already resolved this issue and it will be fixed in a future firmware update.

vDrive ZX In Use

vDrive ZX In Use

When you are preparing to use an SD-Card, you need to initialise it by typing .sdinit This is part of the toolkit on board the vDrive. The prompt ‘Format & initialise SD [Y/N] ?’ is given. Replying to this with a lower case ‘y’ currently reports ‘OK 0:1’ but actually does nothing. Replying with a Capital ‘Y’ using the Caps Shift key initialises the SD-Card correctly. I informed Charlie about this issue and he replied that he had included it as a feature to prevent mistakenly formatting a card. However, he feels it is redundant now and will remove it in a future firmware revision.

The initialisation automatically creates a single virtual Microdrive slot on the SD-Card. To this, you need to add an image. This is a two stage process. First you issue a .mkimg “filename” command which creates a .mdr file with your supplied filename. The next step is to allocate the slot with the image. This is carried out using the .ld drive “filename” command. Replace ‘drive’ with the virtual drive number you wish it to be. In our case, it will be ‘1’ since there is only one slot currently available. When you have done this, you can do a .ls to list the SD-Card contents and a .li to list your current drive.  Lastly, you will need to format the virtual drive for use. This can be done with the usual Spectrum FORMAT “m”;drive;”filename” command or Charlie’s rather shorter .f drive “filename”. Depending on the Interface ROM version you have, you will either end up with a 127K formatted virtual drive (ROM V1) or a 126K virtual drive (ROM v2). After formatting, a normal CAT drive will give you the name of the virtual drive and the capacity.

You can then use this virtual drive just like a normal Microdrive. All the standard Microdrive commands should work and, because the vDrive acts as a Microdrive emulator, the Interface one cannot tell the difference between a regular Microdrive and a vDrive ZX.

Another feature of the vDrive is that you can have multiple ‘banks’ of configured drives. This means that on the same SD-Card, you can have a bank specifically for programming, another for gaming etc. You can also use virtual drive images in multiple banks. So, if you have an image you always want to be in slot one, just allocate it each time you make a new bank and it will be there.

One of the things that did catch me out was when I came to make a further image and allocate it. I had made an image and I was trying to allocate it to drive two (you can have up to eight virtual drives in one bank). I hadn’t created another slot to allocate it too. Only the first one is created automatically. The remedy for this is to issue a .mkdrv num, num being the number of slots you wish to create. You can confirm they have been created with a further .lv command. After this, you can follow the process for allocating the new image to the new slot as documented above.

Charlie has created a fabulous replacement for the Microdrive in the vDrive. Although there are a few ‘gotchas’ to be aware of, I believe this comprehensive system will be very popular. It is really easy to use, once you have used it for a short while and gives limitless storage and great replacement for the original Microdrive Cartridges which are sadly showing their age.

One of the first things I did was to find my copy of the original Microdrive Demo Cartridge and use the excellent copier program to back up my current cartridges to SD-Card. Since the SD-Cards can be read and written to with a PC/Mac, I also did a further backup on my PC.

Many thanks to Charlie Ingley for creating this great piece of hardware and also for helping me out with my first steps in using it.

Posted in Review | Tagged , , , , , , , , , , | Comments Off on vDrivin’

Content is King

There is an oft quoted law that describes my situation. It shall remain un-named in case it offends anyone! However, when I say I was all geared up to post lots of info on this site and suddenly, things many and varied popped up, seemingly out of nowhere to occupy my time.

I have decided to post a few quick lines to assure anyone who has managed to find the site that there will be more ‘stuff’ here in the near future.

I can mention a few. I have designed an updated Composite Output PCB, details of which are on the Projects Page. The newer board simply adds a switch so that you can build all three options on to the board and see which one works best with your monitor/TV without any re-soldering. I haven’t had the new board fabricated but I’m willing to publish it since it’s a very small upgrade.

Spectrum Composite Video Mod v2.00

Spectrum Composite Video Mod v2.00

I have also designed Spectrum +3 Composite Output board which I have successfully taken to prototype. When attempting to try it out, I have found that my +3 has some other sort of video fault which prevents it from working correctly. More investigation requred.

Sticking with +3s; A long time ago (2002) I came across a design for an IDE interface for the +3e. I loved this idea, a Spectrum with a Hard Drive, even if this particular interface only gave you half the capacity of the drive. At the time, I was just getting into PCB design and with a dodgy version of Ares/Proteus, I designed a gosh-awful board covered in links (since I couldn’t produce a double-sided PCB at home). However, it worked! I was very chuffed with myself and sent the design, along with an internal version to Garry Lancaster who kindly published it for me. I included images of my interface captured with the then brand new Casio QV-10 Digital Camera! You can still download the original archive from the WOS page. Having gotten first into Eagle and recently KiCad, I have updated the design and Garry has once again published it on the same page.

8-Bit IDE Interface by Pera Putnik and Garry Lancaster

8-Bit IDE Interface by Pera Putnik and Garry Lancaster

So, there are a few things going on. Even more behind the scenes, all of which will appear in due course.

Posted in Blog | Tagged , , , | Comments Off on Content is King

Welcome

This site is a companion site to www.ProjectAVR.com At the time I started that site, my focus was Atmel AVRs (Now owned by Microchip) and associated technology. I am still very interested in AVRs and I will continue to use them but I have concentrated on Sinclair Spectrums more recently. this is mainly due to the impending release of the bare Sinclair Spectrum Next boards, of which I pledged to.

I have designed several Spectrum related projects, some of which I haven’t published yet, others which currently are on ProjectAVR. These will be moved in due course.

On this site, I hope to present my own designs for Spectrum associated hardware and also review others designs and software. I may also do the occasional news article about anything that catches my eye.

Welcome to ProjectSPECCY

Posted in Intro | Tagged , , , , , , , , , , , , , , , , , | Comments Off on Welcome