it stopped working. 😑
weirdly, if I *release* the shift key for any reason, the program resets! it works as long as I hold it down. 😅
Top-level
it stopped working. 😑 weirdly, if I *release* the shift key for any reason, the program resets! it works as long as I hold it down. 😅 24 comments
but it's just the shift key on the Apple II. how cursed could that possibly be? *opens the closet, finds skeletons* so the CPU data bus is muxed between the RAM data and the uhhhhhh keyboard port? that's special also interesting: the shift key(s) is not a normal key in that it does not generate a scan code. it only modifies the key codes generated by the keyboard matrix decoder chip. so how can my Apple IIe detect it when i release shift? it's a hack that people figured out on the original Apple II--you bring the shift key and tie it to the pushbutton 2 input on the paddle connector. then this became "canonized" in the Apple IIe with a motherboard jumper called X6, open by default. my IIe Platinum has this turned on by default! presumably this is the problem. @tubetime The IIe technical reference manual (1987 version) mentions that the shift key mod was made standard on platinum machines so as to enable shift+click functionality in mouse based applications yup! turns out the DS3 checks the paddle buttons and has them control a few other functions. mystery solved. i have a hunch that this hacky "delay capacitor" is preventing the card from working in my Apple II+. using 100pf just doesn't work, so i've added some machine pin sockets to make it easy to swap. no cap: doesn’t work so i think i will pick 220pf. generally i try to keep bodge caps like this to smaller values... @RueNahcMohr i never bothered to measure the delay. just found the limits with the capacitor test. @tubetime It feels like a safe guess that they are doing this to drag out timing elsewhere down the line. I guess the question would be which thing(s) need the extra delay. While not practical, I wonder if subbing in some HCT family parts elsewhere would make things better or worse. If the chips were socketed, I'd give that a whirl for the heck of it. Can you get a scope probe on any of the pins down the line for more insight on what's happening? @hexxy_the_grouch the delay is for the MC6844 DMA chip. presumably it makes it compatible with the 6502 bus. @RueNahcMohr naw the mux switches the CPU data bus over only when you access the keyboard port at C000. @mcc pretty common for machines and terminals of the day to be uppercase only, so i'm a bit suspicious of that story. @tubetime oh, uh. The source is Steve Wozniak https://www.vintagecomputing.com/index.php/archives/2833/why-the-apple-ii-didnt-support-lowercase-letters But it *would* be accurate to say another way of framing this story is "the machine wozniak was using while making the apple ii was uppercase only, so the apple ii inherited that" @mcc huh, well there you go, straight from the horse's mouth. he does explain a little bit more--that he could have added lowercase but then he would have needed to fix BASIC, which he had already coded up by hand and couldn't easily redo. |
@tubetime Never heard of shift-work?