1 April 2018

Easy add-on Projects for Spectrum ZX81 & ACE (Redux): Part 1

Leave a Comment
In the previous blog entry I left off before starting design work on the Decoder Board. The board is an essential build before attempting any of the 'Easy add-on Projects for Spectrum ZX81 & ACE'. In reality it's the first project of the book, even if it's not fully described until Appendix A.

First up I needed to transfer the circuit diagram provided in the book into Fritzing and build up a new circuit board compatible with the ZX81. I really could have made life easier for myself simply by printing the circuit board designs included within the book. My plan however is to use surface mounted ICs' instead of through hole components, both modernising the design and shrinking the boards footprint.

Decoder Circuit as presented in Easy add-on Project for Spectrum ZX81 & ACE

My intention was also to follow the original Decoder Boards layout reasonably closely. Ensuring any projects described by the book would still be referential to the end product. My main concession was to design around the shorter ZX81 edge connector only. This does not prevent a ZX Spectrum from using the device as a Spectrums' BUS is compatible with all signals used by the board.

To make life somewhat easier I combined the top and bottom layers of the circuit board layout presented in 'Easy add-on Projects' pages 166-167 into one image. Using the composite picture as a guide I began the layout my board. I'm quite glad I took this route as I noticed a couple of minor errors I'd made in transcribing the circuit diagram. More interestingly however the described circuit didn't seem to match with the board layouts provided by the book.

Composite Image of top and bottom board layouts as taken from the book.

A couple of traces from IC2 to IC4 appeared to be different between the books board layouts and circuit diagram. This was more than a little confusing. I checked the Jupiter Ace board layout (also in the book) against the ZX81 / Spectrum boards, and the designs seemed consistent. I decided to go about about updating my circuit diagram, bring it in line with the book layouts.

After quite a bit of triple checking I now have a circuit board design ready to send off for fabrication. My new (mostly) SMD board is approximately half the size of the original design, good for keeping fabrication costs down. I've also added a few extra clarifications and helpful labelling to the silkscreen layers.

Now to order some parts, check the design again before sending it off and hope for the best.

Final design for the new Decoder Board

See more entries for this project: Forward, Part 1

Read More

16 February 2018

Easy add-on Projects for Spectrum ZX81 & ACE (Redux): Forward

Leave a Comment
There was a time when plugging a home fabricated electronics project into, onto or out the back of a Computer was an actively encouraged pursuit. Hardware project books for many a micro computer filled bookstore shelves which intern were filled with many a hardware DIY add-on. Easy add-on Projects for the Spectrum ZX81 and Ace, was one such tome of 80s knowledge, and it's been taking filling space on book self for a couple of years.

Easy add-on Projects for the Spectrum, a good read with some fun possibilities 

In order to undertake the builds presented within Easy add-on Projects for the Spectrum ZX81 and Ace, an initially requirement is the construction of an Address Decoder board, itself obviously already an project. In the true maker spirit of the times this involves producing your own PCB. There was at one point an order-able companion board, leasoning the difficulties any period 80's enthusiast lacking in manufacturing resources would face, though notably you still had to populate the PCB with components yourself.

The (non-Address Board Creation) projects themselves are quite an interesting selection, ranging from a primitive scanner, a light pen, a lap counter and to the major project a weather station. Not surprisingly they all have a very 'you could do this with an Arduino or Raspberry Pi' feel to them. In considering this vibe, it could also be a fun aside to implement the same on either of those modern devices, or the other way around by bringing some Arduino projects to the ZX81.

Lets not get to ahead of ourselves, the first order of business is to get down to that Decoder. There are 2 versions of the board presented in the book, one for the Jupiter Ace and one that's compatible with both the ZX81 and Spectrum, it's this board I'll be constructing. There is not a great deal to it, just a few 74 series ICs and other easy-ish to source parts. This is one of the wonderful thing about retro stuff I guess, it's all still relatively easy to source and understand. I'm not going to use the board quite as designed, I'm intending to use SMD components for example to modernise construction, in general however there should be no functional changes.

