CSAVE 0x34A9
CLOAD 0x3656
CRUN  0x372E

同步和前导：128个 0x80 5个 0xFE
程序类型：1字节 TYPE
程序文件名：最多17字节 FILENAME，空文件为1个0x00
静音：约0.003s。程序在此期间显示文件名
程序开始： 2字节 START
程序结束：2字节 END
程序数据：
求和校验值：2字节
结尾：0x00 1个字节, 没有该字节不影响读取

在读入文件名后，约有0.003秒的静音。这段时间应该是留给程序显示文件名用的。
长度约 555us x 5.5


磁带读取
3656: [0042 3656 1895 79E7] push hl

365F: [0042 3656 1895 79E7] di
3660: [0042 3656 1895 79E7] call (358Ch)
3663: [0102 1056 7A9D 79E7] push hl
3664: [0102 1056 7A9D 79E7] call (35B1h)
3667: [8093 1056 7A9D 71FF] ld hl,3842h
366A: [8093 1056 7A9D 3842] call (37F4h)
366D: [0044 0056 71E7 3849] call (35E7h)
35E7: [0044 0056 71E7 3849] call (3AF8h)

3AE8: [0044 0056 71E7 3849] or a
3AE9: [0044 0056 71E7 3849] ld a,(68FDh)
35EA: [FF38 0056 71E7 3849] ld a,(6800h)
35ED: [FB38 0056 71E7 3849] bit 6,a
35EF: [FB38 0056 71E7 3849] jr nz,(pc-8h)

35F1: [BF7C 0056 71E7 3849] call (378Fh)


延时 83 * 13 = 1066
37B0: [BF7C 07FF B3E7 3849] ld b,52h 
37B2: [BF7C 52FF B3E7 3849] djnz (pc+0h)


35EA: [FF38 0056 FFE7 3849] ld a,(6800h) : 11
35ED: [BF38 0056 FFE7 3849] bit 6,a :


3620: [FE38 0056 80E7 3849] call (3775h)
// 读取文件类型，保存在 7AD2
3623: [F138 0056 80E7 3849] ld (7AD2h),a

// 读取装载地址，保存在 781E
368D: [011A 0056 9A00 1BAB] ld (781Eh),de

// 读取结束地址，保存在 78F9
36BB: [0742 0000 B5AB B5AB] ld (78F9h),hl

381D: [0044 0056 71E9 7AB2] ld a,(7AD2h)
3820: [F144 0056 71E9 7AB2] and 0Fh

3670: [0044 0056 7A9D 7AB2] ld a,(7AD2h)
3673: [F144 0056 7A9D 7AB2] cp F2h

30C0: [0DA3 0000 B5AB 7839] di
30C1: [0DA3 0000 B5AB 7839] ld hl,(7AB0h)
30C4: [0DA3 0000 B5AB 7AB2] ld (hl),a
30C5: [0DA3 0000 B5AB 7AB2] inc hl
30C6: [0DA3 0000 B5AB 7AB3] ld (7AB0h),hl
30C9: [0DA3 0000 B5AB 7AB3] ld hl,7AAFh
30CC: [0DA3 0000 B5AB 7AAF] inc (hl)
30CD: [0D01 0000 B5AB 7AAF] push af
30CE: [0D01 0000 B5AB 7AAF] ld a,(78A6h)
30D1: [1F01 0000 B5AB 7AAF] add a,(hl)
30D2: [2030 0000 B5AB 7AAF] ld (7AAEh),a
30D5: [2030 0000 B5AB 7AAF] pop af
30D6: [0D01 0000 B5AB 7AAF] ei
30D7: [0D01 0000 B5AB 7AAF] cp 20h
30D9: [0DA3 0000 B5AB 7AAF] jp c,(30E3h)

30E3: [0DA3 0000 B5AB 7AAF] xor a
30E4: [0044 0000 B5AB 7AAF] cp (hl)
30E5: [0093 0000 B5AB 7AAF] jr nz,(pc-1h)
30E7: [0042 0000 B5AB 7AAF] ret

36C4: [0042 0000 B5AB 7AAF] ld a,(7AD2h)
36C7: [F142 0000 B5AB 7AAF] cp F1h
36C9: [F162 0000 B5AB 7AAF] jr nz,(pc+6h)
36CB: [F162 0000 B5AB 7AAF] ld hl,(781Eh)
36CE: [F162 0000 B5AB 9A00] jp (hl)

9A00: [F162 0000 B5AB 9A00] jp (B50Ah)
B50A: [F162 0000 B5AB 9A00] xor a


-------------------------------------
磁带写入
CSAVE 0x34A9
79E8---7A9C 输入缓冲区

