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

User Tag List

Страница 35 из 60 ПерваяПервая ... 313233343536373839 ... ПоследняяПоследняя
Показано с 341 по 350 из 597

Тема: ПК8000 - Общие вопросы

  1. #341
    Activist
    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    401
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Посмотрел. Там только для формата CLOAD, то есть бейсик-программа во внутренних кодах.
    Алгоритм запуска следующий:
    1. Бейсик программа копируется на адрес 0x4000.
    2. Настраивается дефолтное расположение памяти и экрана и устанавливается видеорежим 0. В данном случае это можно опустить.
    3. Вызывается функция настройки внутренних переменных интерпритатора, по адресу 0x3A9.
    4. Вызывается подпрограмма по адресу 0x1B63, передавая ей в регистре A ноль. не знаю что это, так что лучше повторить.
    5. Вызывается функция по адресу 0xD93, которой в регистре HL передается адрес строки "Ok" (0x26D).
    6. В переменную по адресу 0xF926 ложится значение 0xFFFF (работа в режиме командной строки).
    7. Небольшая пауза, в виде 14 nop.
    8. В переменные по адресам 0xF930, 0xF932 и 0xF934 ложится указатель на свободный блок памяти, который начинается сразу за загруженной бейсик-программой.
    9. В буфер клавиатуры (адрес берется из 0xFA2C) ложится слово RUN (завершается символом 0x0D), и делается переход на адрес 0x30D. Да, адрес сразу за словом RUN заносится в переменную 0xFA2A. Если не ложить команду в буфер, то наверное произойдет просто переход в режим командной строки интерпритатора (не проверял).

    Вот и все вроде.
    Для запуска бейсик-программ непосредственно в текстовом виде наверное нужно копать загрузчик с магнитофона.

  2. #342
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще одна утилита для конверсии с исходниками. Её элементарно поправить на тему цветов пк8000 вместо msxных, может в воскресенье найду в другом компьютере правленый вариант.
    Последний раз редактировалось ivagor; 15.10.2014 в 21:20.

  3. #343
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    "Адаптация" вышеупомянутой утилиты для конверсии картинок для ПК8000. Коэффициенты для цветов взяты, насколько помню, из emu b2mа, возможно их стоит подправить, тут реальщикам виднее.
    Вложения Вложения
    Последний раз редактировалось ivagor; 19.10.2014 в 09:32.

  4. #344
    Activist Аватар для hantarex
    Регистрация
    03.08.2010
    Адрес
    Ставрополь
    Сообщений
    286
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    еще один тупой вопрос: для автостарта картридж обязательно должен начинаться с 4000h? или автостарт будет работать с 8000h, C000h?
    ПК8000 "Веста", "Сура". ПК8002 "Эльф". ПК8010,8020 "Корвет".

  5. #345
    Activist
    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    401
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Только с 4000h.

  6. #346
    Activist Аватар для hantarex
    Регистрация
    03.08.2010
    Адрес
    Ставрополь
    Сообщений
    286
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    как рассчитать адрес в видеопамяти msx screen 2 по координатам x,y?
    ПК8000 "Веста", "Сура". ПК8002 "Эльф". ПК8010,8020 "Корвет".

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

  8. #347
    Member Аватар для demetrius2003
    Регистрация
    29.09.2010
    Адрес
    Новокузнецк
    Сообщений
    156
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного непонятен вопрос. Для ПК8000 объяснение пойдет? Вообще у точки нет адреса. Адрес есть у группы из 8 точек. И с этим связано куча проблем. В листинге вариант похожий на Басиковский. Конечно, он далеко не оптимален. До конца не удалось разобраться, в каких случаях какая маска должна накладывается, но общий принцип думаю ясен.

    Код:
                     push    h
    				 mvi     h, <координата Y>
                     mvi     l, <координата X>
                     mov     a, h
                     cpi     0C0h ; Сравниваем координату с 192
                     jnc     loc_1876 ; Если Y больше 192, то сразу выходим
                     ani     0F8h
                     rrc
                     rrc
                     rrc
                     mov     d, a ; в D - номер большой строки (высота большой строки = 8 пикселей).
    							  ; По сути это старший байт адреса, т. к. большая строка занимает 256 байт
                     mov     a, h
                     ani     7
                     mov     e, a ; в E - номер пикселя по вертикали в большой строке
                     mov     a, l
                     ani     0F8h
                     ora     e
                     mov     e, a ; Тут почти готовый адрес байта, в который точку впечатать надо
                     mov     a, l ; Вычислим, какой бит надо установить, чтобы получилась точка (остальные 7 битов не трогаем!) 
                     call    PSETBIT         ; Обработка отдельного бита в команде PSET (в B )
                     lda     PSETC           ; Цвет точки у команды PSET
                     mov     c, a
                     lhld    GTBL1           ; Адрес таблицы точек изображения в режиме 2
                     dad     d
                     mov     d, h
                     mov     e, l            ; В DE и HL искомый адрес
                     cpi     10h             ; Цветов всего 15
                     push    d
                     call    VRAMBTRD        ; HL=адрес (A=байт: чтение байта из видео-ОЗУ VRAM).
                     mov     d, a
                     mov     a, b
                     jc      loc_1867		 ; Нужно сложить биты по маске OR
                     jz      loc_1878		 ; Складываем биты по маске XOR
                     cma
                     ana     d				 ; Маска AND
                     mov     m, a
                     jmp     loc_1874
     loc_1867:
                     ora     d				 ; Маска OR
                     mov     m, a
                     mov     a, h
                     xri     20h
                     mov     h, a
                     call    VRAMBTRD        ; HL=адрес (A=байт: чтение байта из видео-ОЗУ VRAM).
                     ani     0F0h
                     ora     c
                     mov     m, a
     loc_1874:
                     mov     a, d
                     pop     d
     loc_1876:         
    				 pop     h
                     ret
     loc_1878:
                     mov     a, h
                     xri     20h			 ; Маска XOR
                     mov     h, a
                     call    VRAMBTRD        ; HL=адрес (A=байт: чтение байта из видео-ОЗУ VRAM).
                     mov     c, a
                     jmp     loc_1874
    
     BITS80:         .db 10000000b
     BITS40:         .db 1000000b
     BITS20:         .db 100000b
     BITS10:         .db 10000b
     BITS08:         .db 1000b
     BITS04:         .db 100b
     BITS02:         .db 10b
     BITS01:         .db 1


    ---------- Post added at 11:03 ---------- Previous post was at 10:55 ----------

    Если у Вас вариант упрощённый, адрес видеобуфера с 0x0000 и т .д., то Вам нужно только до слов "Тут почти готовый адрес байта".
    Speccy-2010 R1, R2
    Pentevo rev.B

  9. #348
    Activist Аватар для hantarex
    Регистрация
    03.08.2010
    Адрес
    Ставрополь
    Сообщений
    286
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да вроде корректный вопрос? именно что прибавить и на что умножить x и y, чтобы получить адрес в видеопамяти.
    ПК8000 "Веста", "Сура". ПК8002 "Эльф". ПК8010,8020 "Корвет".

  10. #349
    Member Аватар для demetrius2003
    Регистрация
    29.09.2010
    Адрес
    Новокузнецк
    Сообщений
    156
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ясно. MSX меня смутило. Тогда мой пример Вам подойдёт.
    Speccy-2010 R1, R2
    Pentevo rev.B

  11. #350
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Комментарий у xri 20h стоит поменять на что-то вроде "Меняем адрес на область цвета"

Страница 35 из 60 ПерваяПервая ... 313233343536373839 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вектор-06Ц: Общие вопросы
    от CityAceE в разделе Вектор
    Ответов: 844
    Последнее: 11.01.2024, 14:31
  2. Корвет: Общие вопросы
    от DATAsoft в разделе Корвет
    Ответов: 245
    Последнее: 22.10.2023, 05:03
  3. Вопросы и ответы
    от Addison в разделе ZX Концепции
    Ответов: 31
    Последнее: 28.11.2007, 11:35
  4. вопросы по Amiga?
    от volton в разделе Amiga
    Ответов: 2
    Последнее: 07.07.2007, 23:49

Ваши права

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