So, over the course of the coming weeks I'll get down redesigning the Decoder Board and form there onto the actual projects. If you playing along at home the book ' Easy add-on Projects for the Spectrum ZX81 and Ace' is available from the Jupiter Ace Resource Archive. A site well worth an explore given the Ace's close links to the ZX81 and ZX Spectrum.

See more entries for this project: ForwardPart 1

Read More

8 February 2018

Amstrad NC 100, Don't Blow a Fuse

Leave a Comment
In the last few days I took delivery of an Amstrad NC 100 notepad computer that had been listed on everybodys favourite auction site as not working. The purchase was an educated gamble as all my prior research on the NC 100, along with helpful advice from the Twitter Sphere, pointed to the major cause of failure for these devices being an easy fix. A simple blown fuse that would probably require replacing or circumventing.

After taking the NC 100 apart, locating the fuse where it should be, in the bottom left corner of the main board (power socket facing towards you), I ran a continuity test, the resulting in our prospective blown fuse scenario proving correct.

Amstrad NC 100 Main Board, Left: A Dusty and Blown Fuse. Right: A Temporary Jumper Wire Fix

The non-working Fuse is a  PCB Leaded, 500 mA, 250 V component, which I didn't have to hand. So in order to power up the computer I simply removed the fuse and soldered in a copper jumper wire as a temporary fix. (Next time I place a general component order I'll obtain a new fuse.) This is fine, just as long as I insure the polarity of any power supply is correct, Tip / Outer positive, inner negative.

Interestingly, based on the type of fuse I found in my NC 100 , there seem to be a couple of revisions of the NC 100 board. A number of online references indicate that the fuse should be an SMD component, not a though hole type one. 

A Now Fully Functional Amstrad NC 100

To test, I reconnected the main board to the LCD panel, and screen came to life with a Friendly 'Lithium battery is low' warning, not unexpected as there was no backup battery in the device at the time. Fix completed, and case reassembled, and I'm now the proud owner of a rock bottom priced Amstrad NC 100.

Now to find something for this little notepad computer do, maybe I'll take it to the office and garner some curious and possibly concerning looks at meetings.

Further Viewing

For an entertaining and informative overview of the NC 100, including the replacement of (in this case an SMD) fuse, head over to YouTube and the EEVblog

Read More

4 February 2018

The UDG For ZXpand Add-on for the ZX81: Part 1

Leave a Comment
One of most noticeable graphic element lacking from a ZX81 is perhaps the ability to define said graphic elements. Enter the UDG for ZXpand from Andy Rea, an expansion module available from around mid 2017 that affords the ZX81 owner the opportunity to create User Defined Graphics.

The UDG for ZXpand Hardware

The UDG for ZXpand is designed to be used in conjunction with memory expansions supporting the WRX extensions / modifications. Modern memory boards such as the ZXpand(+) and the ZXblast support this natively. Note that if using period RAM expansions such as the 16k Sinclair RAM pack or one from Memotech, then hardware alterations are required.

The UDG 4 ZXpand Expansion Board.

For an expansion board the UDG 4 ZXpand is quite small, being the width of the ZX81 expansion bus and approximately as deep again.. The expansion is designed to slot horizontally and directly into the ZX81 expansion port, and to be sandwiched  between a ZX81 and supporting RAM Pack / ZXpand / ZXblast.

Configuring the UDG 4 ZXpand for use with available software is a simple matter of adjusting a jumper setting on the board. A small toggle switch might have been a better choice, still one could easily be added by the end user. The jumper can be set 3 ways:

  1. Open: No effect, ZX81 operates as normal
  2. 64 Mode: Sets the UDGs to a defined limit of 64 Characters. A further 64 characters will be inverse versions.
  3. 128 Mode: All available ZX81 characters can be redefined and made available.

