Важная информация

User Tag List

Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 31 по 40 из 43

Тема: PAGING PORTS of ZX / CLONES

  1. #31
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    VELESOFT, change decoding port #DFFD as you will be comfortable.

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от VELESOFT Посмотреть сообщение
    Ideal will rewrite all modern TR-DOS versions for all ZX clones with 1MB memory (PROFI,ATM,SCORPION,KAY,PHOENIX,PENTAGON,etc...). Only rewrite paging code !!! If will used same ramdisc layout on all ZX clones, then will same memory layout = compatible layout. Ramdisc begin at second memory page. ZX128 memory begin at first page 0.
    After switch ZX clone type will ramdisc always in same memory pages = usable
    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.

  4. #33
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от VELESOFT Посмотреть сообщение
    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...
    Смысл? Зачем нужен электронный диск в 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
    [свернуть]

  5. #34
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Смысл? Зачем нужен электронный диск в TR-DOS'е? На Профи электронный диск в CP/M был очень востребован в 90-е годы по причине того, что поддержки HDD не было сначала, а потом когда появилась далеко не каждый мог себе позволить такое дорогое удовольствие. Вот и использовали вместо HDD (очень, кстати продуктивно). А для TRDOS зачем? Сейчас поддержка HDD интереснее.
    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.

  6. #35
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем ответ понятен, а если нам надо сохранить оригинальный TRD (или любой другой) образ без изменений - можно на HDD сделать копию и работать с ней. Пусть даже она будет испорчена - не проблема сделать копию ещё раз, но с электронным диском конечно в этом плане проще и доступ быстрее.

    Цитата Сообщение от VELESOFT Посмотреть сообщение
    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.
    Да да, это понятно, по сути без поддержки указанных 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
    [свернуть]

  7. #36
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    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).

  8. #37
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Almost nobody ever types anything in TR-DOS prompt. Evo Service selects disks via menu.

  9. #38
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Almost nobody ever types anything in TR-DOS prompt. Evo Service selects disks via menu.
    But it work only on EVO ?

  10. #39
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от VELESOFT Посмотреть сообщение
    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
    Если делать полную поддержку 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 байт, буфер необходим. (на самом деле для чтения можно сделать вариант и без буфера, если будет интересно - расскажу как).

    Цитата Сообщение от VELESOFT Посмотреть сообщение
    But it work only on EVO ?
    Думаю да, использована расширенная память. Скорее всего используется возможность подключения страниц в любое окно процессора.

    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
    [свернуть]

  11. #40
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Ещё придётся вводить буфер, т.к. программа от trdos вправе запросить для чтения 1 сектор или в запрошенном блоке секторов будет нечетное их количество. А т.к. размер сектора на hdd 512 байт, буфер необходим. (на самом деле для чтения можно сделать вариант и без буфера, если будет интересно - расскажу как).
    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....

Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. MEMORY PAGING IN LOW 16kB
    от VELESOFT в разделе Память
    Ответов: 7
    Последнее: 04.04.2015, 13:36
  2. ZX PROFI - memory paging
    от VELESOFT в разделе Profi
    Ответов: 3
    Последнее: 06.11.2009, 20:08
  3. Clones and periprelas page
    от caro в разделе RST#38
    Ответов: 0
    Последнее: 09.01.2008, 11:28

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •