BS-DOS: RSP - RS232 Patch

This is BS-ROM patch for MB02 disk systems that replaces standard TAPE in/out routines by RS 232 TAP emulation.

Description

ZX Spectrum 128k onwards is equipped with RS-232 port. There is no harware support for serial communication on ZX Spectrum, therefore all needs to be controled by CPU. My goal was:

  1. seamlesly connect ZX Spectrum and other computers (pc),
  2. avoid additional software on both sides.

RSP is designed for MB02, in principle it will work on any system that enables write to ZXROM. There are plans to port it for divIDE. Information for +3 users: due to the fact that only slow pages can be paged-in instead of ROM, this patch will not work. RS232 communication requires precise timing that might be an issue in contended RAM.

Technical details

This patch is modifying two routines: LOAD at #0565 and SAVE at #04c9. Both routines are dealing with TAP format, therefore it works natively without change of BASIC syntax. From machine code point of view, there are no changes as far as you use standard calls (note: some copy programs are calling load routine without leading tone, this is not working).

Communication speed is 9600Bd. Serial communication routines were programmed by Busy soft, I added handshake and Turbosound support.

Limitations

Due to the buffer on PC side, PC will send one byte more even if Speccy is not ready to receive. I could not implement two reads from serial port due to the lack of room (this approach is in 128k ROM or IF1 ROM). In order to overcome this issue you can disable reading parity byte (it's disabled by default). You may need to enable it if you'd use different platform (e.g. Psion).

User variables

RSP patch program has following user variables:

Address value Decription
#6006 0 - off, 1 - on read parity byte (0 for PC)
#6007 0 - off, 1 - on border for load
#6008 0 - off, 1 - on border for save
#6009 0 - off, 1 - on log communication at #7000 (for debug purpose only)

Connection

You need only ZX Spectrum and PC with RS232. Connection is realized by simple cable with following pinout.

PC Canon 9 serial connector

1 - CD - Carrier Detect (IN)
2 - RX - Data Receive (IN)
3 - TX - Data Transmit (OUT)
4 - DTR - Data Terminal Ready (OUT)
5 - GND - Ground
6 - DSR - Data Set Ready (IN)
7 - RTS - Request To Send (OUT)
8 - CTS - Clear To Send (IN)
9 - RI - Ring Indicator (IN)

ZX Spectrum serial connector

1 - GND
2 - TXD
3 - RXD
4 -DTR
5 -CTS
6 - 12V

Cable

GND (1)------(5) GND
TxD (2)------(3) TxD
RxD (3)------(2) RxD
DTR (4)------(4) DTR
CTS (5)------(8) CTS

Software

ZX Spectrum

Title Description
rsp RS-232 patch. Typically it can be executed from RAMdisk or HDD. NEW "rsp"
rsu RS232-Unpatch. This will un-patch BSROM in order to work normally with standard TAPE.
cdr Modified CDC from Busysoft. This utility will send selected file(s) to RS232. Syntax NEW "cdr":FileNumber1, Filenumber2...
crd Modified CCD from Busysoft. This utility will receive TAP files and will store all data to currect disk.
cdraw Modified CDC from Busysoft. This utility will send pure binary content via RS232. Note: headers (bytes: name, start, len) are skipped.

PC

 

Title Description
SPEC232 Excellent set of command line tools from Henk de Groot
TZXUTILS TZX command line tools by Tomaz Kac.
READRS Executable from SPEC232 that is being used by r.bat
s.bat Send TAP file to ZX Spectrum. Syntax is "S Filename.tap"
sx.bat Send TZX file to ZX Spectrum. Syntax is "SX Filename.tzx". This batch file is using TZX2TAPfrom TZXUtils
r.bat Receive file from ZX Spectrum. It does not necessarily be TAP file.

 Download

 

Filename Description
RSPUTILS.ZIP (1,5 kB) TAP file with all files to be put on MB02 disk
BIN.7z (34 kB) My BIN folder with all BAT files
rsp.a80 (9,6 kB) Source code for RSP
SPEC232.ZIP (105,6 kB) SPEC232 complete set of tools from Henk  de Groot
tzxutils.zip ZX Tape Utilities by Tomaz Kac

 

Topic: ZX Spectrum: RSP - RS232 Patch

veikiptRadvapy chdha

twidwayavaib 28/07/2020
minimum credit score for mortgage <a href=" https://creditreportblk.com/ ">transunion credit report </a> annual credit report free

VonaaxiossE egsbq

bahwrottofwam 28/07/2020
https://creditreportblk.com/ annual credit report completely free government free experian credit report <a href="https://creditreportblk.com/ ">boost my credit score </a> annual credit report com

veikiptRadvapy ocrlm

Choorarribra 28/07/2020
https://creditreportblk.com/ credit score ranges [url=https://creditreportblk.com/ ]free annual credit report government [/url] <a href="https://creditreportblk.com/ ">what credit score for mortgage </a>

veikiptRadvapy kijlm

twidwayavaib 28/07/2020
average credit score equifax credit report free annual <a href=" https://creditreportblk.com/ ">good credit score range </a> credit report free [url=https://creditreportblk.com/ ]yearly free credit report [/url]

veikiptRadvapy jvreq

twidwayavaib 28/07/2020
https://creditreportblk.com/ credit monitoring [url=https://creditreportblk.com/ ]how to dispute credit report items [/url] <a href="https://creditreportblk.com/ ">credit scoring </a>

Phefsovesee tldqr

Enlisiokinciree 28/07/2020
free credit report transunion good credit score range <a href="https://creditreportblk.com/ ">highest credit score possible </a> credit karma home

veikiptRadvapy fuabm

FapPaibaFfic 28/07/2020
fico credit score mint credit score <a href="https://creditreportblk.com/ ">equifax free credit report </a> how to unfreeze credit report

VonaaxiossE twluc

bahwrottofwam 28/07/2020
https://creditreportblk.com/ free credit check free credit score equifax <a href="https://creditreportblk.com/ ">my free credit report </a> what is a great credit score

veikiptRadvapy qwvku

twidwayavaib 28/07/2020
business credit report [url=https://creditreportblk.com/ ]check credit score free [/url] how to improve your credit score experian plc

Phefsovesee kamzl

Enlisiokinciree 28/07/2020
how to improve credit score [url=https://creditreportblk.com/ ]does forbearance affect credit score [/url] fico credit score <a href="https://creditreportblk.com/ ">average credit score </a> national credit report
<< 2 | 3 | 4 | 5 | 6 >>

New comment