Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PerryFi

  1. Introduction
  2. Licences
  3. Obtaining the PCB
  4. BOM
  5. Connector
  6. Flashing the ESP8266
  7. PerryFi Configuration
  8. Command Reference
  9. Included Software
  10. Building QTERM

Introduction

PerryFi is a wifi modem expansion for Amstrad PCW computers. It is a PCB based on VapourSoft's PCW WiFi Modem schematic. The PCW WiFI Modem combines an Amstrad CPS8256 serial interface clone with the ESP8266-based Retro WiFi Modem by mecparts. mecparts cites inspiration from a message thread on the VCF forums, Paul Rickards's WiFi232, and Daniel Jameson's Virtual Modem for ESP8266.

The PerryFi is designed to plug into the PCW Backplane. While it can technically be plugged directly into the back of the PCW using the expansion edge connector, the connector is wider than the two rows of bins, so this configuration would not be stable. Please check the Connector section for more information.

image

Index


Licences

The PerryFi PCB is licensed under the CERN Open Hardware Licence Version 2: CERN-OHL-S, as is the rest of the content in this repo. Please make sure you read and understand the terms of this licence if you plan to build, sell or release modified versions of the PerryFi.

The older CP/M utilities included are believed to be in the public domain.

Index


Obtaining the PCB

You can either order this directly from its project page on PCBWay, or from downloading the gerbers, and uploading them to your favourite PCB manufacturer. I highly recommend JLCPCB.

image

Index


BOM

Ref Qty Part Source
C1 1 22uF 16V Electrolytical Capacitor Mouser
C2 - C9 8 0.1uF / 100 nF (104) Ceramic Capacitor Mouser
CONN 1** 2x25-pin 90-deg Keyed Male Box Header AliExpress
IC1 1*** Z80 DART eBay
R1 1 3k3 Resistor Mouser
SKT IC1 1 40-pin IC DIP Socket Mouser
SKT U1 1 24-pin IC DIP Socket Mouser
SKT U2 2* 6-pin SIL PIN Socket Mouser
SKT U3 2 8-pin SIL PIN Socket Mouser
SKT U4 - U6 3* 14-pin IC DIP Socket Mouser
SKT U7 1 16-pin DIP Socket Mouser
U1 1 8253 / 8254 Programmable Interval Timer eBay
U2 1 BOB-12009 3.3 to 5v Bidirectional Logic Converter Mouser
U3 1 WEMOS D1 mini AliExpress
U4 1 74LS74 Mouser
U5 1 74LS32 Mouser
U6 1 74LS00 Mouser
U7 1 74LS138 Mouser

* Optional.

** See Connector section below.

*** Make sure you order a Z80 DART and not a Z80 CPU, or Z80-PIO.

For the two vintage chips, IC1 and U1, to avoid fake vintage chips, I highly recommend buying from a European seller on eBay.

Please note that the Sources I have specified are based on research I did after assembling my prototypes, and are there for your convenience. Double-check each component before ordering, and let me know if there are any issues, or if the links were useful by raising an issue.

Index


Connector

The PerryFi should be connected to the PCW using a PCW Backplane.

However, if you decide to use an edge connector, due to spacing, you will need to bend the pins inwards in order for it to fit. This has not been tested, so your mileage may vary. If you do not wish to build a backplane, a custom ribbon cable is highly recommended.

Note that the box connector will be mounted on the very edge of the PerryFi board. Therefore, it is not possible to solder it flush to the board unless you use something like Blu Tac to raise it up slightly.

Index


Flashing the ESP8266

The ESP8266 microcontroller on the WEMOS D1 mini needs to be flashed with the correct firmware. All that is required is a USB-A to USB-C data cable (or USB-A to Micro-USB depending on the WEMOS D1 mini clone you bought). Be aware that many of these cables are designed for power only, and do not have their data lines attached. If your computer is unable to see the ESP8266, try another cable.

There is various different ESP8266 firmware to choose from. However, different firmware uses different AT commands, which may break compatibility with existing utilities.

The included firmware was modified from the Retro WiFi Modem project by VapourWare, and has been tweaked slightly by me.

The instructions below only relate to Windows users, and are guidelines only. If you have trouble getting your computer to see the ESP8266, please search the internet for further help.

Included Firmware

The easiest way to flash the included firmware to the D1 mini's ESP8266 is with the ESP Easy Flasher software as you don't need to know the starting address, only the COM port number, and the file name of the firmware.

  1. Unplug the PerryFi from the PCW or, preferably, remove the WEMOS D1 mini from the PerryFi.
  2. If your D1 mini uses a CH340 for serial, download and install the CH340 driver before proceeding.
  3. Connect the D1 mini into your Windows computer using the relevant USB cable.
  4. Right-click on the Start menu button, and choose Device Manager
  5. Expand the Ports (COM & LPT) section and look for DEVICE NAME. Make a note the COM port number e.g. COM3
  6. Download the latest version of the ESP Easy Flasher software from here, and extract it somewhere you can find it.
  7. Download latest release of the PerryZi firmware for the PerryFi 1.0, and put it in the same folder you extracted ESP Easy Flasher to.
  8. Run FlashESP8266.exe from the same folder, and choose the COM port number from step 3, and the .bin file.
  9. Click Upload to ESP.

Building the Firmware

You may wish to tweak the firmware, for example to change the default baud rate, or even to develop it further.

To do this, please see the instructions in the PerryZi repository.

Index


PerryFi Configuration

To get started, download the boot disc image for the PCW 8256 or the PCW 8256, depending on which type of PCW you own, and copy it to your Gotek. Boot the PCW from that image, and run QTERM5F.COM, which is already configured to the default baud rate of 9600.

Note that this is the maximum speed for the PerryFi 1.0. Attempting to set the wifi modem firmware to a higher speed will result in an ERROR being displayed.

Connect to your Wifi Network

To join your PerryFi to your wifi network, enter the following command in QTERM:

AT+CONFIG

The configuration is menu driven. When you have finished, make sure you answer y when asked if you want to save your configuration.

Test Your Connection

To check everything is working fine, we connect to the Amstrad BBS hosted by Simulant.

If you check the BBS page above, you will see that the hostname is amstrad.simulant.net, and telnet is listening on port 464. Therefore, we enter the following command:

ATDTamstrad.simulant.uk:464

After a few seconds you should see the welcome page.

At this point, feel free to explore the BBS. If not, simply hang up the connection like so:

+++ATH

Note that this can be used at any time when you are connected to a remote computer to drop the connection.

To switch to VT100 emulation, press [PASTE] followed by [V]. When you want to exit QTERM, press [PASTE] and then Q.

image

Index


Command Reference

The PerryFi uses Hayes-style AT commands, like an original analogue modem.

For a complete list of AT commands, including more settings, see the list on the PerryZi wiki.

Index


Included Software

This DSK image contains a selection of comms-related software to get you started.

It is beyond the scope of this documentation to describe how each piece of software works. However, I highly recommend following the guide for setting your PCW's time and date from the internet using NIST on VapourSoft's excellent PCWWiFIModem wiki.

Index


Building QTERM

You may wish to build QTERM yourself if you want to change one or more of the default options.

To do this, refer to the instructions in src/qterm5ae/files/#_READ.ME

I recommend using an emulator such as John Elliot's JOYCE, and a tool such as CIFE to transfer files to and from DSK images.

Index

About

Wifi modem PCB for the Amstrad PCW

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages