Showing posts with label Review. Show all posts
Showing posts with label Review. Show all posts

Saturday, December 14, 2019

All New ZX81 : A Minstrel Issue 3 Kit

Leave a Comment
A long time ago in a land far far away Sinclair Research released unto the world a ZX81 kit computer. This is not that kit, this is a brand new Minstrel Issue 3 computer, that happens to be an enhanced reworked ZX81 clone with 32k RAM.

Part Minstrel Review, Part Not

Over the last couple of years Dave Curran of Tynemouth Software has been busy designing and producing modern recreations of Sinclair's early home computer kit, the ZX80. Although in fairness, to call them recreations is probably a disservice. One of the major goals has always been to take the project to the next level and launch a full ZX81 work alike.

This of course is where the Minstrel Issue 3 comes into the picture, it being the first of Dave's fully functional ZX81 clones-ish computers. There are of course some differences, the most obvious being that there is no ULA, or modern equivalent, and the computer is entirely designed around discrete logic IC's . In a world full of FPGAs this refreshing.

To find out more on the inner working of the Minstrel family and the Minstrel 3 in particular Dave has written a number of exceptional blog posts that deserve a good read through.

See a Kit, Build a Minstrel

Kits Done Right: ICs Layed out as per the Minstrel Circuit Board
One of the first things I noticed when opening the kit is just how much thought and care has gone into producing it. From the PCB design to how the IC parts tray was laid out to match the PCB, all the way down to included documentation. First impressions count, and the overall presentation put me in a very good mood before I dared assemble anything.

With 25 ICs, plenty of resistors and capacitors the Minstrel takes some time to put together. While It's certainly no picnic to build, thanks to the layout and documentation it never seemed an insurmountable chore. In the end I managed to construct my kit in 4 reasonable sittings with a similar amount of coffee (coffee being a very accurate measure of time).

Using the Minstrel

After completion comes the power on, will it work will it not work? It didn't, but that was entirely my fault. A quick inspection latter, seems I'd failed to solder exactly one IC pin leg. Power on two, success! Aside from being quite elated at a fully working Minstrel, I was immediately amazed at just how clear the image emanating from it was. Truly the image quality is better than using an emulator, which in the case of a ZX81 style computer is a brilliant thing.

Of course it's not all about image quality. The Minstrel is designed to fit within a standard UK ZX81 case, as such it makes a pretty perfect replacement for a dead ZX81 board. Note that American ZX81 and Timex 1000 cases would require some modification around the video output holes for the board to fit.  

Minstrel Issue 3 Mostly Assembled
If placed inside a ZX81 case the only real clue to it not being a ZX81 would be the swapping out of the mono phono jack power socket for a barrel style one. This is possibly one of the finest moves possible, at least to the user. Going out on a limb here, but in my experience a wobbly phono jack is far more likely to cause an unexpected reset than that legendary RAM pack wobble ever did.

Like the original ZX81, the Minstrel does lack a of a power button. That's not really the Minstrels fault, it's more of a design limitation brought about by ZX81s case design. There are a number of solutions, the easiest is to just go out a buy an external switch from the 'The Future was 8 Bit'. It might be something that Tynemouth could include as an extra option at purchase time.

How Compatible is Compatible

I've not found any software so far that wouldn't work with the Minstrel, I dare say I won't be able to. The little computer is even compatible with a number of newer games and programs that take advantage of hires graphics modes, modes that required hardware modification on an actual ZX81.

Hardware expansions on the other hand may be a little to harder to guarantee due to both the modern design of the Minstrel and the esoteric nature of ZX81 expansions.

I've only a couple of expansion that I can test with the Minstrel, and I don't any 80s period hardware to throw at it. The best news is that the most required modern add-on, the ZXpand works perfectly, indeed Dave Curran in consultation with Charlie Robson the creator of the ZXpand is planning a special edition of the ZXpand specifically for the Minstrel. 

Also of note, the Zeddynet network interface, a card I've had trouble with on some actual ZX81s  work flawlessly. Internet meet Minstrel, a perfectly modern retro way to connect to the world.

Sadly for me one expansion didn't work, my ZX-Keys Expansion card. After speaking to Dave on the matter I have some leads on as to why, I'll have to see what can be done on a revision 2 of my boards. For the moment the ZX-Keys keyboard works perfectly using the Minstrels internal keyboard connector. 

Adding a ZX-Key Keyboard

I have some future plans for my Minstrel involving a custom case and a full sized keyboard. For the moment though I need a working keyboard (There are keyboard options at kit purchase time). As discovered earlier my ZX-Key Expansion card didn't work so I built a temporary adapter board for the ZX-Keyboard.

