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

User Tag List

Показано с 1 по 6 из 6

Тема: 128 -> 48

  1. #1
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    713
    Благодарностей: 14
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question 128 -> 48

    напомните, плз, как из 128 режима переключиться в 48 (полноценный, с закрытым 7ffd), так, чтобы безболезненно вернуться после этого в васик. от лысого out(7ffdH),30H васик обижается

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

  3. #2
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Благодарностей: 29
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    randomize usr 0
    ?
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  4. #3
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    713
    Благодарностей: 14
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    randomize usr 0
    ?
    кхем.. не, аналог команды васика-128 "spectrum", не прерывающий выполнение программы. OUT(7ffd),#30 прекрасно все переключает, но стоит сделать RET, как настают кранты -- тк на стеке адрес в ПЗУ-0

  5. #4
    Activist Аватар для Jukov
    Регистрация
    03.12.2005
    Адрес
    Серов
    Сообщений
    471
    Благодарностей: 65
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В своём буте я делаю так для перехода в режим 48 с открытым портом:
    RES 4,(IY+1)
    LD SP,(23613)
    LD HL,#1303
    EX (SP),HL
    LD HL,#1B7D
    PUSH HL

    Дальше тебе нужно добавить лишь out. В литературе также еще рекомендуется переключать каналы на работу с ZX-принтером, но думаю тебе это не понадобится.
    Последний раз редактировалось Jukov; 03.03.2006 в 22:17.

  6. #5
    Guru
    Регистрация
    15.01.2005
    Адрес
    USSR
    Сообщений
    2,038
    Благодарностей: 331
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Переключение из 128К в 48К "на ходу":

    CALL сюда-> DI
    LD SP,(23613)
    POP HL
    LD HL,4867 ; ERR_SP FOR 48-BASIC
    PUSH HL
    LD HL,7030 ; CONTINUE INTERPRETATOR 48-BASIC
    PUSH HL
    RES 4,(IY+1); сброс флага 128К
    LD DE,5566 ; INFORMATION FOR STREAMS
    LD HL,(23631) ; CHANS
    LD BC,15
    ADD HL,BC
    EX DE,HL ; DE=ADDR.FOR STREAMS/CHANNELS, HL=5556
    LD C,4 ; BC=4 FOR LDIR
    LDIR
    EI
    RET
    ; после возврата из этой подпрограммы будет 48К режим с открытым портом #7FFD.
    ; Если нужно закрыть порт, запишите в него нужный байт по возвращении
    ; из подпрограммы.

    Вызов этой подпрограммы
    не опасен, поэтому специальной проверки на 128К не требуется.
    Последний раз редактировалось Wlodek; 03.03.2006 в 20:35.

  7. #6
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    713
    Благодарностей: 14
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    оно самое, спасибо

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

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

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

Ваши права

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