cursor blinking question...

2 posts / 0 new
Last post
Offline
Last seen: 5 months 1 week ago
Joined: Dec 10 2021 - 12:26
Posts: 33
cursor blinking question...

I'm trying to replicate the cursor blinking in FPGA and I noticed that the real Apple-1 does not show the cursor when scrolling; so my guess was that cursor is turned off while receiving characters. But it doesn't seem to be the case because I can see the cursor still blinking when fast typing on the keyboard. Does anybody know the logic behind the cursor? All I know is that's a 555 that provides timing for flashing, but nothing more.

Offline
Last seen: 1 day 18 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 875
About the Apple-1 cursor:

In post #1, nippur73 writes:

 

 "I noticed that the real Apple-1 does not show the cursor when scrolling; so my guess was that cursor is turned off while receiving characters."

 

Uncle Bernie answers:

 

This is not how the Apple-1 cursor logic works. Upon a CPU write of a character, it's the PIA who asserts the DA signal (active "1") by its automatic handshake mode. The cursor logic then waits until the cursor position pulse comes along (from the 2504 at C11B) and writes the character into the other six 2504 during that MEM0 cycle while deleting the cursor pulse in the C11B (CRs, $8D, are not written but the cursor gets destroyed, too). In the next MEM0 cycle, the /RDA signal is asserted ("0") for the duration of that cycle, and extended by the 3.5 us oneshot in the 74123, so the PIA can "see" the ttoo shot /RDA event and get the handshake.

For printable characters, the cursor pulse is restored in the next MEM0 cycle (the next character position).

For CR the cursor pulse is restored at the beginning of the next screen line.

The above happens if there is no scroll. If there is a scroll, then additional 40 MEM0 clocks are inserted to the TV frame and then the cursor is restored. The insertion of the additional 40 clocks is equivalent to scrolling by one text line up. The physical data in the shift registers recirculates all the time, so this scrolling trick works by changing the start position of the first data bits for a TV frame.

 

So the cursor pulse "disappears" for 40 MEM0 clocks at most. Which timewise is one text line, or 8 TV scan lines. I think it's impossible to see that with the human eye. I don't know how you can see that. Maybe some sampling / stroboscope effect in your setup ?

 

- Bernie  

 

 

Log in or register to post comments