Modes 3 in particular provides scope for a complete overhaul of the ZX81s character set. Need some lower case characters, then replace the otherwise seldom used inverse set with something more useful. I'll cover the creation of character sets and the importation of existing fonts in a second post / article.

It's also worth noting that the UDG 4 ZXpand is supported by the 1.8 release of the EightyOne Sinclair Emulator.

Upadated UDG Gamming Goodness

The ability to redefine all 128 character tiles provides the scope for all existing ZX81 games to be retrofitted with HiRes character graphics. A good case in point would be Quicksilvas Galaxians, originally published in 1983 and written by T. Beckworth

A fast paced arcade game, Galaxians exemplifies just what a standard ZX81 can deliver when asked nicely. With the addition of some well done UDGs Galaxians is elevated to a whole new level, the game rivalling the best early games the ZX Spectrum has to offer.

Galaxians Clone with and without UDGs enabled

You can grab the updated version of Galaxians Thanks to Moggy on the Sinclair World Forums. Be sure to search for other updated tittles while there.

The results of redefined character sets on old games depend largely on the quality of the original, or simply revolve around just how the pre-existing Sinclair character set may or may not have have been used. Even in the otherwise brilliantly updated Galaxians there are some oddities to be seen due to this specific limitation. This is most apparent in the Hi Score tables where an "*" character, normally used in game as a player bullet, leads a certain illegibility the player score listing.

New Game Realses

Zedragon version 1, running on a ZX81
Updates to older games is all well and good, but endowing a ZX81 with near ZX Spectrum like powers (minus to colours) the UDG for ZXpand stands to have major impacts on many a new games releases.

There are effectively no limitations plaguing new tittles , these having the potential to provide complex experiences with a full usage of UDGs.

The first of brand new title being Ze dragon, a game so professional it's hard to believe a ZX81 is running behind it. A clone of Atari Sea Dragon, Ze Dragon is a Scramble like game replacing other worldly action with a Submariner adventure.

Ze Dragon was released in late 2017, and February 2018 has seen it updates to Ze Dragon II. The new version features pixel level scrolling, something not before seen in a ZX81 game. (Perhaps some parallax scrolling in version 3?).

Ze Dragon is an impressive conversion, demonstrating the full capabilities of the ZX81, UDG for ZXpand and the ZXpand(+). Perhaps this is not so surprising as the creators behind the both the UDG 4 ZXpand and ZXpand are behind the game. Game Author Sir Morris (Charlie Robson of ZXpand fame), Andy Rea and other co-mariners should be justly proud.

As with Galaxians, Ze Dragon 2 is available over at the Sinclair World Forums.

Ze Dragon 2 running on the EightyOne Sinclair Emulator

Next Time

Well that's a basic review and some games covered, so what about using Andy Reas' clever little device to do our our own bidding. Next post I'll attempt to cover some basics on generating our own UDGs for own games and programs. Covering some simple coding, then moving quickly onto some software that's already available to take all the hard work out of generating new ZX81 characters sets.

Read More

22 January 2018

Mystic BBSing with WiModem232s Zeddynets and Pi

Leave a Comment

Or Networking Disperate Retro Computers?

I've been meaning to write something about the ZX81 Ethernet adapter Zeddynet for a while now, but hadn't got around to it for various reasons. In the last week or so another more general purpose retro network device in the form of a Serial to WiFi modem / network adapter, the WiModem232 crossed my threshold rekindling ideas around networking old computers.

Now we have the basis for a slightly confused and conjoined blog post, one that ends up being not quite a review, mostly not a tutorial and a slightly random collection of ideas on network hardware and software, in which I get a number of ancient machines on-line connected to a BBS, a BBS that ends up being my own local BBS.

Some Networking Hardware Required

Now for a brief look into the networking devices I'm using. Both interfaces are specific to my needs (and small retro collection), the WiModem232 is certainly of much use to the general retro community, where as the Zeddynet is obviously of more limited one machine appeal.

Zeddynet - for a ZX81

