Fix comment of ADB signaling.

daktil_thumb_popravljen
tmk 2012-12-05 13:38:16 +09:00
parent de7b46cd7d
commit 9bdd89980f
1 changed files with 40 additions and 16 deletions

View File

@ -199,24 +199,48 @@ static inline bool read_bit(void)
{ {
// ADB Bit Cells // ADB Bit Cells
// //
// bit0: ______~~~
// 65 :35us
//
// bit1: ___~~~~~~
// 35 :65us
//
// bit0 low time: 60-70% of bit cell(42-91us)
// bit1 low time: 30-40% of bit cell(21-52us)
// bit cell time: 70-130us // bit cell time: 70-130us
// [from Apple IIgs Hardware Reference Second Edition] // low part of bit0: 60-70% of bit cell
// low part of bit1: 30-40% of bit cell
// //
// After 55us if data line is low/high then bit is 0/1. // bit cell time 70us 130us
// Too simple to rely on? // --------------------------------------------
// low part of bit0 42-49 78-91
// high part of bit0 21-28 39-52
// low part of bit1 21-28 39-52
// high part of bit1 42-49 78-91
//
//
// bit0:
// 70us bit cell:
// ____________~~~~~~
// 42-49 21-28
//
// 130us bit cell:
// ____________~~~~~~
// 78-91 39-52
//
// bit1:
// 70us bit cell:
// ______~~~~~~~~~~~~
// 21-28 42-49
//
// 130us bit cell:
// ______~~~~~~~~~~~~
// 39-52 78-91
//
// read:
// ________|~~~~~~~~~
// 55us
// Read data line after 55us. If data line is low/high then bit is 0/1.
// This method might not work at <90us bit cell time.
//
// [from Apple IIgs Hardware Reference Second Edition]
bool bit; bool bit;
wait_data_lo(75); // wait the beginning of bit cell wait_data_lo(75); // wait the start of bit cell at least 130ms(55+0+75)
_delay_us(55); _delay_us(55);
bit = data_in(); bit = data_in();
wait_data_hi(36); // wait high part of bit cell wait_data_hi(36); // wait high part of bit cell at least 91ms(55+36)
return bit; return bit;
} }
@ -258,7 +282,7 @@ Resources
--------- ---------
ADB - The Untold Story: Space Aliens Ate My Mouse ADB - The Untold Story: Space Aliens Ate My Mouse
http://developer.apple.com/legacy/mac/library/#technotes/hw/hw_01.html http://developer.apple.com/legacy/mac/library/#technotes/hw/hw_01.html
Apple IIgs Hardware Reference Second Edition [p80(Chapter6 p121)] Apple IIgs Hardware Reference Second Edition [Chapter6 p121]
ftp://ftp.apple.asimov.net/pub/apple_II/documentation/Apple%20IIgs%20Hardware%20Reference.pdf ftp://ftp.apple.asimov.net/pub/apple_II/documentation/Apple%20IIgs%20Hardware%20Reference.pdf
ADB Keycode ADB Keycode
http://72.0.193.250/Documentation/macppc/adbkeycodes/ http://72.0.193.250/Documentation/macppc/adbkeycodes/
@ -376,9 +400,9 @@ Communication
Global reset: Global reset:
Host asserts low in 2.8-5.2ms. All devices are forced to reset. Host asserts low in 2.8-5.2ms. All devices are forced to reset.
Send request from device(Srq): Service request from device(Srq):
Device can request to send at commad(Global only?) stop bit. Device can request to send at commad(Global only?) stop bit.
keep low for 300us to request. Requesting device keeps low for 140-260us at stop bit of command.
Keyboard Data(Register0) Keyboard Data(Register0)