A preview of the new paper tape device for the webUI

288 views
Skip to first unread message

TheHighNibble

unread,
Aug 10, 2021, 1:34:01 AM8/10/21
to IMSAI 8080esp
Now that the HAL has made it easier to add/relocate peripherals...

Here's a sneak peak of the next addition:
Screen Shot 2021-08-10 at 3.30.46 pm.png

TheHighNibble

unread,
Aug 10, 2021, 1:35:19 AM8/10/21
to IMSAI 8080esp
Right-click on the image and "Open Image in New Tab" to see full size.

Tony Nicholson

unread,
Aug 10, 2021, 7:40:05 PM8/10/21
to IMSAI 8080esp
Nice... next addition I'll wait for is a Teletype Model 33 with punch and reader :)

Going to be hard to simulate those klunking machine gun sounds and smell of oil!

There are teletype fonts out there too (UPPERCASE ONLY - OF COURSE!)
Tony

TheHighNibble

unread,
Aug 10, 2021, 8:42:17 PM8/10/21
to IMSAI 8080esp
Actually the plan is a little different to that...

This tape device is both a reader (ie. ptr:) and a punch (ie. ptp:) 
  • you can drag-and-drop a file from your local file system onto the tape device and suddenly you have a paper tape of that file's contents ready to read 
  • also if you punch a tape, you can download its contents to your local filesystem, and now your tape is a file on disk
  • the only use case it doesn't address (that I've thought of so far) is reading and punching a tape at the same time, but it does make the UI simpler and less cluttered
By implementing a new feature in the HAL, that allows a device to fall-through or follow-on to the next device, then you can put the new PTR: (also PTP:) on the same port as TTY: and by selectively connecting and disconnecting the tape device, you can have all the same scenarios as with an ASR-33 (except for simultaneous read & punch) - of course no noise, smell of oil, and unreadable font but functionally the same if not aesthetically :-)


steve...@gmail.com

unread,
Aug 10, 2021, 9:57:46 PM8/10/21
to IMSAI 8080esp

I'm looking forward. This will be a useful addition to functionality.

But another thing missing from the real experience is the handfuls of confetti. :^)


-- steve


John Kennedy

unread,
Aug 11, 2021, 12:36:07 PM8/11/21
to IMSAI 8080esp
I wouldn't wish lockdowns on anyone, but this is great. I love learning about older forms of storage media. I'm going to print out so many tapes!

(Adding an emulation of a SPO256 voice synth is on your list, right? ;-)

TheHighNibble

unread,
Aug 12, 2021, 4:21:11 AM8/12/21
to IMSAI 8080esp

|  Adding an emulation of a SPO256 voice synth is on your list, right? 