Internal ZX-Key Keyboard Adaptor
The resulting kludge is a simple wire up job on some protoboard On the Minstrel I soldered on a Female Header Socket Strip to plug it into. Nothing groundbreaking here then. The next step will be to make up a proper PCB board. On the temporary one I've only wired up the bare essentials, the keys. The keyboards LEDs and reset button don't work and it all looks a little messy. Still I do have a nice modern-ish keyboard to use with a nice modern-ish ZX81 clone.

In Summary

I have to say I've been very pleased with the Minstrel kit. It's fun and rewarding to put together and in all honesty it's a much better computer than ZX81. If you enjoy assembling kits then go get one, if you don't know one end of a soldering iron from another Dave supplies them pre-built too.

Now of to play some games, how about a nice game of Tut-Tut?

Minstrel up and running playing a little bit of Tut-Tut

Read More

Sunday, February 04, 2018

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

1 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

Monday, January 22, 2018

Mystic BBSing with WiModem232s Zeddynets and Pi

3 comments

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.

Addendum


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

Sunday, October 08, 2017

RetroChallenge 2017/10: Part 3

Leave a Comment

NEC PC-8401's Software-To-Go on the Go


It's time try out some of the PC- 8401's inbuilt software. Ideally I'll be wanting to create files that are usable outside the NEC PC-8401 1980's bubble. The software included in ROM was all quite cabable for the time our NEC was realeased into the wild, we should be able to make use of it to some extent today.

There are four software packages provided in ROM:
  • Wordstar-To-Go: Micro Pro's word processing package, a portable version of the Wordstar. 
  • Calc-To-Go: Portable version of Calc Star, also by Micro Pro. 
  • Personal Filer: A flat file database program.
  • Telecom: Modem and Serial communication tools.

Of those, the two packages likely to be of most use in the modern context are Wordstar-To-Go and Telecom and I'll quickly look at those now. Telecom is arguably of most importance as it will be required to move files and additional software on and off the computer. The limited 64k of available RAM (32 for storage and 32 as active memory) makes Telecom a necessity if we plan on doing anything useful in the longer term.

Getting the files on and off with Telecom


The Telecom application is quite effective, and thankfully includes the XModem transfer protocol, making file transfers reliable. Connecting to a regular PC requires a USB to serial cable and a NULL modem cable. Nothing odd here, I used standard off the shelf parts.

PC-8401 and LINUX CuteCom Talking
For software on the modern LINUX computer I'm using CuteCom as it's a windowed terminal communication program, the command line based Minicom works just as well for this though.

I found the default Telecom configurations need some tweaking. The baud rate was best set to 1200 for plain ASCII file transfers and terminal emulation, else the buffer got full and text was lost. For XModem the baud rate value can be up to 19200 (with some issues), 9600 provides issue free transfers. Other than that I set Stop bits to 1, as is the default value for just about everything else out there. The configurations can be saved to memory, so once setup it's all good to go next time.

XModem transfers in both directions work perfectly, making the task of installing software and transferring other files a simple.

With a basic configuration setup all the networking capacity of 1985 is at our fingertips. If I want to take the PC-8401BM out on a field trip, or write up blog pages on the go, then we can rest easy knowing all that hard work is easily transfered back to a regular PC.

With basic communications configures it's time to look at using some of the built in productivity software.

NEC PC-8401BM Telecom Default Configuration
OPTIONDEFAULTDISCRIPTION
CONNECTIONRS-232CInternal Modem or RS-232C
PROTOCOLOFFON for modem7 / xmodem, OFF for ASCII transfers
SPEED9600150 - 19200 baud
WORD LENGTH87 or 8 bits per character
SI/SOONShift In/Shift Out sequence
STOP BITS21, 1.5 or 2/td>
PARITYNONO,EVEN,ODD,IGNORE. Ignore only effective when STOP BITS set to 8
XON/XOFFONON or OFF
ECHOOFFON or OFF
CHAR WRAPONON or OFF
NEW LINEOFFON or OFF
PPS1010 or 20. Pulse Per Second, Used for modem dialing
LABELOFFON or OFF. Displays the Function key values
DEL CODE7F7FH (DEL) or 08H (BS)
LF SUP.ONON or OFF. ON Suppresses LF codes ignored during uploads
LINE DELAY01 - 7. Delay ACK response.
PRINTOFFON or OFF. Echo session on a printer
SAVEOFFSave Telecom configuration on exit


Can we Wordstar-To-Go?


