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

User Tag List

Страница 22 из 23 ПерваяПервая ... 181920212223 ПоследняяПоследняя
Показано с 211 по 220 из 221

Тема: Атари ассемблер

  1. #211
    Veteran Аватар для dosikus
    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Шынни, вопрос - вскользь проштудировал POKEY.
    Обнаружил входа обозначенные POT. Там что ADC и можно считывать аналог?
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

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

  3. #212
    Veteran Аватар для dosikus
    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Блин, что с форумом происходит? Второй день отваливается на несколько часов...
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

  4. #213
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    с POKEY незнаком(

  5. #214
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dosikus Посмотреть сообщение
    Обнаружил входа обозначенные POT. Там что ADC и можно считывать аналог?
    Название микросхемы составлено из начальных слогов английских слов POtentiometer и KEYboard, так как эта микросхема использовалась для опроса клавиатуры и аналоговых устройств управления

    Последний раз редактировалось goodboy; 15.12.2017 в 19:37.

  6. #215
    Activist Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    258
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    25
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Привет, atariki.

    Вот код, который либо поможет, либо всё испортит.
    Его ПРАВДА в том, что он работает!

    Код:
    
    ; Resident COLORizer program
    ; Bump-Up the MEMLO pointer
            .ou colorize.com
    ; Included LIBS
            .in macro.mae
    
    ; --------------------------------
    ; equates
    DOSINI  = $0c   ; standard DOS init
    COLOR1  = $02c5 ; brightness
    COLOR2  = $02c6 ; bgCOLOR
    RUNAD   = $02e0 ; Run address
    MEMLO   = $02e7 ; Word, - first free byte
    LMARGIN = $52   ; Left Margin
    
    ;
    ; constants
    brwhite = $0e
    dkblue  = $92
    ; Resident part:
            .or $1900
    start   jmp init
    ;
    newmlo  .ds 2
    dummy
    ;
    trojan  jsr dummy
            maw newmlo MEMLO ; bumps up
    ;
            mib dkblue COLOR2
            mib brwhite COLOR1
            rts
    finish   = *
    ;
    ; Executed ones:
    ; (then can be deleted)
    init
            miw finish newmlo   ; fill newmlo with finish
            maw newmlo MEMLO    ; fill MEMLO as newmlo
    ;
            maw DOSINI 1+trojan ; save DOSINI into trojan
            miw trojan DOSINI   ; set DOSINI as trojan
    ;
            mib dkblue COLOR2
            mib brwhite COLOR1
            rts
    ;
            .or RUNAD
            .wo start
            .en
    Где-то ранее (ищите!) я писал о том, что если ВЕРНЫЙ!!! код, написанный Вами будет РАНЕЕ исполнения стандартного кода Атари, то результата ПРОСТО не будет.
    Стандартный код ЗАМЕСТИТ ВСЁ, а в случае наличия конфликтов памяти выгонит Атарьку в висняк.

    То есть, Совет Шинни - ЗАЦИКЛИТЬ, просто означает, что Вы исполняете только Ваш ВЕРНЫЙ!!! код и БОЛЬШЕ НИЧЕГО!

    Вышеуказанная программа является на самом деле иллюстрацией к защите памяти от ОС.

    Цвета там - не Главное!
    Но, если заметить, что:
    1. Новые цвета задаются инициализацией!
    2. Новые цвета переустанавливаются при софтресете.

    И добавить конструкционную целостность программы, (Где нужен выход из прерывания - предоставляем RTI, Где нужен Выход из подпрограммы - проедоставляем RTS и пр.)

    Добавлю:
    Наличие или отсутствие Бейсика - для ассемблирования -НЕ СУЩЕСТВЕННО!

    Хватило бы памяти... Например, для самого Ассемблера! Или, для самой Программы!

    И, ВАЩЕ, к вопросу о выходах из подпрограмм...

    Наконец примите ОДНО решение! Если Вы его
    не примите, будет чёрный экранчик
    (у Атари бывает ещё и DMA вывод необновляемого состояния - зависание, при работающих системах вывода графики.)
    zen
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  7. #216
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

  8. #217
    Activist Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    258
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    25
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Как иденцифицировать числа? Давайте, пронумеруем их!

    Здравствуйте, дорогие Форумчане.

    Мы знаем, что байтом можно адресовать 256 значений. А кто собственно, задумывался в чём эти значения?
    Какова их сущность?!! Identity?!!

    Я уже сотню лет не писал ничего об ассемблере (был занят Паскалем и совершенно не разочарован), но кажется есть ещё темка, которая Вам может пригодится...
    Это - использование identity table (IDT) на русский сложно перевести, но смысл прост, - Из неё мы получаем байт, определяемый собственным индексом, то есть сущность этого байта. (Подумайте над этим, это занятно!)

    Итак, создаём таблицу, длиной в страницу и выровненную по странице (то есть адрес: $xx00).

    Код:
    IDT
            .by $00,$01,$02,$03, ... $0f
    ...
            .by $f0,$f1,$f2,$f3, ... $ff; Identity Table
    Так вот, дело в том, что такая таблица может помочь нам с созданием новых несуществующих опкодов ассемблера для 6502.
    (Например тех, которые изначально запрограммированы для 65816.)
    Но не только...

    На её основе можно создавать макросы для повторяющихся действий или другие, необычные вещи... Создав её один раз можно ей пользоваться для ЛЮБЫХ целей!

    Просто сама таблица является отображением ПОНЯТИЯ <байт> в понятие <число>;
    По русски: сущность БАЙТА - ЭТО ЧИСЛО! (То есть мы ПРОНУМЕРОВАЛИ числа БАЙТА!)

    Теперь - фантастика!

    Вы знакомы с TAX,TXA,TAY,TYA...

    А где же здесь TXY или TYX?! А, НЕТУ!

    Я всегда говорил, что процессор не умеет считать, зато байты двигать умеет!!!

    Короче, ВОТ недостающие опкоды ассемблера:
    (Их можно сделать как макросы ...)
    Код:
             Calling    OPCODE
            ldx IDT,y -> TYX
            ldy IDT,x -> TXY
            and IDT,x -> ANX
            and IDT,y -> ANY
            ora IDT,x -> ORX
            ora IDT,y -> ORY
            eor IDT,x -> EOX
            eor IDT,y -> EOY
            adc IDT,x -> ACX
            adc IDT,y -> ACY
            sbc IDT,x -> SCX
            sbc IDT,y -> SCY
    Однако, это - не всё...
    Вот пример кода:
    Код:
            ldx val
            lda num
            stx tmp
            clc
            adc tmp   ; A=val+num
    А у меня уже стотыщь переменных!..
    Ассемблер не отрабатывает!!!

    Тогда, делаем так:
    Код:
            ldx val
            lda num
            clc
            adc IDT,X ; A=val+num
    Во-о-от. Так-то, Друзья, В этом-то всё и дело!
    zen
    Последний раз редактировалось ezswift; 17.05.2019 в 17:12.
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  9. #218
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ezswift Посмотреть сообщение
    Вы знакомы с TAX,TXA,TAY,TYA...

    А где же здесь TXY или TYX?! А, НЕТУ!
    лишний огород, понадобится 256 байт, которые никак не помешают. Задача интересная, конечно.

    Цитата Сообщение от ezswift Посмотреть сообщение
    ldx val
    lda num
    clc
    adc IDT,X ; A=val+num
    удобнее
    Код:
     lda val
     clc
     adc num
    и в некоторых случаях X сохраняется

  10. #219
    Activist Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    258
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    25
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2denpopov
    НИКОГДА!
    При установке DLI существенно важно сохранение задействованных в DLI регистров !!!

    Это и есть отличие от VBI, где в ОС существуют заранее установленные подпрограммы для выхода как из Непосредственоого, так и Отложенного VBI. (Они разные.)
    zen
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  11. #220
    Member Аватар для BelaLugoci
    Регистрация
    13.01.2022
    Адрес
    г. Новосибирск
    Сообщений
    90
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    8 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    спасибо всем кто принимал участие в теме, было интересно почитать.
    сам я занялся разработкой для атари недавно, хотя с платформой начал общение еще в 1987 году, но тогда был Бейсик и вырванные куски подпрограмм из демок (например у меня не было информации по маппингу памяти и нашел я её в одной из демок по замене шрифтов, тем и пользовался).
    из прочитанного всё же не совсем понял зачем заниматься разработкой на самом оригинальном железе, возможно это и интересно, но всё же мне больше понравилось решение с канала " ". Там разработка идёт в VS Code, компиляция через PowerShell консоль, там же посредством запуска команды для MADS, а после компиляции запуск Altirra так же через командную строку для собранного файла.

Страница 22 из 23 ПерваяПервая ... 181920212223 ПоследняяПоследняя

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

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

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

Похожие темы

  1. ПК8000 - Ассемблер
    от scaraby в разделе ПК8000
    Ответов: 9
    Последнее: 16.12.2018, 11:00
  2. Ассемблер для 48к на ленте
    от newart в разделе Программирование
    Ответов: 37
    Последнее: 20.09.2015, 22:48
  3. Переведите на ассемблер
    от Руслан в разделе Программирование
    Ответов: 2
    Последнее: 06.08.2012, 23:41
  4. Ассемблер Z-80
    от sergey2b в разделе Пресса
    Ответов: 12
    Последнее: 11.07.2011, 23:41

Ваши права

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