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” MBR
1 “PART1” FAT32
2 “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” MBR
1 “SYSTEM” FAT32
2 “DATA” FAT32
READY.
DOS”CP1”:REM SWITCH TO PARTITION 1
READY.
DOS”$”:REM SHOW DIRECTORY
0 “SYSTEM “ FAT32
99 MB FREE.
READY.
OPEN1,8,2,”HELLO,P,W”:PRINT#1,”HELLO WORLD!”REM CREATE FILE
READY.
DOS”$”
0 “SYSTEM “ FAT32
1 “HELLO” PRG
99 MB FREE.
READY.
DOS”C:WORLD=HELLO”:REM DUPLICATE FILE
READY.
DOS”$”
0 “SYSTEM “ FAT32
1 “HELLO” PRG
1 “WORLD” PRG
99 MB FREE.
READY.
DOS”C:HELLO WORLD=HELLO,WORLD”:REM CONCATENATE FILES
READY.
DOS”$”
0 “SYSTEM “ FAT32
1 “HELLO” PRG
1 “WORLD” PRG
1 “HELLO WORLD” PRG
99 MB FREE.
READY.
DOS”MD:SECRET”:REM CREATE SUBDIRECTORY
READY.
DOS”$”
0 “SYSTEM “ FAT32
1 “HELLO” PRG
1 “WORLD” PRG
1 “HELLO WORLD” PRG
0 “SECRET” DIR
99 MB FREE.
READY.
DOS”$//SECRET/:”:REM SHOW SUBDIR CONTENTS
0 “SYSTEM “ FAT32
0 “.” DIR
0 “..” DIR
99 MB FREE.
READY.
DOS”CD:SECRET”:REM CHANGE TO SUBDIR
READY.
DOS”$”
0 “SYSTEM “ FAT32
0 “.” DIR
0 “..” DIR
99 MB FREE.
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 “ FAT32
98 MB FREE.
READY.
DOS”C:DATA FILE=1//SECRET/:SECRET HELLO”:REM COPY FILE FROM PARTITION 1
READY.
DOS”$
0 “DATA “ FAT32
1 “DATA FILE” PRG
98 MB FREE.
READY.
DOS”$1:”:REM SHOW DIRECTORY OF PARTITION 1
1 “SYSTEM “ FAT32
1 “HELLO” PRG
1 “WORLD” PRG
1 “HELLO WORLD” PRG
0 “SECRET” DIR
99 MB FREE.
READY.
DOS”S1:H*”:REM DELETE ALL FILES THERE STARTING WITH H
READY.
DOS:REM THIS WILL SAY THAT “02” FILES WERE DELETED
01, FILES SCRATCHED,02,00
READY.
DOS”CP1”:REM CHANGE BACK TO PARTITION 1
READY.
DOS”$
0 “SYSTEM “ FAT32
1 “WORLD” PRG
0 “SECRET” DIR
99 MB FREE.
READY.
DOS”S:*”:REM DELETE ALL REMAINING FILES
READY.
DOS:REM THIS WILL SAY THAT “01” FILE WAS DELETED
01, FILES SCRATCHED,01,00
READY.
DOS”$”:REM THE DIRECTORY IS STILL THERE
0 “SYSTEM “ FAT32
0 “SECRET” DIR
99 MB FREE.
READY.
DOS”RD:SECRET”:REM DELETE IT
READY.
DOS:REM “00” FILES DELETED, BECAUSE DIR WAS NOT EMPTY
01, FILES SCRATCHED,00,00
READY.
DOS”S//SECRET/:*”:REM DELETE ALL FILES INSIDE
READY.
DOS:REM “01” FILE DELETED
01, FILES SCRATCHED,01,00
READY.
DOS”RD:SECRET”:REM NOW TRY DELING THE DIR AGAIN
READY.
DOS:REM “01” FILES DELETED, IT WORKED THIS TIME
01, FILES SCRATCHED,01,00
READY.
DOS”$
0 “SYSTEM “ FAT32
99 MB FREE.
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文件系统