UK Vintage Radio Repair and Restoration Discussion Forum

UK Vintage Radio Repair and Restoration Discussion Forum (https://www.vintage-radio.net/forum/index.php)
-   Vintage Computers (https://www.vintage-radio.net/forum/forumdisplay.php?f=16)
-   -   NASCOM hardware and software projects (https://www.vintage-radio.net/forum/showthread.php?t=160650)

NealCrook 18th Oct 2019 8:28 pm

NASCOM hardware and software projects
 
I'm delighted to see a couple more NASCOM users appear. For NASCOM users who are not members of the Yahoo group, I'd like to share details of my recent (and not so recent) NASCOM projects:
  • wav2bin - a PERL program that will extract binary data from a .wav file. Typically, this wold be used to generate a .CAS file from an ancient tape recording.
  • nascon - a PERL program for converting between NASCOM formats: cas/nas/hex/bin
  • polydos_vfs - a PERL program for manipulating PolyDos disk images
  • NASCOM 1 RAM expansion - a 3-chip (RAM + 2 TTL) 60Kbyte expansion that attaches to the NASCOM 1 edge connector. Tested.
  • NASCOM 2 RAM expansion - a 1-chip 60Kbyte expansion that piggy-backs on a NASCOM2 bytewide socket. Untested.
  • SDcard storage for the NASCOM. 2 versions. One version connects to the UART/serial port and uses the NAS-SYS tape commands. Requires no HW mods or ROMs. The other version connects to the PIO and, with a boot ROM, will run PolyDos. The hardware uses an Arduino, and SDcard adaptor and a few wires. You can build one on a proto board or ask nicely for one of my spare PCBs.
  • Documentation, ROM and disk images for PolyDos and permission-to-share statement from the original author

The word PERL got mentioned a lot. If you are on Linux or Mac you have it. If you're on Windows I recommend Strawberry Perl.

All this stuff is here: https://github.com/nealcrook/nascom It is documented as well as I know how, with words, code and photos. I will be "happy" to receive bug reports.

If anyone has any other PolyDos material (other versions, documentation on their word processor) I'd be delighted to see it.

Neal

john_newcombe 23rd Oct 2019 12:42 pm

Re: NASCOM hardware and software projects
 
Thanks Neal.

NealCrook 16th Nov 2019 5:30 pm

Re: NASCOM hardware and software projects
 
BTW, the NASCOM Yahoo group has now migrated to groups.io

https://groups.io/g/Nascom-Computers

Neal.

mole42uk 17th Nov 2019 7:03 am

Re: NASCOM hardware and software projects
 
Excellent, Neal. I have a couple of NACOM 2 boards and several Gemini 80-BUS I/O cards, somewhere. I also have some Pertec stuff and lots of documentation.

GeoffB17 17th Nov 2019 9:35 pm

Re: NASCOM hardware and software projects
 
Hello,

Interested in your wav2bin prog.

How it that working?

I had need a little while ago for something to do that for my Epson HX-20, and managed to find a package called hxtape, this written in php. Modules of this worked both ways, wav2bin and then txt, and back again txt back to wav.

I had some discussion with the original writer in Italy, and got it all working for me (under windows XP) and it seems to all work fine, although it's somewhat of a fiddle on swapping but rates and resolution for the wav files, and using Audacity in the middle.

Parts of the process I'm using are specific to the format of the HX cassette saved files. Even so, I'd be interested to hear more.

Geoff

NealCrook 18th Nov 2019 11:42 pm

Re: NASCOM hardware and software projects
 
Hi Geoff,
I found various programs on the web, from which I learned enough to write my own. The code is basically in two layers. The bottom layer converts the audio stream into a byte stream. The upper layer decodes the byte stream -- in my case, it decodes the NASCOM tape format documented in the NAS-SYS documentation and referred to as "cas format".

The bottom layer converts the audio stream into bits then frames them into bytes.

The audio stream represents 1 and 0 as different frequencies. Since each bit occupies the same time, there are (for example) 1 cycle for a 0 and 2 cycles (at 2x the frequency) for a 1.

I used audacity to capture audio from old tapes, and exported it as .wav format. The wav format has a particular sample rate so counting samples is like measuring time.

Finding the frequency involves looking for zero-crossings -- ie, for the samples to change sign. By counting samples between zero crossings you find the frequency of each half-cycle. Depending on the frequency these half-cycles should be in groups of 2 or 4.

The data is an asynchronous byte stream so there should be a start bit, 8 data bits and one or more stop bits. There may also be idle time between bytes, which extends the stop time. Therefore, the code looks for a start bit, then gobbles and emits a byte, and then discards stop bits.

The cas format has a sequence of 0x00 or 0xff bytes at various points, which makes it easy to lock on to the format. After half an hour or so of staring at the wavforms in audacity, you can start decoding bytes "by eye"

The code's all in PERL with lots of comments so it should be understandable and adaptable

Neal.


All times are GMT +1. The time now is 11:23 pm.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.