Starting with Zeddynet and the ZX81: The Zeddynet board mounts onto a ZX81XT extender / extension board, and combined plugs into the ZX81s expansion bus. The card is quite tall with the Ethernet port located at the top. This arrangement is a little cumbersome, particularly once a network cable is plugged as the cable and the card tend to get in the way of a low-ish sitting desktop monitor. Still we're about to plug a ZX81 into a network, a few aesthetics issues and minor viewing discomforts are hardly of major issue compared to the achievements realised.

Zeddynet Interface
Available sporadically from and designed by the German ZX-Team, Zeddynet as the name implies connects a humble ZX81 to a TCP/IP network via Ethernet cable. Zeddynets first appeared back in 2012, I procured mine mid 2017, unfortunately no more have been produced since then (at the time of writing). Still, keep an eye out on SinclairWorld forums should you desire a fully assembled Zeddynet.

In order to configure and use the Zeddynet expansion on the ZX81 some software is required. At minimum in order  to get a ZX81 connected to online BBSs software in the form of ipconfig and telnet are required. Telneting is only one small part, there are web-browsers and network file managers and more. The German Sinclair forum.tlienhard.com has links to all software and sources.

WiModem232 for Anything with a Serial Port

Around the middle of 2017 Paul Rickards released the WiFi232 Internet Hayes Modem for retro computers, the perfect solution for networking old computers. Sadly the device has remained sold out for months, and may now be permanently unavailable. Luckily and possibly inspired by the original WiFi232, two new solutions have recently hit the market from CBMStuff, the WiModem232 and WiModem232 w/OLED.

WiModem232 w/OLED display
Functionality wise, the only real difference between the WiModem232 and WiModem232 w/OLED is the rather obvious OLED screen. The choice of adapter comes down to a desire for a handy information display or a need for the milliamp power savings brought about by not including it. Note that on both variants an RGB LED provides a status indication allowing you to easily live without the OLED screen.

The modem is configured and connected to a WiFi network by Hayes Modem command extensions. Similarly Hayes commands are used to connect to telnet instances on a local network or further a field.

In order to use the WiModem232 simple terminal software is required. The machines I've tested the WiModem232 with (TRS-80 model 100/102 and an NEC PC-8401) have terminal software built into their ROMs, in all cases this worked perfectly.

BBSs Are Out There

Dial up BBSs were a major thing before the Internet age, but sadly faded into slight irrelevance in the late 90s, but now they're back and on the Internet. In fact there is a whole new (old) world out there waiting to be connected.

Perhaps the best resource for finding BBSs is the Telnet BBS Guide. Telneting to any of the BBSs listed from a modern PC is fairly trivial, being able to telnet from a vintage micro computer is (whoo hoo) exciting.

Testing Interfaces a DIY BBS

Despite the wealth of BBS out there, I wanted to try out Zeddynet and the WiModem232 on my micros' without burdening the various online resources. Possibly I'd rather like keep the BBS running, with a view to opening it up for others to log on at some point. For these reasons I decided to to deploy a Raspberry PI and install some BBS software.

The Telnet BBS Guide helpfully lists the software being used by various BBSs in it's site registry. Of the software listed 'Mystic' BBS seems by far the most popular and actively maintained kit going, plus it has Raspberry Pi versions available that work on all network enabled Pies. A logical choice then.

The setting up 'Mystic' is as easy as unzipping, running a minimal installation, and then starting a BBS server. In less than five minutes you can have a bare bones BBS up and running and telnet-able into. After that 'your mission, should you choose to except it', exposes a whole rabbit hole of configurations and text files to modify in order to tailor and craft a unique BBS experience.

Crafting An 8 Bit Mystic Experience

In its default state Mystic targets computers with 80 columns and full ASCII / ANSI support. This is great for Amigas, Atari STs and IBM clones, not so great for 8 bits micros. This situation is fixable, but it does require a full redesign of the built in theme. The task is not difficult, it does though require some dedication.

