|
Post by mirkosoft on Oct 29, 2019 12:58:11 GMT
Hi!
I'm trying ro make real GO128. I know - it looks like impossible, but I have few notes from old C128 Alive forum where we discussed it. I found notes after disk recovery. Disk failed longer time ago.
So, the notes:
; program the keyboard read line ($dc01) into a write line. And set bit 4 to output 0 volts, like this
*=$1300 lda #$ff sta $dc03 lda #$ef sta $dc01 ; Then set the normal keyboard write line ($dc00) to ouput 5 volts on bit 7 like this
lda #$ff sta $dc00 rts
; Then print a message to press SPACE ; When the user presses SPACE, this should short out the CIA ; If the transistors inside are powerful enough, it will drop the 5V power supply low enough ; to cause the machine to reset ; But it also might burn out the CIA, blow a fuse, or otherwise burnout some component ; This is unlikely, as you can do something similar with an incompatible joystick
Yes, it can damage some components. The problem is pressing SPACE. There's really better option to simulate the keypress by software similar method - or if you know - by other.
Can anybody help? Or have idea?
Thank you. Miro
|
|
wiebo
Windows User
Posts: 9
|
Post by wiebo on Feb 8, 2020 20:34:31 GMT
As someone who has fried a CIA chip back in the days: even if you get this to work, I would never execute it I'd rather press the reset button, I don't think this fits a purpose.
|
|
|
Post by oziphantom on Feb 9, 2020 4:44:12 GMT
forcing the CIA to fight each other by making one 5V and one 0V will damage the CIA that is doing 5V. The CIAs suck at forcing hi, 8ma max, and nmos is really good a sinking, so the 0V CIA will win easily and nothing will come of it except a broken CIA. In this case you are not simulating a key press by requiring somebody to press the key to join the tracks so the CIAs meet. It needs the physical contact not just "the idea of pressing space"
I think they isolated the drive reset line due to it tripping every now and then, so their might have been a way to get the drive to toggle reset.
you could connect an output pin on the user port to the reset line, and then PRINT# something to fire it.
|
|