init files
This commit is contained in:
commit
8197a022bd
1409 changed files with 139317 additions and 0 deletions
77
loader/docs/Protocol.txt
Executable file
77
loader/docs/Protocol.txt
Executable file
|
|
@ -0,0 +1,77 @@
|
|||
Two bits + ATN loader protocol
|
||||
------------------------------
|
||||
|
||||
<---------------------------- initiate loading ---------------------->|
|
||||
|<--------- send name loop --------->|
|
||||
| |
|
||||
idle request | wait for | send filename chars to the drive | clear | busy
|
||||
service | drive ready | | |
|
||||
| | | |
|
||||
Host DATA IN 0 _____ ... ____|¯¯¯¯|¯ ... ¯¯¯¯¯¯¯|¯¯|___|¯¯¯|___|¯¯¯|___|¯¯¯|___|¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | __ __ __ __ __ __ __ __ | | |
|
||||
Host CLK IN 0 _____ ... _________|_ ... ___|¯¯¯|...D0..D1..D2..D3..D4..D5..D6..D7...|......¯¯¯¯¯|¯¯¯¯|____|__ 0
|
||||
| | | | |
|
||||
Host DATA OUT 1 ¯¯¯¯¯ ... ¯¯¯¯|____|_ ... _______|__|¯¯¯|___|¯¯¯|___|¯¯¯|___|¯¯¯|_____|___________|_________|__ 0
|
||||
| | | | |
|
||||
Host CLK OUT 1 ¯¯¯¯¯ ... ¯¯¯¯|____|_ ... _______|...D0..D1..D2..D3..D4..D5..D6..D7...|......_____|_________|__ 0
|
||||
| | | | |
|
||||
Host ATN OUT 1 ¯¯¯¯¯ ... ¯¯¯¯¯¯¯¯¯|¯ ... ¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | | |
|
||||
| | | | |
|
||||
Drive ATN IN 1 ¯¯¯¯¯ ... ¯¯¯¯¯¯¯¯¯|¯ ... ¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | | |
|
||||
Drive ATNA OUT 1 ¯¯¯¯¯ ... ¯¯¯¯¯¯¯¯¯|¯ ... ¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | | |
|
||||
Drive CLK OUT 1 ¯¯¯¯¯ ... ¯¯¯¯¯¯¯¯¯|¯ ... ¯¯¯|___|____________________________________|___________|____|¯¯¯¯|¯¯ 1
|
||||
| | | | |
|
||||
Drive CLK IN 1 ¯¯¯¯¯ ... ¯¯¯¯¯¯¯¯¯|¯ ... ¯¯¯|___|...D0..D1..D2..D3..D4..D5..D6..D7...|......_____|____|¯¯¯¯|¯¯ 1
|
||||
| | | | |
|
||||
Drive DATA OUT 0 _____ ... _________|_ ... _______|____________________________________|___________|_________|__ 0
|
||||
| | | | |
|
||||
Drive DATA IN 1 ¯¯¯¯¯ ... ¯¯¯¯|____|_ ... _______|__|¯¯¯|___|¯¯¯|___|¯¯¯|___|¯¯¯|_____|___________|_________|__ 0
|
||||
| | | | |
|
||||
host: DATA | drive: ack | host: clock out bits with CLK OUT | host: | drive: |
|
||||
OUT 1 -> 0, | by CLK OUT | as data, DATA OUT as clock, | CLK | busy by |
|
||||
CLK OUT | 1 -> 0 | filename is FILENAME_MAXLENGTH | OUT = 0 | CLK OUT |
|
||||
1 -> 0 | | chars or 0-terminated if fewer | | 0 -> 1 |
|
||||
|
||||
|
||||
|<-------------------- fetch block or status (looped) -------------------->|
|
||||
| |<-- get block loop -->| |
|
||||
| | | |
|
||||
busy | wait for | send block | get a byte from | drive | ack | acknowledge | idle
|
||||
| the drive's | start signal | the drive | busy | block | file transfer |
|
||||
| response | to the drive | | | | |
|
||||
| | | | | | |
|
||||
Host DATA IN 1 ¯¯¯¯¯¯|¯ ... ¯¯¯|_____|_______________|..D1...D3...D5...D7...|......¯¯¯¯¯|¯¯¯|___|_______________|__ 0
|
||||
| | | | | | |
|
||||
Host CLK IN 0 ______|_ ... _____|¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|..D0...D2...D4...D6...|......_____|_______|_______________|__ 0
|
||||
| | | | | | |
|
||||
Host DATA OUT 0 ______|_ ... _________|_______________|______________________|___________|_______|_______|¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | | | | |
|
||||
Host CLK OUT 0 ______|_ ... _________|_______________|______________________|___________|_______|_______|¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | | | | |
|
||||
Host ATN OUT 1 ¯¯¯¯¯¯|¯ ... ¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯|_______|_____|¯¯¯¯|____|¯¯¯¯|_|___________|___|¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | | | | |
|
||||
| | | | | | |
|
||||
Drive ATN IN 1 ¯¯¯¯¯¯|¯ ... ¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯|_______|_____|¯¯¯¯|____|¯¯¯¯|_|___________|___|¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | | | | |
|
||||
Drive ATNA OUT 1 ¯¯¯¯¯¯|¯ ... ¯¯¯|_XXXX|XXXXXXXXXXXXXXX|¯|____|¯¯¯¯|____|¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | __ __ __ __ | | | |
|
||||
Drive CLK OUT 1 ¯¯¯¯¯¯|¯ ... ¯¯¯¯¯|___|_______________|..D0...D2...D4...D6...|......¯¯¯¯¯|¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | __ __ __ __ | | | |
|
||||
Drive CLK IN 1 ¯¯¯¯¯¯|¯ ... ¯¯¯¯¯|___|_______________|..D0...D2...D4...D6...|......¯¯¯¯¯|¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | __ __ __ __ | | | |
|
||||
Drive DATA OUT 0 ______|_ ... ___|¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|..D1...D3...D5...D7...|......_____|_______|_______________|__ 0
|
||||
| | | __ __ __ __ | | | |
|
||||
Drive DATA IN 0 ______|_ ... ___|¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|..D1...D3...D5...D7...|......_____|_______|_______|¯¯¯¯¯¯¯|¯¯ 1
|
||||
| | | | | | |
|
||||
| drive: signal | host: ATN | host: clock in | drive: | host: | host: ack by |
|
||||
| ready by DATA | OUT 1 -> 0 | bit pairs with | DATA | ATN | DATA OUT |
|
||||
| OUT 0 -> 1, | | ATN OUT as clock, | OUT = 0, | OUT | and CLK OUT |
|
||||
| CLK OUT 1->0, | | last bit pair | CLK | 0->1 | 0 -> 1: enter |
|
||||
| then, if host | | acknowledged with | OUT = 1 | | idle mode = |
|
||||
| DATA IN is | | ATN OUT 1 -> 0 | | | host ATN, CLK |
|
||||
| set to 1, the | | | | | and DATA OUT |
|
||||
| drive is not | | | | | = 1, drive |
|
||||
| present | | | | | ATNA OUT = 1 |
|
||||
Loading…
Add table
Add a link
Reference in a new issue