Через Ж. честно говоря.
По оригинальной схеме
A0 & !A1 & !A2 & !A3 & !A4 выбор контроллера
после доработки как в инструкци по наладке
A0 & !A1 & !A2 & A3 & A4 выбор контроллера
A5 -> A0 ВГ93
A5 -> A1 ВГ93
А7 = 0 ВГ93
А7 = 1 регистр статуса
Финальный вариант
http://zx-pk.ru/showpost.php?p=726409&postcount=226
чистовая плата ушла на изготовление.
Прилагаю програмки для работы с образами дисков Хамелеона.
lviv-empty-dsk.pl - создает пустой образ диска
lviv-dsk-to-lvt.pl - печатает каталог диска и вынимает с него все файлы в отлельную директорию переделывая их из COM & EXE в LVT & Lvx
получаемые LVT файлы работают в эмуляторе
lviv-lvt-to-dsk.pl - добавляет на диск LVT файлы конвертируя их в COM
решает проблему Хамелеона loading address = start address
(в LVT может быть loading address != start address)
понимает три типа LVT файлов:
- loading address = start address (Direct)
- loading address != start address && loading address > 2 ( увеличение на 3 байта и добавление команды JMP)
- loading address != start address && loading address < 2 ( добавление перемещающего загрузчика)
Проверено - работает на реальном компьютере+ контроллер дисковода.
Последний раз редактировалось kapitan-u; 26.06.2015 в 01:07.
kapitan-u,
Вы - маг и чародей!
Lviv PK-01 Chameleon DOS and CP/M36
* note PK-01 is unable to WRITE MFM disks due to CPU constraints
it READS MFM OK
MFM, 300rpm, 250000 bps
IBM ISO 2 sides, 83 tracks, 16 sectors per track, 256 bytes per sector
679 936 formatted capacity
and
FM, 300rpm, 250000 bps
IBM ISO 2 sides, 83 tracks, 9 sectors per track, 256 bytes per sector
382 464 formatted capacity
sector order 1,2,3 ...
Track header:
0x4e x 80 - GAP1
0x00 x 12 - sync
0xC2 x 3 - desync
0xFC - marker
0x4e x 65 - GAP
Sector header::
0x00 x 12 - sync
0xa1 x 3 - desync
0xfe - IDAM marker
tt - track number (starting #0)
sd - side
sc - sector number (starting #1)
0x01 - 256 bytes per sector
cc x 2 - CRC
0x4e x 22 - GAP2
Sector Data:
0x00 x 12 - sync
0xa1 x 3 - desync
0xfb - DATA AM marker
dd x 256 - data
cc x 2 - CRC
0x4e x 70 - GAP3
0x4e x 141 - GAP4
6510 bytes total
unformated MFM track at 300RPM = 6250 bytes
extra 40 bytes may be at GAP1 or GAP4
For FM and MFM disks
catalog location: Side 0 Track 0 Sectors 1-9
Sector 1: 17 bytes disk attributes + 14 x 17 bytes file records + 1 byte = 0x00 padding to 256 bytes
Sector 2-9: 15 x 17 bytes file records + 1 byte = 0x00 padding to 256 bytes
Therefore maximum number of files: 134
Disk attr in catalog - 17 bytes
- 11 bytes disk name
- 1 byte first free sector
- 1 byte first free track
- 1 byte unknown
- 1 byte hidden DIR flag
- 1 byte write protection
- 1 byte not used just padding to 17 bytes
File entry in catalog - 17 bytes
- 8 bytes file name (if first byte = 0x01 then file is marked as deleted)
- 3 bytes file extention
- 1 byte file status: 0x00 Normal, 0x01 Protected, 0x02 Protected and Hidden;
- 1 byte file location sector
- 1 byte file location track
- 2 bytes RAM loading address = start address (for BAS files: file length in bytes)
- 1 byte file length in sectors of 256 bytes
Последний раз редактировалось kapitan-u; 23.09.2014 в 00:06.
А файлы для изготовления печатной платы возможно выложить???
Можно. Я спаяю вторую версию и проверю нет ли ошибок, потом выложу.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)