Wordstar may still be a perfectly usable as word processor, with one proviso, that we have some sort of document conversion utility. This is where we start running into problems on the modern PC side. It seems that we're now so far removed from Wordstars historical dominance in the marketplace that pre-existing conversion tools, even thoughs designed for 'newer' platforms are themselves so out of date emulation is required to run them. (I find this news a touch disturbing).

Over at the Way Back Machine (love that machine), the remains of the WordStar Resource Site provides downloads to various converters, Sadly, I've tried a number of the conversion utilities without any luck this far. They all specify conversion capabilities extending to DOS and Windows Wordstar files exclusively, so the PC-8401s Wordstar-To-Go files will need to undergo a CPM to DOS conversion first.

Failing conversion utilities, there are two other options available, both built into our trusty PC-8401. Firstly, Wordstar-To-Go can produce simple text files that need no conversion. This is the easiest option to use.

The second options is available during file transfers. When sending files with the Telecom package there is an option to convert Wordstar files to plain text. This produces a similar result to using plain text to start with, but not quite. Conversion ignores continuous paragraphs, so what appears to be the end of a line in a Wordstar file (lines are by default 65 character long) is the end of a line, meaning all paragraphs would have to reformatted to be contiguous. Note that Wordstar itself treats paragraphs the same way. The text will appear  exactly as formatted on screen in Wordstar, minus control characters and .dot commands.

The best explanation is a simple example, below are three version of the same file. The text was justified in the Wordstar formatted files.

RAW Wordstar File: 
ThÃ¥  quicë  browî dingï jumpeä oveò thÃ¥ lazù  fox®  ThÃ¥  kangaroï 
jumped over the dingo.

No animals were harmed in the above test sentence.

Wordstar File with Special Characters Removed During File Transfer
The  quick  brown dingo jumped over the lazy  fox.  The  kangaroo 
jumped over the dingo.

No animals were harmed in the above test sentence.

 Plain Text File
The quick brown dingo jumped over the lazy fox. The kangaroo jumped over the dingo.

No animals were harmed in the above test sentence.

So is Wordstar on the PC-8401 still usable in the modern context? Yes, but with some serious limitations for the time being. There would be an interesting RetroChallenge project in writing a decent conversion utility.


See RetroChallenge Intro, Part 1, Part_2, Part 3, Part 4, Part 5, Part 6, Part 7, Part 8
Read More

Sunday, October 01, 2017

RetroChallenge 2017/10: Part 1

1 comment

The NEC PC-8401 a Starlet in the Press?


NEC PC-8401A Review in Creative Computing Magazine
The NEC PC-8401, AKA the Starlet premiered at the November 1984 Comdex show, a year after the Tandy Model 100 made its splash. (As an aside, glimpse the Model 100 at the 1983 show in this remarkable footage). The rise of the portable computing has begun, and a new world order soon to be dominated by IBM compatibility is starting to play out. Where does our little NEC offering fit in?

Unfortunately for us, there are scant references to the PC-8401BM in its contemporary computer press, or so it would appear by the lack of articles available on the internet archive. This is a trend that continues, even against the current rise of 'retro' computing within the global consciousness. The 1984 Comex appearance of the PC-8401 is however noted in Infoworld 1984-12-17 magazine.

That the PC-8401 lacks a perceptible public success may not accurately indicate it market penetration, particularly considering its main reason for being was to serve a business oriented market. It is therefore not so unsurprising that hobbyists of the period may have ignored the PC-8401 as expensive business machine, with that the business positioning still limiting any appeal for today's retro collectors or enthusiast.

The only extensive review of the PC-8401 from the time period available over at the Internet Archive is a write up in the March 1985 issue of Creative Computing Magazine by David H Ahl's. The review is based around the model PC-8401A not the PC-8401BM which I'll be using over the course of the RetroChallenge.

Overall the Creative Computing review is a positive one, with the only major criticism levelled at the small display area on the Model 8401A, an issue addressed on the 8401BM. The included software, built into the machines ROMS is noted favourably, Wordstar-To-Go which is found to lacking in some of features available in the desktop version, a minor let down and scores only reluctant approval.

Interestingly what we could surmise as the reasons behind the failure of the 8401 to enter the popular consciousness are highlighted at the end of the Creative Computing article. Firstly NECs failure to include BASIC in ROM at once precludes the machine from hobbyist usage. While the lack of programming languages provided by default on computers today is a non-issue, in 1984 this was often the pathway for home hackers to explore a computers capacities. Secondly, and more interestingly it seems NEC had a less than stellar marketing division (at least outside of Japan).

