init files
This commit is contained in:
commit
8197a022bd
1409 changed files with 139317 additions and 0 deletions
27
loader/docs/Prerequisites.txt
Executable file
27
loader/docs/Prerequisites.txt
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
Path, loader only:
|
||||
Name Source Remarks
|
||||
|
||||
ca65 https://cc65.github.io set path to <cc65path>/bin
|
||||
ld65 https://www.cc65.org/ set path to <cc65path>/bin
|
||||
ar65 https://www.cc65.org/ set path to <cc65path>/bin
|
||||
|
||||
make https://www.gnu.org/software/make/
|
||||
gcc https://gcc.gnu.org/ needed to build cc1541 and most of the compressors
|
||||
|
||||
perl https://www.perl.org/ needed to generate a symbols file for the make prg target in loader/src and
|
||||
to run the compressed file converter for Taboo Levelcrush
|
||||
python https://www.python.org/ needed to run tinycrunch's tc_encode.py
|
||||
rust https://www.rust-lang.org/ needed to build NuCrunch
|
||||
zip needed to make a loader binary archive for the make prg target in loader/src
|
||||
|
||||
|
||||
Path, samples folder:
|
||||
Name Source Remarks
|
||||
|
||||
lua https://www.lua.org/ needed to run the benchmarks
|
||||
|
||||
c1541 https://vice-emu.sourceforge.net/
|
||||
vice https://vice-emu.sourceforge.net/
|
||||
plus4emu https://plus4emu.sourceforge.net/ needed if not using the USE_VICE=1 make run switch on Plus/4 and MAC OS X
|
||||
Yape/YapeWin64 http://yape.homeserver.hu/ needed if not using the USE_VICE=1 make run switch on Plus/4 and Windows
|
||||
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