init files

This commit is contained in:
AArt1256 2025-11-13 19:07:39 +03:00
commit 8197a022bd
1409 changed files with 139317 additions and 0 deletions

27
loader/docs/Prerequisites.txt Executable file
View 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
View 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 |