-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[U64 V1.18] CPU Port (Bit 3,6 and 7) #75
Comments
Thanks! |
According to the service manual of the 1530/1531 datasette, there are VARIOUS circuits used. There is ONE model that has a pull-up on the write pin; all others don't. So I think it is safe to assume that in most cases there is no pull-up on the write line (bit 3), so it should behave similar to bit 6 and 7. On the other hand, one could reason that the leakage current of the 7414 will likely have a preference for a logic '1', so maybe assuming a pull-up on bit 3 is not wrong. |
With a little test program on my C64, bit 6 and 7 fall back to zero after approx 48000-49000 cycles, thus approx 49..50 ms. In case of my C64, bit 7 falls off a bit earlier than bit 6, but the difference is roughly 6000 cycles max. Interestingly, bit 3 remains 1! .... for... sit back.... 5 SECONDS. This is without datasette attached. |
Ok.. found it.. On my board revision (Assy 250425), there is 470 pF connected to P3... Hence the 5 second delay. Let's say the bit flips from 1 to 0 at roughly 1V, this means that the voltage had dropped 4V in 5 seconds. This means that the leakage current is in the order of magnitude of I = (c * v) / t = 0.38 nA. That is really impressively small for NMOS. Other approach: what is the capacitance of the internal non-connected I/O pad of the 6510? Linear extrapolation: 470 pF => 5 seconds, 50 ms = 0.01 * 470 pF = 4.7pF. Yeah, sounds about right. |
Fixed in 1.1A. |
The following BASIC statement should return the value 23, but the U64 returns the value 223!
POKE 0,0: POKE 1,0: ? PEEK (1)
or in assembler:
lda #0
sta 0 ; set all portbits as inputs
sta 1 ; try to set all portbits to 0
lda 1 ; should be #$17, but on the U64 its #$df (bit 3,6 and 7 should be 0)
The text was updated successfully, but these errors were encountered: