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

User Tag List

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

Тема: Запуск редактора Basic128 (Calculator) из программы

  1. #1
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Запуск редактора Basic128 (Calculator) из программы

    Приветствую!
    Работаю над новой версией KRS (порт EvoResetService под клоны S/KAY) и появилось желание изменить пункт "128K menu" на "128К Basic", т.е. переход непосредственно в редактор бейсика. Но, как говорится, с наскока не получилось. Нашел точки входа: #286c - редактор 128 бейсика, #2885 - калькулятор. Устанавливаю правильную банку ПЗУ, восстанавливаю область #5b00-#5d82 (системные переменные вместе с драйвером страниц по адресу #5b00), последующую вычищал в 0 (не всю, до #6200, но должно почистить буфер бейсик-программы). Восстанавливал регистры, вектор прерывания. Но при переходе на точку входа получаем зависание. Может кто-то уже в данном направлении копал? Подскажите плиз, как запустить редактор бейсика без холодного запуска (RST 0 с появлением меню).

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

  3. #2
    Master
    Регистрация
    17.05.2005
    Адрес
    г. Абакан
    Сообщений
    694
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Стек устанавливаешь по системным переменным?

  4. #3
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    James DiGreze, я сделал "слепок" всех системных переменных, точнее говоря все, что хранится в памяти по адресам #5b00-#5d81, указатель стека при входе в редактор 128го бейсика по адресу #286c установлен на #5bf3, я его восстанавливаю на этот адрес при попытке запуска.

  5. #4
    Master Аватар для Djoni
    Регистрация
    20.02.2005
    Адрес
    Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    707
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    33 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Последний раз редактировалось Djoni; 29.01.2015 в 15:57.

    Скрытый текст

    Profi v5.03/1024k/палитра/FDD3,5""/FDD5,25"/HDD/XT-Keyb/Covox
    Pentagon-1024 sl v 1.4 upgrade #EFF7 Gluk RTC
    ZXM-Phoenix 1024k
    ATM Turbo 2+ v7.10 512k
    HIMAC HR42.04 48K
    HIMAC 128
    Ленинград 1
    [свернуть]

  6. #5
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    James DiGreze, я сделал "слепок" всех системных переменных, точнее говоря все, что хранится в памяти по адресам #5b00-#5d81, указатель стека при входе в редактор 128го бейсика по адресу #286c установлен на #5bf3, я его восстанавливаю на этот адрес при попытке запуска.
    Не просматривал дизассемблер, но есть одно подозрение интересное. Мне кажется в ОЗУ должен быть еще один стек в районе (ERR_SP), где-то под UDG примерно.

    ---------- Post added at 15:57 ---------- Previous post was at 15:55 ----------

    А кинь сюда слепок переменных, который ты кидаешь перед переходом. Погляжу что там интересного.

  7. #6
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот копия переменных... Начало #5b00.
    В спойлере данные по регистрам

    Скрытый текст

    [свернуть]
    Вложения Вложения
    Последний раз редактировалось Дмитрий; 31.01.2015 в 21:06.

  8. #7
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,773
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    1,178
    Поблагодарили
    774 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    при переходе на точку входа получаем зависание.
    у 128ого бейсика ещё есть переменные на 7ой странице.
    поставь BP на чтение из адресов #c000-#ffff и всё поймёшь.

    к примеру вот

    Код:
    
            LD   A,$38        ; Set colours to black ink on white paper.
            LD   ($EC11),A    ; Temporary ATTR_T used by the 128 BASIC Editor.
            LD   ($EC0F),A    ; Temporary ATTR_P used by the 128 BASIC Editor.
    
    ....................................
    
            LD   HL,($EC0F)   ; Alternate Editor ATTR_P, MASK_P. Fetch alternate Editor colour items.
            LD   DE,($EC11)   ; Alternate Editor ATTR_T, MASK_T.
            LD   ($5C8D),HL   ; ATTR_P, MASK_P. Store alternate Editor colour items as main colour items.
            LD   ($5C8F),DE   ; ATTR_T, MASK_T.
    
    Последний раз редактировалось goodboy; 01.02.2015 в 10:42.

  9. #8
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ты хочешь сделать своё меню как здесь ?
    http://velesoft.speccy.cz/other/trdo...ect-return.gif

  10. #9
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    shurik-ua, не, я хочу добавить выход из НеGluk-а в редактор 128 бейсика (чтоб без ресета и меню128). Т.е. сейчас пункт "U. 128k Menu" НеGluk-а выполняет просто RST 0 при включенной странице ПЗУ 128 Бейсика и попадаем в очередное меню, но хочется исключить лишние телодвижения и попасть непосредственно в редактор.

    P.S.: Хотя реализация дополнения меню 128 своими пунктами меня тож интересует.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	services_kay_0.2d.png 
Просмотров:	224 
Размер:	5.5 Кб 
ID:	50927  

  11. #10
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    к примеру вот
    Я заподозрил это, когда в калькулятор попал, но он стал печатать черным по черному Посмотрю что там в этой странице еще хранится, спасибо за наводку.

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

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

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

Похожие темы

  1. иде_Я scorp 256 -> calculator
    от hi_soft в разделе Софт
    Ответов: 7
    Последнее: 07.12.2012, 00:16
  2. Ассемблер для стороннего редактора
    от Titus в разделе Эмуляторы
    Ответов: 3
    Последнее: 05.01.2010, 14:49
  3. CALCULATOR on ZX
    от VELESOFT в разделе Софт
    Ответов: 1
    Последнее: 11.02.2009, 01:24
  4. Адаптация текстового редактора
    от Raydac в разделе Софт
    Ответов: 1
    Последнее: 09.06.2008, 14:27
  5. Проект муз. редактора для AY
    от Bulba в разделе Музыка
    Ответов: 36
    Последнее: 09.09.2005, 20:32

Ваши права

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