User Tag List

Страница 4 из 4 ПерваяПервая 1234
Показано с 31 по 40 из 40

Тема: TRDOS 6.11P

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    09.03.2005
    Адрес
    Великий Новгород
    Сообщений
    127
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TmK Посмотреть сообщение
    почему грустно?
    Вобщем то ее архитектура понятна, но проблема вот в чем:
    В ATM есть механизм переключения любой страницы адресного пространства на любое окно - чем и пользуется VTRDOS переключая окно с 0x4000 для доступа к своим буферам и переменным (что происходит на каждый in/out). В случае же с фениксом и другими придется при каждом доступе искать текущую станицу, запоминать, переключаться на страницу с переменными, а потом обратно. А поиск дело долгое - (особенно на компах с большим количеством памяти...). Видимо можно оптимизировать, поставив поиск только на основные входы TRDOS, но нужна статистика - кто что юзает - для большей совместимости... + при таком подходе надо вызывать функцию поиска и тут же возникает проблема со стеком...
    Это так - мысли вслух...

    Цитата Сообщение от TmK Посмотреть сообщение
    Ты будешь делать чтоб скорость работы соответствовала реальному диску?
    было бы здорово сделать сетап vtrdos speed: real/fast
    У... до этого еще дожить надо - но думаю это меньшая из проблем.

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

  3. #2

    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну если прикинуть - при входе по адресам #3D00, #3D03, #3D13 и #3D2F(30) проделываем следующие действия:
    0. Проверяем сопоставлен ли текущий диск с виртуальным (думаю надо проверять по значению порта TRDOS, т.к. область системных переменных может быть убита)
    1. проверяем где стек, если больше чем #C000, то выставляем свой (задается в настройках vTRDOS опытным путем под каждую прогу)
    2. сохраняем первые 4 байта страницы, выставляем туда сигнатуру (например "vTRD"), ищем сигнатуру, запоминаем номер текущей страницы
    3. далее по плану

    ---------- Post added at 14:47 ---------- Previous post was at 14:46 ----------

    тратим лишних 1к тактов при операция с виртуальным диском дос - думаю неактуально учитывая сколько длится операция чтения сектора...
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

  4. #3

    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    753
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию incorrect memory paging in trdos 6.11p

    Each trdos rom must be compatible also with original 128kB machines (with ZX128 or Pentagon 128 and other clones using only paging port #7FFD).

    TR-DOS 6.11p set as first port 7FFD and as second write value to port 1FFD. This is incorrect way !!! As first must be always set port #1FFD and as second set port #7FFD.

    This trdos version can't be used on real betadisc interface connected to ZX Spectrum 128 / +2 or Pentagon 128 / 256 / 512. All this machines use ports adressation identical with original ZX128:
    Adressation of port #7FFD: A15=0 + A1=0 (0xxxxxxx xxxxxx0x). Example - OUT #1FFD,0 write on this machines value 0 to paging port #7FFD = connect page 0 + vram 0 + 128 rom (set 128rom = disconnect trdos rom). Each value writed to port #1FFD in trdos rom must contain D4=1 (set 48rom) if trdos is used on 128kB computers and OUT #7FFD must be used after OUT #1FFD !!!. This code will full compatible with all ZX models and can work on PHOENIX computer.

    UNREAL SPECCY emulator use unreal ports adressation for all ZX clones/models Unreal speccy port adressation of port #7FFD: A15=0, A2=1 ( ), A1=0.

    Real computer Pentagon 128/256/512kB use adressation: A15=0 + A1=0.
    Real Pentagon 1024SL 2.2 and 2.666LE use adress. : A15=0 + A14=1 + A1=0
    UNREAL SPECCY use abnormal ports adressation and software work incorrect.
    Последний раз редактировалось VELESOFT; 14.03.2010 в 13:18.

  5. #4

    Регистрация
    09.03.2005
    Адрес
    Великий Новгород
    Сообщений
    127
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от VELESOFT Посмотреть сообщение
    TR-DOS 6.11p set as first port 7FFD and as second write value to port 1FFD. This is incorrect way !!! As first must be always set port #1FFD and as second set port #7FFD.
    Thanks for information!

  6. #5

    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    753
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alsp Посмотреть сообщение
    Thanks for information!
    And this bug can be also fixed:

    http://zx.pk.ru/showthread.php?t=12301

    All this TRDOS ROMS contain patch for refresh value of register HL' after use trdos command RETURN. This patched roms return correct to basic after "break LIST command + use RETURN" ). Also will work return from machine code with modified HL' register.

    PATCH IN TR-DOS ROMS:

    ORG #1D13
    JP PATCH

    ORG #332C ;(adress can be different in other trdos versions)
    PATCH EXX
    LD HL,#2758
    EXX
    JR NZ,END
    DEC HL
    LD (#5C3D),HL
    END RET

  7. #6

    Регистрация
    20.03.2007
    Адрес
    Санкт-Петербург
    Сообщений
    3,000
    Спасибо Благодарностей отдано 
    201
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up

    Цитата Сообщение от VELESOFT Посмотреть сообщение
    And this bug can be also fixed:

    http://zx.pk.ru/showthread.php?t=12301

    All this TRDOS ROMS contain patch for refresh value of register HL' after use trdos command RETURN. This patched roms return correct to basic after "break LIST command + use RETURN" ). Also will work return from machine code with modified HL' register.

    PATCH IN TR-DOS ROMS:

    ORG #1D13
    JP PATCH

    ORG #332C ;(adress can be different in other trdos versions)
    PATCH EXX
    LD HL,#2758
    EXX
    JR NZ,END
    DEC HL
    LD (#5C3D),HL
    END RET
    Спасибо! Именно этот код для патча и искал. А то ужЕ в подсознании сидит: уж если LIST запустил - то никаких BREAK'ов, только чтоб до конца отработал!

    p.s. Willem Prog + W27C512 - черезвычайно удобная штука для Спекка!

Страница 4 из 4 ПерваяПервая 1234

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

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

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

Похожие темы

  1. Speccy2007 v1.06 (128 + AY + TRDOS)
    от syd в разделе Speccy-2007/2010
    Ответов: 474
    Последнее: 15.01.2020, 21:54
  2. RAMDISC in TRDOS
    от VELESOFT в разделе Оси
    Ответов: 14
    Последнее: 18.11.2009, 11:36
  3. TRDOS VERSIONS
    от VELESOFT в разделе Оси
    Ответов: 4
    Последнее: 03.05.2008, 23:42
  4. TRDOS для Neo
    от ILoveSpeccy в разделе Внешние накопители
    Ответов: 20
    Последнее: 08.03.2008, 15:04
  5. TRDOS rom with monitor
    от VELESOFT в разделе Оси
    Ответов: 1
    Последнее: 12.08.2007, 17:53

Ваши права

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