In retrospect, NEC should possibly have paid close attention to Creative Computing closing summary, as now the trail and magazine reviews go cold. There are of course many gaps in the Internet Archives collection of 80s computer magazines, even so the range of coverage still available and the lack of NEC PC8401 mentions in them would seem to confirm David H Ahl's concerns.

Luckily the target business market did procure and use enough PC-8401s that they haven't all gone to landfill, and somehow a PC-8401BM even managed to keep it's manuals intact, make its way to me and so we'll have something more to examine for the month long RetroChallenge.

The rather colourful NEC PC-8401BM User Guides.


See RetroChallenge Intro, Part 1, Part_2, Part 3, Part 4, Part 5, Part 6, Part 7, Part 8
Read More

Sunday, October 02, 2016

Arduino Liberates the Recreated ZX Spectrum

Leave a Comment
Following on from the previous posts, in some free time this week, I butchered my ZX81 / AZ15 Arduino keyboard sketch libraries, sliced in some code for a USB host shield and beat an Arduino Leonardo into submission. The end result a fully working Recreated ZX Spectrum keyboard.

As talked about previously, the Recreated Spectrum has two keyboard modes, one for PS2 functionality and one for Emulation. The odd thing here being that in Emulation mode, the Recreated Spectrum is not compatible with the vast majority of Spectrum Emulators (at least at the time of writing). Disregarding this; Emulation or Mode 'A' as it is labeled, is the easiest to target for any external hardware solution used in remapping the Recreated Spectrum's keys in order to provide a Normal Spectrum Emulator experiance. See the previous post for a deeper explanation.

Emulation mode was quite straightforward in it's implementation, being that all keys are registered when pressed or released, if in a slightly odd way. It was a simple matter of matching the codes the Recreated Spectrum passed out on each of these events with the actual keys.

Once Mode 'A' was covered, it was time to move onto Normal / PS2 mode (Mode 'B'). Normally to enter either Mode 'A' or Mode 'B', a slider switch on the keyboard needs to be placed in the correct position. I decided that if using an external device to do the decoding, this mechanism would become problematic. Having already decoded Mode 'A' for usage, adding a simple keyboard selection would be simpler way to manage switching into Mode 'B' or vice versa. As a result, Mode 'A' is permanently set to on, at the back of the Recreated Spectrum, "CAPS SHIFT" + "SYMBOL SHIFT" + "ENTER" now changes modes on the external Arduino Leonardo based solution.

All key-mappings as described in the Recreated Spectrum's manual and Cheat Card remain the same, with the exception of the Windows, and Print Screen Keys which have been left unmapped at this stage.

While I've used a Leonardo and full sized USB host shield initially, there is no reason why a Pro Micro and mini USB host adapter could not be used to do the same thing. In fact one of the next steps could well be to do just that, along with mating the whole arrangement with a Raspberry Pi in a custom Sinclair inspired case.

For those that feel like a little experimentation, feel free to mess around with some hot of the presses Recreated ZX Spectrum Arduino Sketches. I'll be making changes regularly and the latest changes will be on the 'Recreated Spectrum Project Files to Download' page.

Also, make sure you download and install the Arduino USB_Host_Shield_2.0 libraries from Github before compliling the Recreated Spectrum Project Files.


Keyboard in Action

Read More

Saturday, September 24, 2016

It's all in the Modes & Mappings of the Recreated ZX Spectrum Keys

1 comment
As mentioned last post, the keyboard works perfectly in the standard PS2 mode, it's the emulator 'layer' that has usage issues. If you switch to mode A (the emulator layer) on the keyboard, the key presses register anything but what you'd expect. There seemed to be some rather odd mapping going on, leaving the emulator mode a little useless.

There would seem to be 3 ways in which to adjust the Recreated Spectrum for usage with Emulators, other than the designated but pulled Elite variants.
  1. Patch an Emulator, or wait for support to be added. Apparently the some patches exist for the Fuse Emulator, adding compatibility for the Recreated Spectrum. That's no guarantee that other emulators will support it; I'd wager many gradually will, though you never know.
  2. Rip out the existing control board and build up a new version.
  3. Come up with an external hardware solution to adjust the key codes sent back to the host computer.
I guess option 1 would be the easiest, at least from a general user perspective, though unless your favorite emulator is open source, this could take a while. Option 2 is the most problematic, as to replace the board in a non case destroying way would be difficult (not impossible) to achieve. Frankly I don't want to ruin the look of the Recreated Spectrum with a hatchet job. That leaves option 3 as a pretty good alternative.