34A9: [2222 34A9 1897 79E8] di
34AA: [2222 34A9 1897 79E8] ld c,F0h
34AC: [2222 34F0 1897 79E8] call (3558h)
34AF: [0038 00F0 7AA1 79ED] jp c,(3AFEh)
34B2: [0038 00F0 7AA1 79ED] push hl

3511h 写磁带
3558: [2222 34F0 1897 79E8] call (358Ch)

写同步
355B: [0412 0DF0 7AA0 79ED] ld b,FFh
355D: [0412 FFF0 7AA0 79ED] ld a,80h
355F: [8012 FFF0 7AA0 79ED] call (3511h)
3562: [8012 FFF0 7AA0 79ED] call (3AE8h)
3565: [FF38 FFF0 7AA0 79ED] ret c
3566: [FF38 FFF0 7AA0 79ED] djnz (pc-9h)

写同步
3568: [FF38 00F0 7AA0 79ED] ld b,05h
356A: [FF38 05F0 7AA0 79ED] ld a,FEh
356C: [FE38 05F0 7AA0 79ED] call (3511h)
356F: [FE38 05F0 7AA0 79ED] call (3AE8h)
3572: [FF38 05F0 7AA0 79ED] ret c
3573: [FF38 05F0 7AA0 79ED] djnz (pc-9h)

写文件类型
3575: [FF38 00F0 7AA0 79ED] ld a,c
3576: [F038 00F0 7AA0 79ED] call (3511h)
3579: [F038 00F0 7AA0 79ED] call (3AE8h)
357C: [FF38 00F0 7AA0 79ED] ret c

写文件名
357D: [FF38 00F0 7AA0 79ED] ld a,(7AD6h)
3580: [0438 00F0 7AA0 79ED] ld b,a
3581: [0438 04F0 7AA0 79ED] ld de,7A9Dh
3584: [0438 04F0 7A9D 79ED] ld a,(de)
3585: [4138 04F0 7A9D 79ED] inc de
3586: [4138 04F0 7A9E 79ED] call (3511h)
3589: [4138 04F0 7A9E 79ED] djnz (pc-5h)
358B: [0038 00F0 7AA1 79ED] ret

写文件开始位置
34C2: [FF38 0000 7AA1 79ED] ld hl,(78A4h)
34C5: [FF38 0000 7AA1 7AE9] ld a,l
34C6: [E938 0000 7AA1 7AE9] call (3511h)
34C9: [E938 0000 7AA1 7AE9] ld (ix+00h),a
34CC: [E938 0000 7AA1 7AE9] xor a
34CD: [0044 0000 7AA1 7AE9] ld (ix+01h),a
34D0: [0044 0000 7AA1 7AE9] ld a,h
34D1: [7A44 0000 7AA1 7AE9] call (3511h)

写文件结束位置
34D8: [0100 0000 7AE9 7AA1] ld hl,(78F9h)
34DB: [0100 0000 7AE9 7AF5] ld a,l
34DC: [F500 0000 7AE9 7AF5] call (3511h)
34DF: [F500 0000 7AE9 7AF5] call (388Eh)
34E2: [0200 0000 7AE9 7AF5] ld a,h
34E3: [7A00 0000 7AE9 7AF5] call (3511h)

写文件内容
34EC: [FF38 0000 7AE9 7AF5] ld a,(de)
34ED: [F338 0000 7AE9 7AF5] inc de
34EE: [F338 0000 7AEA 7AF5] call (3511h)

写校验值
34FA: [0042 0000 7AF5 7AF5] ld a,(ix+00h)
34FD: [5342 0000 7AF5 7AF5] call (3511h)
3500: [5342 0000 7AF5 7AF5] ld a,(ix+01h)
3503: [0642 0000 7AF5 7AF5] call (3511h)
3506: [0642 0000 7AF5 7AF5] ld b,14h

写零结束
3508: [0642 1400 7AF5 7AF5] xor a
3509: [0044 1400 7AF5 7AF5] call (3511h)


输入了 CSAVE "ABC"
22h 41h 42h 43h

从缓冲区读取文件名到 7A9D
7AD6h 长度 4

7A9D 7A9E 7A9F 7AA0
A B C 0x00

358E: [2222 10F0 1897 79E8] ld de,7A9Dh

1D79: [2262 10F0 7A9D 79E9] ld a,(hl)
35A0: [4104 10F0 7A9D 79EA] cp 22h

35A4: [4132 10F0 7A9D 79EA] ld (de),a


35A8: [2262 0DF0 7AA0 79ED] xor a
35A9: [0044 0DF0 7AA0 79ED] ld (de),a
35AA: [0044 0DF0 7AA0 79ED] ld a,11h
35AC: [1144 0DF0 7AA0 79ED] sub b
35AD: [0412 0DF0 7AA0 79ED] ld (7AD6h),a
