Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a22dd86c7849386c

Jump to content

Talk:PSI Comp 80

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia
Latest comment: 15 years ago by Treesmill in topic PSI Comp 80 design

PSI Comp 80 design

[edit]

I built a PSI Comp 80 and used it for a while. It had some virtues but it was deeply flawed in a number of ways. Possibly the most glaring was the keyboard handling. Pressing a key on the keyboard triggered the Z80 non-maskable interrupt (NMI). The NMI routine placed the corresponding key code into the accumulator of the Z80 and then returned. This more or less guaranteed that any code running at the time that the key was pressed would be corrupted. The only safe time to press a key was when the processor had been halted by execution of a Z80 HALT code. I made a very simple modification to the code that created a keyboard buffer into which the keycode was placed the accumulator then being restored in the usual way before the routine returned.

The 'co-processor' may have looked like a good idea and it must have avoided writing a lot of code to implement the mathematical routines however every function performed by the co-processor took 1/10 of a second. I suspect that had the trig routines been implemented in Z80 code they would have been quicker than that but I am sure that simple additions would have been. One consequence was that in the 'high level' language supplied (BURP, standing for BASIC using Reverse Polish) a for-next loop took at least 1/10th of a second for each time around the loop, regardless of what was inside the loop. One thing to be said for this was that it made Z80 machine-code far more attractive than it might otherwise have been. I certainly learned a lot from this computer, but it wasn't until I got one of the first BBC micros that I discovered what a decent language like BBC BASIC could achieve. None of this can really be added to the article because it probably counts as original research which I cannot back up with sources. treesmill (talk) 10:01, 7 December 2010 (UTC)Reply