The PS2 mode would be the logical mode to tap into for signal / code modification, we need to see what the Spectrum keyboard actually sends out across the USB cable. To do this easily I pulled out an Arduino USB host shield to read the key codes are being sent. The results where interesting. Firstly, the standard PS2 layer (Mode B), was sending exactly what would be expected. With all letters and combinations of 'shift' and 'Alt' key presses being sent in a seemingly standard manner. I found one glaring issue that puts a stop to tapping into the PS2 mode however; the keyboard does not send any codes for the combination of "CAPS SHIFT + 9". What this means to those who have not already guessed, is that you can't set the keyboard to graphics mode.

So this leaves us with Mode 'A', the emulator layer. This is where things get interesting. A PS2 style keyboard will normally send codes stating when a key is pressed, and a similar code indicating that a particular key has been released. The codes the Recreated Spectrum is sending in emulator mode do not follow that pattern. Instead, when you press 'q', for example the keyboard sends the code for 'u' being pressed, however on release the keyboard send the code for 'v' being released. There is not a single key that sends just the expected letter. I've mapped the keys in the table below.


The Recreated ZX Spectrums Mode 'A' Key Mapping

KEY 1 2 3 4 5 6 7 8 9 0
PRESS a c e g I k m o q s
RELEASE b d f h j l n p r t
KEY Q W E R T Y U I O P
PRESS u w y A C E G I K M
RELEASE v x z B D F H J L N
KEY A S D F G H J K L ENTER
PRESS O Q S U W Y 0 2 4 6
RELEASE P R T V X Z 1 3 5 7
KEY CAPS SHIFT Z X C V B N M SYM SHIFT SPACE
PRESS 8 < - [ ; , / { ! %
RELEASE 9 > = ] : . ? } $ ^

As can be seen from the table, the key code order is layed out in a very neat and predictable manner. Also crucially, all key presses are detected in emulator mode, there are no dead keys combination problems such as in the "CAPS SHIFT + 9" issue discovered in PS2 mode. This all makes adding a man in the middle hardware solution relatively easy to implement.

The next step is to write some Arduino code to see just what we can achieve.

Read More

Tuesday, September 20, 2016

Half Recreated ZX Spectrum

Leave a Comment
Curiosity got the better of me, with some help from continuous price drops and forced my hand into the procurement of a Recreated ZX Spectrum. The Elite Systems clone of the original Sinclair Spectrums keyboard was one of the inspirations behind the starting of this blog. Given these reasons (or excuses) it's not surprising that I felt the desire to try one out, a kind of celebration of the year since beginning the AZ15 project.


I'm not in much of a position to pass judgement on the overall look, feel or experiential replication embodied by the Recreated ZX, you see I've never owned a rubber keyed Spectrum (I had a +2a for a while quite recently), in fact I've only ever seen them in the wild twice. The most recent Spectrum encounter was with an extremely beaten up system found resting quietly in a computer store in Delfzijl, up in the north eastern Netherlands.

My only other brush with a rubber Spectrum was half a world away and decades in between, at the Sydney Personal Computer Show in 1983, where Sinclair had a very prominent and striking black pavilion right at the entrance to the exhibition. As a young teenager and ZX81 owner, this encounter was beyond exciting, though sadly owning one of the beasts on display was not in my near future.

Regardless of the above, we can still judge the Recreated on it's functionality as a keyboard. There are good and bad points to this device. The good points first. The keyboard is stunning, I mean really stunning, it does look to me (with my limited experience) look like a Spectrum. Secondly the keyboard works flawlessly, at least for a rubber keyed throwback to times past as a PC keyboard, though certainly not recommended for daily typing. Frankly is quite fun to use the keyboard, gaze at the keyboard and generally fiddle with it for a while.

Despite the attention to detail shown externally and in the immediate PC-keyboard compatibility, the real use for this keyboard is with Spectrum emulators. This is where functionality falls apart. For whatever reason Elite crippled the keyboard by limiting its emulation use to Elites own suite of applications. None of these Elite applications are supported, let alone available due to ongoing legal disputes. So unless Emulator writers decide to include support for the Recreated Spectrum, the device is functionally useless for emulation purposes. 

There is of course always an option another option: Rip out the internals, grab an Adruino or other micro-controller and retrofit for purpose. In fact retrofitting looks quite achievable, I haven't as yet opened the little box up to check it over, but Tero Heikkinen at the Old Machinery blog has and the possibilities are promising. So this is what I think I'll end up trying out, and if so, I'll of course post the details here.


Read More