Просмотр полной версии : SteinBlume. CP/M Disk Image Explorer (ex ATM CP/M Explorer)
Black Cat / Era CG
15.06.2022, 20:14
ага. потому что там 16 блоков по 2048 байт.
Black Cat / Era CG
15.06.2022, 20:35
не баг. не фича. просто желательно знать/уметь подбирать параметры. как выяснилось "реализаторы" обращаются с ними очень вольно.
В том-то и дело что cpmtools то ли это умеет, то ли какими-то тайными знаниями владеет.....
Black Cat / Era CG
16.06.2022, 17:32
У меня тоже многое автоматом раньше подставлялось. Но пришлось поотключать.
Black Cat / Era CG
16.06.2022, 22:26
А некоторые хитрые реализации не работали.
Black Cat / Era CG
16.06.2022, 22:38
про галочку все равно объяснять бы пришлось)))
dk_spb, личка у тебя переполнена, отвечу тут.
1) по DIR не видны большие файлы, которые занимают несколько записей в директории.
cpmtools такие файлы видит, SteinBlume их видит если ему ручками прописать exm=01
Как-то это исправляется в конфиге эмулятора?
Это задаётся не в конфиге, а в БИОСе CP/M (в DPB). Если там другие значения, то и результат другой. Я уже не помню, где там DPB у Ириши, скорее всего фиксированный для определённой буквы диска. Вот например у Корвета DPB располагается в первом секторе, и он может работать с дисками разного формата. А тут с первого сектора уже каталог.
В cpmtools может быть есть какие-то эвристики - в принципе, найти каталог не сложно, данные в нём должны удовлетворять определённым критериям, а по содержимому каталога вроде можно определить размер блока. А далее уже работать с блоками. Хотя, если дорожки с двух сторон идут подряд, нужно же как-то перепрыгивать вторую сторону...
2) диск вроде бы почти совсем стандартного формата:
2H40C9S512, размер блока 2048, каталог - 1 блок, системных дорожек -0.
Но есть засада: вторая половина блоков расположена на второй (h1) стороне.
То на на c0h0 распожены первые два блока (0 и 1) и первая половина третьего (номер 2), а вторая половина третьего блока - на c1h0.
И все первые 90 блоков расположены на стороне h0.
При этом следующий, 91 блок, находится на c0h1.
И вроде как эмулятор этого не понимает. Хотя, по идее, должен, так как номер блока в номер дорожки, стороны и секторов должен делать BIOS (а он точно такой же, как на живой машине, которая с этим диском нормально работает).
Может мне надо в конфиге что-то прописать?
В конфиге-то можно прописать 2H40C9S512 для образа диска, а вот ожидает ли БИОС Ириши такой диск - вопрос. Настройка в конфиге лишь гарантирует, что считается именно тот сектор, который соответствует формату образа.
И ещё вопрос, если позволите: а откуда Вы взяли систему для Ириши, ту, которая в .gmd образе в составе эмулятора?
Сам делал. Там ещё дибильный порядок секторов, не спрашивай, как я это делал. :)
- - - Добавлено - - -
А, забыл сказать, тот DPB, что есть в конфиге - это для виртуального диска, чтобы можно было открывать обычный каталог на PC, как диск.
- - - Добавлено - - -
Кстати, 2H40C9S512 это как раз не правильный формат (для эмулятора), при таком формате сначала полностью должна идти сторона 0 (все 40 дорожек), а потом сторона 1.
Я понял что нифига не понял. На живом компьютере работает, а в эмуляторе - нет.
Что делать - непонятно.
Я-то думал что в эмуле что-то не соответствует реальному компу настолько, что дискеты не читаются.
- - - Добавлено - - -
И еще более забавный вопрос: открываю ПЗУ (в файлах к эмулю), вижу "48К BIOS ... 40 tps DS"
Запускаю эмуль - на экране уже вижу "48К BIOS ... 80 tps DS"
Как так?
- - - Добавлено - - -
Личку почистил
открываю ПЗУ (в файлах к эмулю), вижу "48К BIOS ... 40 tps DS"
Запускаю эмуль - на экране уже вижу "48К BIOS ... 80 tps DS"
Как так? Особенно если учесть что образ диска-то как раз строго 40tps
Я немного копнул, за конфигурацию отвечают биты 3-7 порта 38h.
Сейчас в конфиге стоит:
port38 : Register {
read[3-7]=05
А для 40-дорожечного нужно read[3-7]=06 (вроде), по крайней мере с таким значением показываются все файлы.
Не, 06 это будет 40 tps SS, а для 40 tps DS нужно поставить 04. Можешь поиграть с битами 3-4 (у константы биты 0-1).
Опять личка переполнена...
Не, 06 это будет 40 tps SS, а для 40 tps DS нужно поставить 04. Можешь поиграть с битами 3-4 (у константы биты 0-1).
Спасибо!!!!!
Я пытаюсь открыть образ раздела ЖД CP/M для Скорпиона. Что-то не могу подобрать правильные параметры .xdi.
В лучшем случае каталог есть, первый файл нормально открывается, а у остальных содержимое уже не то.
Вот параметры раздела на 2 мега (с комментариями для себя):
dpblk_smuc:
dw 64 ;sectors per track ;SPT - количество секторов (по 128 байт) на дорожку;
db 5 ;block shift factor ;BSH - количество бит, на которое необходимо сдвинуть размер логического сектора, чтобы получить размер кластера;
db 31 ;block mask ;BLM - маска кластера - (размер_кластера/128)-1;
db 0 ;null mask ;ЕХМ - маска директорной записи : если ЕХМ=0), то максимальный размер, адресуемый одной директорной записью, равен 16К; если ЕХМ=1, то - 32К и т.д.
dw 501 ;disk size-1 ;DSM - количество BLS -1 (не считая системных дорожек)
dw 255 ;directory max ;DRM - количество входов в директорию -1
db 0c0h ;224 ;alloc 0 ;AL0,1 - битовая шкала занятости BLS директорией. Начало шкалы - бит 7 AL0, конец - бит 0 AL1. Количество единиц, заполняющих AL0,1 (от начала шкалы) - (DRM+BLS/32)/(BLS/32).
db 0 ;alloc 1 ;AL1
dw 64 ;0 ;check size ;CKS - размер области CSV в DPH. Для сменных дисков - (DRM+1)/4, для не сменных - 0.
dw 4 ;track offset ;OFF - количество зарезервированных дорожек на диске (с системой например).
dw 0102h ;extra +15 H=hszmsk L=hszshf
;Размер области ALV в DPH - (DSM/8)+1
;BLS = 1024 (3,7), 2048 (4,15), 4096 (5,31), 8192 (6,63), 16384 (7,127)
А так делаю в программе:
https://pic.maxiol.com/thumbs2/1681571755.1841679792..png (https://pic.maxiol.com/?v=1681571755.1841679792..png&dp=2) https://pic.maxiol.com/thumbs2/1681571937.1841679792.1.png (https://pic.maxiol.com/?v=1681571937.1841679792.1.png&dp=2)
Прошу хелпа.
Black Cat / Era CG
16.04.2023, 21:41
izzx, ваще проект по идее закрыт. Но попробую посмотреть.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot