Email or username:

Password:

Forgot your password?
Top-level
Tube❄️Time

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
Tube❄️Time

but it's just the shift key on the Apple II. how cursed could that possibly be?

*opens the closet, finds skeletons*

Tube❄️Time

so the CPU data bus is muxed between the RAM data and the uhhhhhh keyboard port? that's special

Tube❄️Time

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?

Tube❄️Time

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.

The SHIFT key mod was the bright idea of some forgotten soul who noted that the PUSHBUTTON 2 input to the game 1/0 socket was rarely used. He connected the SHIFT key output to pin 4 of the game 1/0 socket and interpreted PUSHBUTTON 2 as determining upper or lower case for alphabetic input from the keyboard. This modification has become significant because most word processing programs support it, allowing persons to enter upper and lower case to word processors via the SHIFT keys. The monitor GETLN routine, of course, does not support the SHIFT key mod, so BASICtill will communicate with the keyboard only in upper e,
Tom Greene

@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

Tube❄️Time

yup! turns out the DS3 checks the paddle buttons and has them control a few other functions. mystery solved.

Tube❄️Time

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.

Tube❄️Time

no cap: doesn’t work
27pf: doesn’t work
56pf: doesn’t work
100pf: doesn’t work
220pf: works!
680pF: works!
1000pF: doesn't work, makes clicks and bursts of white noise

Tube❄️Time

so i think i will pick 220pf. generally i try to keep bodge caps like this to smaller values...

Rue Mohr

@tubetime so the delay needs to be what now?

---\/\/\/--+--|>o-|>o--
|
=
|
V

Tube❄️Time replied to Rue

@RueNahcMohr i never bothered to measure the delay. just found the limits with the capacitor test.

Hexxy The Grouch

@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?

Tube❄️Time

@hexxy_the_grouch the delay is for the MC6844 DMA chip. presumably it makes it compatible with the 6502 bus.

Rich Felker

@tubetime At times like this I need quote toots just to add 😱 when sharing...

Rue Mohr

@tubetime ? the video circuit just pushes the cpu off to the keyboard when its using the ram?

Tube❄️Time

@RueNahcMohr naw the mux switches the CPU data bus over only when you access the keyboard port at C000.

mcc

@tubetime did you see the explanation that the reason why the apple ii didn't just have a shift key to begin with was that Wozniak was dead broke while he was designing it and couldn't afford an appropriate keyboard to test with

Tube❄️Time

@mcc pretty common for machines and terminals of the day to be uppercase only, so i'm a bit suspicious of that story.

mcc

@tubetime oh, uh. The source is Steve Wozniak vintagecomputing.com/index.php

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"

Tube❄️Time

@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.

Go Up