All BBS layout files can be altered with tools built into Mystic, thus allowing for complete customisation of a BBSs look and feel. It is even possible to create ASCII and ANSI versions of pages servicing general fallback requirements. As a general design rule in targeting older 8bit machines I found it wise to limit charter selection to the first 128 ASCII characters. Using above this limit you start running into compatibility issues between the various proprietary character sets employed by 80s micros. I'm going out on a limb here and suggesting that period telnet / dial up software should automatically transpose any basic character set incompatibilities if working within the 128 limitation.

Locally Connected

There is a long way to go and to start I've only scratched the service of setting up a BBS and using the Zeddynet and the WiModem232 interfaces. On the BBS side of things my only real attempt at customisation has been the Welcome Screens. For now though it serves as a proof of usability both software and hardware.

LINUX Console

Limiting the choice of characters, but allowing for ANSI colours, a LINUX logon to the ZX-AD BBS (as I've named it) looks plain as opposed to what is possible for a full ANSI/ASCII experience. It does help provide a similar experience across all platforms however.

LINUX Console Connected to the Mystic BBS Software Running Locally on a Raspberry Pi

Sinclair ZX81 with Zeddynet 

I limited the welcome screens width to 64 characters, this fits nicely with ZX81 hires modes (additional hardware required). I'd also created a ANSI and ASCII versions of the welcome screen the ZX81 is using the ASCII variant.

ZX81 with Zeddynet Connected to Local Mystic / ZX-AD BBS

Tandy TRS-80 Model 100 & 102 with WiModem232

The Tandy machines are limted to 40 character width screens. Mystic can support this, but I haven't tailored the welcome screen to the 40 character limit, and the screen therefor doubles around.

Using the Tandy machines I found that the WiModem232 baud rate could also be no higher than 1200 else I started experiencing character loss.

TRS-80 Model 102 Connected to Mystic, 40 columns is Problem at this Stage

NEC-PC8401 with WiModem232

Mystic attempts to verify if a connecting computer supports the ANSI standard, interestingly the NEC-PC8401 reports back that it does. This is of course a lie, as it does not. Regardless of this untruth it will render the display correctly if the first 128 ASCII characters limit is adhered to. Also as fully functional CP/M computer the PC8401 has a 80 column display, consequently there is no issue with screen width, screen length however may pose its own problems latter.

NEC-PC8401 Connected to Local Mystic / ZX-AD BBS

To Summarise

Thus ends a rather scattered post on networking 8bit machines and BBS software. On the hardware side of things I can uttery recommend the WiModem232, it really is very simple to use. Zeddynet is similarly fun in execution. In both cases the full possibilities have hardly been touched on by this post.

As for the running a BBS, it's entirely likely I'll refine and open my local experience up to the broader world. Coming Soon - ZX-AD BBS.


In the total absence of ZX-AB BBS, being that it's confined to my local network for the moment, and if you're hankering for a Sinclair related BBS that's online right now, then you can't go past sinclair-retro-bbs:
  • Telnet: retrobbs.sinclair.homepc.it Port: 23
Read More

19 November 2017

The Sinclair ZX–Micro Computer: System Variables Comparison Chart

Leave a Comment
Sometimes when you've written an application for the ZX81 or ZX Spectrum you wish to port it to the other, or even back to the ZX80. Sometimes you've used a system variables and you need an easy reference chart to look up correct system address on the target system and move on. But you say, there is no chart, or there was no chart until now.

I got tired of looking through the manuals every time I need to check some System Variable values and decided to just put them all in a chart. Hopefully you might find it similarly useful. A PNG graphic is available below, and if preferred a PDF version can be downloaded.

If anybody notices some glaring or even slightly disturbing error, let me know and I get them ironed out and fixed up.

One final thought, It's quite interesting to see just how many changes were made to the ZX line of computers in the space of 3 or 4 years. There are the obvious physical differences of course, then there are changes witnessed in the System Variables above.

Read More