:-(  No, sorry. I'm about done with new features for a while. Also, even though they existed (SP0256) I don't recall it being a feature of the CP/M vintage of machines. More like the VIC-20/C64/TI99-4A generation.
I know there is the War Games connections, but I think everyone knows that the voice of Joshua was not actually computer generated. And if that is what they want, they would be disappointed with the SP0256.

It would be deadly simple to make a "device" on the web UI that uses the modern WebAPI for text to speech, but the quick bit of reading that I've done suggests this works only for converting plain text to speech and doesn't work with allophones or phonemes like the SPO256. So unless there is original CP/M software that it could revive, it's not a feature that is high on my priority list.

The paper tape device, on the other hand, allows us to access parts of CP/M that are otherwise forgotten:
  • not only the physical devices PTR: and PTP:
  • but also the logical devices RDR: and PUN:, and while these redirect to the physical devices, they also behave differently (much like LST: vs. LPT: for the printer)
  • also there are use-cases like saving and loading programs from various versions of BASIC when not running under CP/M that need a paper tape reader/punch to experience
  • however, the best use-case is that it gives you a very simple way (in that not really very simple, CP/M way) of getting a single file from/to your IMSAI8080 to/from your PC without firing up the modem and kermit.

udo....@freenet.de

unread,
Aug 12, 2021, 5:05:46 AM8/12/21
to IMSAI 8080esp
I have just merged the PR from Dave into z80pack and trying out the paper tape devices on the PC emulation.
Interestingly the paper tape puncher works better with Firefox than with Chrome on OSX, on Chrome it won't
show the complete tape but only the first row, while on Firefox it looks awesome.

TheHighNibble

unread,
Aug 12, 2021, 5:25:26 AM8/12/21
to IMSAI 8080esp
That’s odd. I developed and tested it using Chrome on OSX and see the whole tape.
Are you using the latest Chrome version?

There is a known sizing problem on Chrome on Windows where the tape is too long and extends under the buttons at the bottom.

udo....@freenet.de

unread,
Aug 12, 2021, 6:06:20 AM8/12/21
to IMSAI 8080esp
TheHighNibble schrieb am Donnerstag, 12. August 2021 um 11:25:26 UTC+2:
That’s odd. I developed and tested it using Chrome on OSX and see the whole tape.
Are you using the latest Chrome version?

Yes, it's the latest Chrome version up to date. 

There is a known sizing problem on Chrome on Windows where the tape is too long and extends under the buttons at the bottom.

Not tried on Windows yet, I'll have a look also.
 

TheHighNibble

unread,
Aug 12, 2021, 6:15:42 AM8/12/21
to IMSAI 8080esp
If you resize the browser window of Crome while the PTR: device is open does the tape resize to fill the PTR: window?

udo....@freenet.de

unread,
Aug 12, 2021, 6:30:01 AM8/12/21
to IMSAI 8080esp
TheHighNibble schrieb am Donnerstag, 12. August 2021 um 12:15:42 UTC+2:
If you resize the browser window of Crome while the PTR: device is open does the tape resize to fill the PTR: window?

Yes, with both browsers the tape resizes, with Chrome only the upper most line of punches is shown, the rest of the tape windows stays white and I cannot scroll the tape as with Firefox. 

TheHighNibble

unread,
Aug 12, 2021, 6:40:43 AM8/12/21
to IMSAI 8080esp
So do you mean the PTR: window resizes, but the tape (the yellow strip) does not resize in Chrome?
Can you attach a screen shot after a window resize, thanks.

udo....@freenet.de

unread,
Aug 12, 2021, 6:51:50 AM8/12/21
to IMSAI 8080esp
On Windows it works OK with Chrome, color of the tape is white and not yellow though.

udo....@freenet.de

unread,
Aug 15, 2021, 7:51:34 AM8/15/21
to IMSAI 8080esp
We now have reached the state, that is is possible to save/load from the virtual paper tape device with
Mark Williams XYBASIC.
Was much more work than expected to get this all working, but the result of all the work is really cool.
Everything released for z80pack in the GitHub repository, so that anyone who wants a preview can try it out
on the PC emulation.

udo....@freenet.de

unread,
Aug 15, 2021, 12:37:39 PM8/15/21
to IMSAI 8080esp
Here is a short video:

villa...@gmail.com

unread,
Aug 15, 2021, 1:52:09 PM8/15/21
to IMSAI 8080esp
That's an amazing job !! It looks fantastic and looking forward to using it in due course on my Imsai

Mark Lawler

unread,
Aug 16, 2021, 12:18:20 PM8/16/21
to IMSAI 8080esp
Nice!!!

udo....@freenet.de

unread,
Aug 16, 2021, 1:49:51 PM8/16/21
to IMSAI 8080esp
I have a project for you guys interested in paper tape stuff :-)
We usually cheat by loading xybasic directly into the machine, not bothering how it gets in there.
xybasic.hex just is a tape in standard Intel hex as generated by the Intel compatible assemblers.
Now it could be read into the machine as it originally was done, from a paper tape.
For this you need a boot loader that is able to read Intel hex from the reader and is short enough
to be entered via front panel. None of the programs used on an IMSAI survived, at least I never
found one, so get at work and show us your loaders ...

TheHighNibble

unread,
Aug 16, 2021, 6:13:38 PM8/16/21
to IMSAI 8080esp
I've got it down to 1 press of a toggle switch followed by 3 key presses on a keyboard :-)
OK, I cheated a little...
But if you set your IMSAI to have Memon80 in ROM, hit RUN, then type HL<cr> 
Memon80 will load your HEX tape from the paper tape reader.
And at 50cps, XYBASIC loads in just 13 minutes 26.5 seconds

Was there ever some compressed format to make load times faster?

udo....@freenet.de

unread,
Aug 16, 2021, 7:05:08 PM8/16/21
to IMSAI 8080esp
TheHighNibble schrieb am Dienstag, 17. August 2021 um 00:13:38 UTC+2:
I've got it down to 1 press of a toggle switch followed by 3 key presses on a keyboard :-)
OK, I cheated a little...
But if you set your IMSAI to have Memon80 in ROM, hit RUN, then type HL<cr> 
Memon80 will load your HEX tape from the paper tape reader.

