Apple1 Video Terminal - undestend.

4 posts / 0 new
Last post
Offline
Last seen: 1 month 4 days ago
Joined: Mar 7 2019 - 04:37
Posts: 6
Apple1 Video Terminal - undestend.

Hello.
I'm trying to build my own Apple 1.
I have a question on the video terminal operation scheme.
When it is fully assembled and working, "_ @" symbols are displayed on the monitor screen.
According to the datasheet at 2513 you can see that the "@" symbol is generated when Low levels (0) are set on the address lines A4-A9,
while displaying the "_" symbol, A4-A8 lines are set to High Levels (1).

Question: Where does High(1) come from on these lines? 
After all, according to the scheme (for example, the section with C4 chip), the outputs of the registers are pulled to ground (-5V)
through a resistor and respectively at the input of the comparator 74157 will be LOW(0), which is transmitted to the input of the register 2504, 
which is looped filled with all zeros (although it was already filled with zeros when power was turned on).
Signal WRITE is set to high, 74157 selects B input. 
CLR is change by counters, and when it is High, the comparator output is set to LOW, not High.

How High on lines A4-A8 appears - I can not understand.

Offline
Last seen: 1 month 3 days ago
Joined: Jul 25 2019 - 07:12
Posts: 6
Cursor circuit startup.

Hi! First time poster here.

I'm in the middle of synthesizing this part of the circuit on an FPGA. I'm probably still a a few days away from getting it working, but here's what I think is happening....

The pattern you see at startup is due to some glitchy behaviour of the uninitialized cursor circuit. Immediately after startup the 2504's that store the screen characters are all clear, so the entire screen is filled with '@'. The 2504 at C11 is used to store the cursor position, with 1 bit per screen character. A '0' indicates that the cursor is at the current position and a '1' indicates otherwise. During ordinary operation only one of these bits should be '0', but at startup this entire chip is also clear. Its output is fed through a D flip-flop in C13 and the negated output drives the "CURS" signal a cycle later. 

To see what happens next, look at the upper right hand corner of C7; you'll see CURS being fed into one of C6's NAND gates. This is the part of the circuit that signals for a character to be written into memory. In order for this to happen the PIA normally sends the DA signal into C7 to indicate that a character is ready, and then a cycle later it gets fed into the C6 NAND gate which then waits for the CURS signal to go high. Once both conditions are met the WRITE line gets triggered and the character gets written into memory. Where does this character come from? RD1-RD7, which are also being fed in from the PIA. What I believe is happening is that all of these lines (i.e. DA and R1-R7) are set to an initial state of '1' when the PIA is first powered up. Ordinarily this would cause a '?' character to be written to screen memory (i.e. 1111111), but the 555 at D13 controlling the cursor blink is also starting up at the same time and it keeps the MSB low via the C12 "AND" gate that it feeds into, and so a 0111111 underscore character gets written instead.

So why do we see an entire page of this? Because the 2504 at C11 is still filled with '0' bits (i.e. cursor position indicators). During startup the circuit sees the first '0' in this chip, thinks the cursor is present, writes an underscore character to the next position and clears that cursor bit by setting it to '1' (via the AND gate directly below C11). What I'm not quite clear on yet (and wont' be until I examine the RTL simulation) is why it's doing this for every second character instead of each one. Either way, something causes the write to be skipped the next cycle, and so we get an alternating pattern of '@' and '_' which the 555 timer then starts blinking half a second later. If we could see the contents of the C11 cursor chip we would see 01010101.... and since both the repeating pattern and the 2504 size are multiples of 2 a stable image is generated until the main CPU and PIA get around to initializing the screen properly.

Offline
Last seen: 1 month 4 days ago
Joined: Mar 7 2019 - 04:37
Posts: 6
An interesting assumption,

An interesting assumption, but it assumes the presence of a PIA and a processor part. We see a screen in this form without a processor part.
I studied this question and I see that when turned on, all 2504 chips give the same signal at their output. Ie, probably, the pattern 01010101 .... is installed in the microcircuit when power is applied.

Offline
Last seen: 1 month 3 days ago
Joined: Jul 25 2019 - 07:12
Posts: 6
No, my theory doesn't require

No, my theory doesn't require any processor. It does, however, require something to keep the DA and R1-R7 lines initially high, if not a PIA then internal pull-up resistors or something.

Log in or register to post comments