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

User Tag List

Страница 1 из 21 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 206

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

  1. #1
    Activist Аватар для atariki
    Регистрация
    22.01.2011
    Адрес
    г. Кирово - Чепецк
    Сообщений
    286
    Благодарностей: 15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Атари ассемблер

    Кто нибудь хоть что-то знает или умеет программировать на ассемблере для Атари ?
    ATARI 65XE|130XE|XEGS|4-XC12|(2-TURBO2000)|SIO2SD

  2. Этот пользователь поблагодарил atariki за это полезное сообщение:
    perestoronin (12.02.2016)

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

  4. #2
    Veteran Аватар для vfiuchcikicshuusrch
    Регистрация
    30.06.2013
    Адрес
    г. Иваново
    Сообщений
    1,027
    Благодарностей: 240
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    тоже хотел как-то изучить асм под атари. но только под 2600.

    сам умеешь что-нибудь ?

  5. #3
    Master Аватар для dosikus
    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    953
    Благодарностей: 182
    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

  6. #4
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,426
    Благодарностей: 347
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vfiuchcikicshuusrch Посмотреть сообщение
    тоже хотел как-то изучить асм под атари. но только под 2600.
    Нынче повелась такая тенденция на разработки разных СДК под доисторические приставки.
    А существует ли что-то более высокоуровневое, нежели асм под атарю 2600 ?

    - - - Добавлено - - -

    Видал краем глаза batari (васик)

  7. #5
    Activist Аватар для gurfunkel
    Регистрация
    28.02.2006
    Адрес
    г. Тольятти
    Сообщений
    294
    Благодарностей: 138
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vfiuchcikicshuusrch Посмотреть сообщение
    тоже хотел как-то изучить асм под атари. но только под 2600.
    На Хабрахабре была статья по типу "Как написать игру для Atari 2600", но что-то сходу не нашёл.

  8. #6
    Activist Аватар для atariki
    Регистрация
    22.01.2011
    Адрес
    г. Кирово - Чепецк
    Сообщений
    286
    Благодарностей: 15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    всё это я поставил, но понимания нет, английский не знаю так тыкаю непонятно что, повторяю...
    ATARI 65XE|130XE|XEGS|4-XC12|(2-TURBO2000)|SIO2SD

  9. #7
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,047
    Благодарностей: 200
    Записей в дневнике
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вот еще какой-то онлайн-букварь со встроенным ассемблером 6502
    https://skilldrick.github.io/easy6502/ (тоже инглиш, но вдруг поможет)
    Прихожу без разрешения, сею смерть и разрушение...

  10. #8
    Member Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    171
    Благодарностей: 30
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Здравствуйте.

    Прежде всего... Вопрос.
    Насколько Вы знаете машину?

    Понимаете, выучить Ассемблер очень легко! А пользоваться им для программирования (о-о-очень трудно).

    Дело в том, что, не зная до тонкостей машины (процессор, ПЗУ, ОЗУ, OS, DOS и пр. И как эта вся "нелюдь" работает?) Вы не будете знать, где Вы находитесь и куда идти.

    Если Вы не знаете, для чего ячейка 88, Вы не будете знать как её применять.

    Если Вы даже знаете для чего какая-то ячейка, но не знаете как она обрабатывается операционной системой "по умолчанию", Вы всё равно не будете знать как с ней работать.

    Начать надо с удивления тому, что комп не умеет НИЧЕГО, кроме как перегонять биты из одного места в другое !!!
    Вычисления и "побочные действия" (например прорисовка экрана) получаются при алгоритмизации этого процесса, то есть при применении ВНЕШНИХ, по отношению к процессору правил!!!

    Если вопросы будут - отвечу.
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  11. #9
    Activist Аватар для atariki
    Регистрация
    22.01.2011
    Адрес
    г. Кирово - Чепецк
    Сообщений
    286
    Благодарностей: 15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну я вообще ничего не знаю, а вот это поможет для начала ?
    ATARI 800. Операционная система. Руководство пользователя
    Mapping The Atari (rus)
    ATARI 65XE|130XE|XEGS|4-XC12|(2-TURBO2000)|SIO2SD

  12. Этот пользователь поблагодарил atariki за это полезное сообщение:
    denpopov (09.03.2016)

  13. #10
    Member Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    171
    Благодарностей: 30
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё, что содержит информацию МОЖЕТ!
    Либо помочь, Либо помешать.

    Давайте пытаться программиривать.

    Ну, начнём, помолясь...

    Я в ассемблере программировал только на MAC/65, поэтому и инструкции ассемблера будут для MAC/65.

    Чтобы всё было интересно сразу раскрою тайну.

    Программировать будем статусную строку для состояния консоли.
    Консольные клавиши в Атари - это START,SELECT,OPTION.

    Общая идея такова:
    1. Сначала добавим статусную строку и увидем её на экране.
    Она должна заполняться не меняя нашей работы с Атари.
    ...
    Вот и начнём.

    Есть такая фишка в Атари, которая называется Дисплей Лист.
    Это - место в памяти, в котором лежат инструкции по отображению данных, которые исполняет ANTIC
    (Alphanumeric Television Interface Controller - Знако-Цифровой Контроллер телевизионного интерфейса).

    Стандартный DLIST таков:

    > dlist

    BC20: 3 раза по 8-BLANK
    BC23: MODE 2 + LMS(BC40)
    BC26: MODE 2 (23 раза)
    BC3D: JVB BC20

    Утомлю командами ANTIC для DLIST.

    Они аддитивны, то есть их можно и нужно (с участием моска!) складывать.
    Кроме этого, нужно вспомнить, что обычная текстовая строка Атари состоит из 8 заполненных растровых линий TV!
    (ЗАПОМНИТЕ! 8 ЛИНИЙ РАСТРА!)

    ; Display List Commands
    ;
    ; ПРОБЕЛЫ - (незаполненые растровые линии телевизора/ЛУЧ ВЫКЛЮЧЕН - например, черная область выше голубого экрана!)

    BL1=$00
    BL2=$10
    BL3=$20
    BL4=$30
    BL5=$40
    BL6=$50
    BL7=$60
    BL8=$70
    ;
    ; СТРОКИ - неважно текстовые, или графические, но, выводящие на экран данные из экранной памяти.
    GR* - это режимы Бейсика
    AN* - это режимы ANTIC, недоступные для Бейсика.

    GR0=$02
    AN3=$03
    AN4=$04
    AN5=$05
    GR1=$06
    GR2=$07
    GR3=$08
    GR4=$09
    GR5=$0A
    GR6=$0B
    ANC=$0C
    GR7=$0D
    ANE=$0E
    GR8=$0F
    ;
    ; ПЕРЕХОДЫ - так как, даже если мы ничего не делаем на Атари, всё равно надо прорисовывать экран, а также и по многим другим причинам,
    неоюходимы переходы с конца прорисовки на начало - по циклу, или всякие другие.

    JTO=$01 - Jump To(далее Адрес!) - переход на конкретный адрес экранной памяти.
    JVB=$41 - Jump by Vertical Blank(далее Адрес!) - Переход по дефолту на начало экранной памяти, если прорисован весь экран, для

    постоянной прорисовки экрана.
    ;
    ; ДЕЙСТВИЯ
    HSC=$10 - Включение оборудования горизонтального скроллирования
    VSC=$20 - Включение оборудования вертикального скроллирования
    LMS=$40 - Load Memory Scan - Включение прорисовки экранной памяти.
    LIN=$80 - Display List Interrupt - Включение прерывания со следующей строки сканирования.

    Далее...

    Мы желаем! обычную текстовую строку над голубеньким экраном, но так, чтобы Атари её не замечал. Есть - и есть...
    Вот это и есть - наша глобальная задача.

    Посмотрим стандартный DLIST (выше.)
    Там сверху непрорисованных 24 линии сканирования, то есть 3 раза по BL8.
    (8+8+8)=(8+7+8(здесь появится НАША текстовая строка, а не пробельные строчки сканирования)+1)

    Вот такой NEWDL мы и начнём...

    А что ждём-то? Это же данные, а не ассемблирование! Их так и так надо вносить. Пора кодить.

    Обиняки:
    Будем кодить в выделенном месте для программирования пользовательских программ на ассемблере! Это $0600.
    Потом, уже задумаемся, куда всё поместить.


    Запускаем MAC/65
    Увидели на экране

    Edit

    Пишем ручками:
    NUM 1000,10 - нумерация от 1000 с шагом 10

    Получаем:
    1000

    Дописываем:
    1000 CODES *=$0600 <нажать Return>
    1010

    Звёздочка - это состояние PC - Program Counter, то есть ГДЕ мы находимся при ИСПОЛНЕНИИ программ.

    Здесь призадумаемся.
    Нам нужна инициализация многих подпрограмм, значит - ДО исполнения, а именно в этом месте нужно перейти к ней.
    В этом случае ассемблер будет знать Что,Где,Когда!

    Итак,
    1000 CODES *=$0600
    1010 JMP INIT - прыгаем на INIT.

    Получаем:

    1000 CODES *=$0600 ; Адрес начала кодов
    1010 JMP INIT ; Адрес инициализации.
    1020

    Что мы знаем?
    Задали метку CODES, Это пользовательская 6 страница!
    Начинаем с $0600
    (Переходим на INIT, - пока не задали!)

    Вот здесь мы упёрлись в структуризацию программы!

    Начало тупое - START

    Инициализация данных всех подпрограм - INIT
    Объявление всех системных адресов - EQUATES
    Объявление всех системных векторов - VECTORS
    Объявление всех наших констант - CONSTANTS
    (Эти данные сугубо необходимы для того, чтобы ассемблер хоть что-то понял.)
    Далее идут исполняемые Коды - CODES

    А здесь прервёмся.
    Я уже тексты утомился писать.

    Сохранись в Ассемблере Бра!

    SAVE #DL.m65

    Я буду писать помаленьку...
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  14. Этот пользователь поблагодарил ezswift за это полезное сообщение:
    atariki (05.03.2016)

Страница 1 из 21 12345 ... ПоследняяПоследняя

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

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

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

  1. dosikus

Похожие темы

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

Ваши права

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