Well, adding ROM's to the machines came a bit later, after people got tired to enter a boot loader
with the front panel, and that's what I meant. Probably one has to implement a 2 stage loader,
one very simple one that can still be entered, which loads a more complicated one that can process
Intel hex tapes, which then can load the BASIC tape.
So sorry, this does not qualify :-)
 
And at 50cps, XYBASIC loads in just 13 minutes 26.5 seconds

Yep, you needed a lot of patience with them paper tape machines. 

Was there ever some compressed format to make load times faster?

Not that I know about, back then I have mostly used tapes with Intel hex, has several advantages.
You do not need an 8bit clean device, will even work with 5bit Baudot code.
For other machines I have used tapes with Motorola S-record format, is similar to Intel hex. 

Gates implemented a checksummed binary format for MITS, that's faster than Hex, which needs
2 Hex ASCII bytes for every data byte. Don't now any other that tried to reduce load times. We were
much more patient back then and just happy when the stuff worked reliable.

Tony Nicholson

unread,
Aug 16, 2021, 7:09:01 PM8/16/21
to IMSAI 8080esp
While not on an IMSAI, I used the TDL ZAPPLE monitor (there's an assembly listing in
it's manual) to load Intel HEX and TDL relocatable paper tapes.

When loading the TDL 12K BASIC via a paper tape on a Teletype model 33 - at a blistering
10cps (110 baud 8N2 current-loop), you had plenty of time to make a coffee, sit and drink
it - and do some debugging on a paper listing before you were read to go.

After upgrading to a cassette based interface at 1200 baud,  I remember doing some
run-length encoding to speed up load times (replacing mutiple identical bytes with an tag
byte, value and count).  Then came my first 8-inch floppy disk and CP/M 1.4 - and with
the PIP program you could read tapes into files - thereby leaving all this tape handling
behind!

Tony

On Tuesday, August 17, 2021 at 8:13:38 AM UTC+10 TheHighNibble wrote:
I've got it down to 1 press of a toggle switch followed by 3 key presses on a keyboard :-)
OK, I cheated a little...
But if you set your IMSAI to have Memon80 in ROM, hit RUN, then type HL<cr> 
Memon80 will load your HEX tape from the paper tape reader.
And at 50cps, XYBASIC loads in just 13 minutes 26.5 seconds

Was there ever some compressed format to make load times faster?

udo....@freenet.de

unread,
Aug 16, 2021, 7:16:54 PM8/16/21
to IMSAI 8080esp
Tony Nicholson schrieb am Dienstag, 17. August 2021 um 01:09:01 UTC+2:
While not on an IMSAI, I used the TDL ZAPPLE monitor (there's an assembly listing in
it's manual) to load Intel HEX and TDL relocatable paper tapes.

Zapple and TDL tapes are available for the z80pack Altair emulation, one can mess
with these on the other machine. Or modify it for the IMSAI, sources are available.

TheHighNibble

unread,
Aug 16, 2021, 8:32:08 PM8/16/21
to IMSAI 8080esp
>> Probably one has to implement a 2 stage loader,
>> one very simple one that can still be entered, which loads a more complicated one that can process
>> Intel hex tapes, which then can load the BASIC tape.

This is what I would expect. My background with paper tape (and punch cards) pre-dates micro computers, and this was always the approach taken.

But are you saying a tape based loader for 8080 for Intel hex format tapes no longer exists?
The 1st stage loader to key in via the front panel should be simple enough. We could always grab the code out of Memon80 for the 2nd stage loader.

udo....@freenet.de

unread,
Aug 17, 2021, 1:31:19 AM8/17/21
to IMSAI 8080esp
TheHighNibble schrieb am Dienstag, 17. August 2021 um 02:32:08 UTC+2:
But are you saying a tape based loader for 8080 for Intel hex format tapes no longer exists?
The 1st stage loader to key in via the front panel should be simple enough. We could always grab the code out of Memon80 for the 2nd stage loader.

No, sorry if I was unclear.
For all kind of machines the original used boot loaders were archived and you still can use them.
For the IMSAI 8080 I did not find any published listing other than one loading Tarbell cassette tapes.
Of course it is always possible to write a new one.
 
Reply all
Reply to author
Forward
0 new messages