Вот полное описание +3dos. Там же есть описание как File attributes and headers, так и Disk format and specification. Голосую +1 за xDSK плагин.
Когда на твой вопрос отвечает философ, перестаешь понимать вопрос
Плагин то написан, или мне это сделать?
Сделал набросок читалки. Файлы будут выглядят так:
DISK.10-18.bas
DIZZY4.BAS.10-151.bas
DIZZY4.DAT.24137.bin
DIZZY4.LDR.24500.bin
DIZZY4.MUS.32768.bin
DIZZY4.SCR.16384.bin
Вся полезная информация из 128-байтного заголовка файла включается в расширение файла (тип файла, адрес загрузки, имя переменной, стартовая строка и offsetToProg), а сам заголовок уничтожается. В заголовке вроде ничего полезного нет.
struct Plus3DOSFileHeader {
unsigned char id[9]; // PLUS3DOS\x1A
unsigned char issueNumber, versionNumber;
unsigned int fileLength;
unsigned char type; // Тип данных: 0=basic, 1=numarrray, 2=strarray, 3=code
unsigned short internalLength;
union {
struct {
unsigned short startLine;
unsigned short offsetToProg;
} type0;
struct {
unsigned char null2;
unsigned char name;
unsigned short null3;
} type1or2;
struct {
unsigned short address;
unsigned short null3;
} type3;
};
unsigned char null1[105];
unsigned char crc;
};
P.S. Сделаю еще авто преобразование из TAP в DSK.
Последний раз редактировалось vinxru; 08.04.2011 в 16:32.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Только что произвел автоматический перегон из TAP в DSK 720K. Игра запустилась.
Так же, содержимое DSK можно сохранять на диск и загружать с диска.
Грузятся, если используется программа на Бэйсике (использующая команду LOAD). И в команде LOAD указано имя файла, и имя файла может быть именем файла 3DOS.
Если имя не указано, то необходимо добавить имя. Я то же попробую этот момент автоматизировать.
Ну и игра совместима с Spectrum 128. Например версия Saboteur 2 для 48К глючит (есть рабочая версия для 128К). И игра не должна пытаться с помощью LOAD загрузить данные в дополнительные страницы памяти (как в игре Lode Runner 128K).
vinxru, а ну это только простые незащищенные загрузчики...
В +3 дос синтаксис тап совпадает с диском, надо указывать только устройство, по умолчанию там диск...
Автоматизировать это необязательно, так как простых загрузчиков практически нет.
Лучше сделать, чтобы плагин работал с реальными дисками, так как после перегонски с тап, нужно будет еще образ загнать на диск и хорошо, если это можно будет делать по файлам. Сейчас можно перегнать только весь образ утилитой, которую я в этом разделе постил.
Еще неплохо, если будет работать с дисководом ноутбука через усб. А то обычных дисководов и компов уже почти ни у кого нет...
Последний раз редактировалось Addison; 10.04.2011 в 19:43.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)