CMDR-DOS:FAT32上的准将DOS从流行的1541 5.25英寸驱动器到现代sd2iec SD卡接口,连接到Commodore 64串行总线的所有磁盘驱动器都使用Commodore DOS协议。CMDR-DOS是Commodore DOS协议的一种新的开放源代码实现,它使用具有FAT32文件系统的SD卡,并支持诸如分区,子目录和时间戳之类的高级功能,并且在65c02上运行!
指挥官X16它的内置的DOS 指挥官X16,并运行在主CPU上,所以籽粒API( ,talk,tksa,untlk,listn,secnd,unlsn,acptr)ciout直接调用进入DOS执行。LOAD在8 MHz系统上,这允许大约140 KB / sec的速度。
演示:

成绩单:
DOS“$=P”:REM THERE ARE TWO PARTITIONS ON THIS SD-CARD
255 “CMDR-DOS SD CARD” MBR1 “PART1” FAT322 “PART2” FAT32
READY.DOS“N1:SYSTEM,1616,FAT32”:REM FORMAT PARTITION 1
READY.DOS“N2:DATA,1617,FAT32”:REM FORMAT PARTITION 2
READY.DOS“$=P”:REM THE NEW NAMES OF THE TWO PARTITIONS
255 “CMDR-DOS SD CARD” MBR1 “SYSTEM” FAT322 “DATA” FAT32
READY.DOS“CP1”:REM SWITCH TO PARTITION 1
READY.DOS“$”:REM SHOW DIRECTORY
0 “SYSTEM ” FAT3299 MB FREE.
READY.OPEN1,8,2,“HELLO,P,W”:PRINT#1,“HELLO WORLD!”:CLOSE1:REM CREATE FILE
READY.DOS“$”
0 “SYSTEM ” FAT321 “HELLO” PRG99 MB FREE.
READY.DOS“C:WORLD=HELLO”:REM DUPLICATE FILE
0 “SYSTEM ” FAT321 “HELLO” PRG1 “WORLD” PRG99 MB FREE.
READY.DOS“C:HELLO WORLD=HELLO,WORLD”:REM CONCATENATE FILES
0 “SYSTEM ” FAT321 “HELLO” PRG1 “WORLD” PRG1 “HELLO WORLD” PRG99 MB FREE.
READY.DOS“MD:SECRET”:REM CREATE SUBDIRECTORY
0 “SYSTEM ” FAT321 “HELLO” PRG1 “WORLD” PRG1 “HELLO WORLD” PRG0 “SECRET” DIR99 MB FREE.
READY.DOS“$//SECRET/:”:REM SHOW SUBDIR CONTENTS
0 “SYSTEM ” FAT320 “.” DIR0 “..” DIR99 MB FREE.
READY.DOS“CD:SECRET”:REM CHANGE TO SUBDIR
READY.DOS“C:SECRET HELLO=//:HELLO”:REM COPY FILE FROM ROOT TO HERE
READY.DOS“CD:_”:REM CHANGE BACK UP
READY.DOS“CP2”:REM CHANGE TO PARTITION 2
READY.DOS"$
0 “DATA ” FAT3298 MB FREE.
READY.DOS“C:DATA FILE=1//SECRET/:SECRET HELLO”:REM COPY FILE FROM PARTITION 1
0 “DATA ” FAT321 “DATA FILE” PRG98 MB FREE.
READY.DOS“$1:”:REM SHOW DIRECTORY OF PARTITION 1
1 “SYSTEM ” FAT321 “HELLO” PRG1 “WORLD” PRG1 “HELLO WORLD” PRG0 “SECRET” DIR99 MB FREE.
READY.DOS“S1:H*”:REM DELETE ALL FILES THERE STARTING WITH H
READY.DOS:REM THIS WILL SAY THAT “02” FILES WERE DELETED01, FILES SCRATCHED,02,00
READY.DOS“CP1”:REM CHANGE BACK TO PARTITION 1
0 “SYSTEM ” FAT321 “WORLD” PRG0 “SECRET” DIR99 MB FREE.
READY.DOS“S:*”:REM DELETE ALL REMAINING FILES
READY.DOS:REM THIS WILL SAY THAT “01” FILE WAS DELETED01, FILES SCRATCHED,01,00
READY.DOS“$”:REM THE DIRECTORY IS STILL THERE
0 “SYSTEM ” FAT320 “SECRET” DIR99 MB FREE.
READY.DOS“RD:SECRET”:REM DELETE IT
READY.DOS:REM “00” FILES DELETED, BECAUSE DIR WAS NOT EMPTY01, FILES SCRATCHED,00,00
READY.DOS“S//SECRET/:*”:REM DELETE ALL FILES INSIDE
READY.DOS:REM “01” FILE DELETED01, FILES SCRATCHED,01,00
READY.DOS“RD:SECRET”:REM NOW TRY DELING THE DIR AGAIN
READY.DOS:REM “01” FILES DELETED, IT WORKED THIS TIME01, FILES SCRATCHED,01,00
READY.REM THAT’S IT. :)
READY.资源该实现是Commander X16 ROM的一部分,可在此处获取:
https://github.com/commanderx16/x16-rom/tree/master/dos
未来该代码库非常通用,可以重用于其他类型的项目:
其他新型复古机CMDR-DOS可以轻松移植到其他类似Commodore的65c02 +系统,例如MEGA65和C256 Foenix,从而在这些平台上为FAT32提供DOS接口。
类似于sd2iec的设备从功能上讲,CMDR-DOS代码库也非常类似于sd2iec所做的事情-减去了Commodore Serial部分。可以将其移植到1581replica之类的设备上,该设备附有SD卡而不是磁盘驱动器,并且该设备将具有基于65c02的sdi2ec类设备。
分类目录6502,Commodore,Commodore外围总线,DOS,GitHub,KERNAL,操作系统,X16帖子导航用于65c02的FAT32文件系统