VELESOFT, change decoding port #DFFD as you will be comfortable.
VELESOFT, change decoding port #DFFD as you will be comfortable.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Done. Now exist TR-DOS 6.11Q for ZX PROFI 1024, Scorpion 1024, Pentagon 1024(v2.2 using 7FFD only),ZXM Phoenix.
http://zx-pk.ru/showthread.php?p=568409#post568409
Only in ZXM Phoenix mode detect memory size and if 2MB ram are detected, then ramdisc are in second 1MB block. This tr-dos version can be also modified for 1MB(only) support and use compatible ramdisc layout in first 1MB ram as Scopion/Pentagon/Profi....
Any next ideas ? I can in source code of TR-DOS 6.11Q add ramdisc support for other ZX models/clones as KAY 1024, Pentagon 1024 (v1.4), etc...
Последний раз редактировалось VELESOFT; 19.01.2013 в 21:08.
Смысл? Зачем нужен электронный диск в TR-DOS'е? На Профи электронный диск в CP/M был очень востребован в 90-е годы по причине того, что поддержки HDD не было сначала, а потом когда появилась далеко не каждый мог себе позволить такое дорогое удовольствие. Вот и использовали вместо HDD (очень, кстати продуктивно). А для TRDOS зачем? Сейчас поддержка HDD интереснее.
Скрытый текст
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[свернуть]
Yes. HDD is best for load/save TRD images but not ideal for direct access. In ramdisc you can make TRD image and use this virtual drive for your work. Some russian games use save to TRD images and disc can't be protected. If you will work only with TRD image on HDD, then any program can rewrite or destroy data in TRD and not exist way for return to original state. If you have WDC or FATALL instead service rom(or instead 128 editor) + TR-DOS rom with ramdisc support, then after reset start FAT browser with comfortable possibility import/export TRD/SCL/HOBETA/any other files between IDE device and RAMDISC. Data in ramdisc are ideal for testing/coding and original TRD image on IDE is without changes. At end of using TRD image can be saved from ramdisc to IDE. Without save will on IDE device original TRD image without changes :-) I can also add IDE support, but with some limits (without FAT support, TR-DOS will find only unfragmented block of TRD images and you can switch between TRD images via new command... This TRD images can be on any FS = FAT16/FAT32/NTFS/etc, only can't be this block fragmented.
Последний раз редактировалось VELESOFT; 25.01.2013 в 20:11.
В общем ответ понятен, а если нам надо сохранить оригинальный TRD (или любой другой) образ без изменений - можно на HDD сделать копию и работать с ней. Пусть даже она будет испорчена - не проблема сделать копию ещё раз, но с электронным диском конечно в этом плане проще и доступ быстрее.
Да да, это понятно, по сути без поддержки указанных FS. Узнаем лишь стартовый сектор файла на устройстве и в путь)). Для нормальной же поддержки FAT12/16/32 не обойтись без использования дополнительного ОЗУ (страниц в расширенной памяти, к примеру) и память в ПЗУ TR-DOS нужна. Или вычищаем её от ненужных/мало востребованных функций или выносим новый код в страницу Basic-128, к примеру. Кстати, для корректной поддержки FAT12/16 (про 32 не скажу, не обдумывал), не так много и надо. Савелий для Pentevo уже это реализовал, правда пока некоторые глюки (ошибки) в реализации наблюдаются. Другой вопрос, что есть программы которые вызывают подпрограммы TR-DOS по конкретным адресам, часто без особой на то причины. Есть такие которые просто проверяют содержимое на соответствие сигнатуре, вот с ними будут проблемы.
Скрытый текст
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[свернуть]
Any idea about new commands for switch TRD images ? Each TRD image=640kB. If I select TRD number 120 then shift LBA position to BEGIN(first sector of first TRD image) to 120 x 1280 ide sectors. Can be used two new commands - one for set ABSOLUTE position(number) of TRD, next for set RELATIVE position(number) of TRD.
example:
NEW 10 = select disc 10 (absolute position)
NEW +4 = jump to 4th disc (if current position is 10 then after this command is position 14)
NEW -2 = jump 2 discs back
We must also after each NEW XX command save number of selected TRD disc(position). I can save it to IDE sector, but trdos must before each read/save trdos sector also read selected TRD position. Next problem is in IDE sector size - TRDOS use 256bytes sectors and IDE device use 512kB secotrs. Then if I need save only one sector to IDE, my code must as first load one half of ide sector(256bytes) to ZX ram and save it as new 512bytes IDE sector (orig.half of ide sector + new 256 trdos sector data). And where I can find free 256 bytes in ZX ram ? On stack ?(it's can be with some loaders unusable). In extra ram >128kB ?(will work only on clones with big memory 256kB and more).
Almost nobody ever types anything in TR-DOS prompt. Evo Service selects disks via menu.
Если делать полную поддержку FAT, то алгоритм будет примерно такой: - при начале работы с диском необходимо прочитать BPB из boot сектора FAT устройства, запомнить их в переменных (новых, расположенных в расширенном ОЗУ). Далее, при монтировании образа tr-dos диска, нужно посмотреть номер начального кластера. Используя номер начального кластера необходимо выбрать всю цепочку FAT из которых состоит файл .TRD. Далее, в процедурах TR-DOS чтения/записи сектора делаем анализ номера сектора (по сути в LBA формате, только относительно дискеты) - в какой номер кластера файла TRD от начала файла мы попадаем (используя ранее считанные параметры). Получив относительный номер кластера (Cluster from file start) просматриваем цепочку FAT считанную ранее, находим нужный номер кластера. Ну а далее совсем просто, используя параметры из BPB делаем расчеты в итоге получая номер сектора LBA HDD. Из номер сектора (как бы LBA 0-2559) диска TRDOS нужно получить номер сектора в кластере. Сделав and с маской кластера. Маска кластера = кол-во секторов в кластере -1. Вот и почти всё. Ещё придётся вводить буфер, т.к. программа от trdos вправе запросить для чтения 1 сектор или в запрошенном блоке секторов будет нечетное их количество. А т.к. размер сектора на hdd 512 байт, буфер необходим. (на самом деле для чтения можно сделать вариант и без буфера, если будет интересно - расскажу как).
Думаю да, использована расширенная память. Скорее всего используется возможность подключения страниц в любое окно процессора.
p.s. забыл сказать, что расчёты сектора делаются на кластер, полный или нет. Т.е. вполне может быть ситуация, когда мы начинаем обращение к последнему сектору кластера. А какой он именно выясняем сделав and номера сектора относительно начала файла TRD с маской кластера. Если кластеры идут подряд (файл не фрагментирован), то более искать кластеры и делать вычисления не нужно
Последний раз редактировалось Vadim; 26.01.2013 в 07:21.
Скрытый текст
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[свернуть]
Hmm, I have some ideas:
After open TRD file will this file(image) save to IDE as 2x longer image (each 512bytes sector contain only 256bytes of each trdos sector and second 256 bytes can be unused (fill with zero value). TR-DOS with IDE support will work only with this converted files (lenght 2x640kB=1280kB). After eject disc(close work with image) can user save image to original TRD(rewrite) or ignore all changes.
Next idea is use small swap ZX memory for use as buffer for IDE sector....
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)