dosikus Вот залил книгу, по остальным ссылки давал.
https://1drv.ms/b/s!AhgJMQCCz_T5r0M-27RiZVYN82YX
Я естественно не забыл про другие компоненты но до них еще не дошел. Как только разберу главы по процу и закреплю азы так буду рыть дальше.
- - - Добавлено - - -
В книге De Re уклон на разбор Antic но бесит что там много бэсик кода хотя разбор идет именно на уровне ассемблера.
Atari1974, вот , вот, ты начинаешь понимать где суть а где ненужная шелуха.
ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
Profi 1024+CF+CPM+VGA
ATARI 800XL+SIO2PC+SIO2SD
RK86@Maximite
Гораздо труднее выучить современный язык программирования со всеми его "мегафичами", а потом иметь голову как дом советов чтобы представлять во что написанный код откомпилируется.
Если ты знаешь ассемблер, понимаешь как работает машина и имеешь в руках компилятор с мощной системой макросов, то на ассемблере писать одно удовольствие (собственно си в свое время вырос из такого ассемблера, он своими конструкциями языковыми идеально укладывается в архитектуру PDP).
По состоянию на сегодня мне проще даже под windows писать на ассемблере, чем разбираться с гигабайтами говна что идет в составе SDK и потом как-то работает (а чаще не работает) и я не понимаю как от слова вообще без отладчика. И код получается в 100 раз компактнее. Причем по состоянию на сегодня даже под подобные системы проще писать программы на ассемблере и потом если надо их переписывать под другую архитектуру наново, чем писать на том-же си, и потом ловить годами на них глюки, потому-что оно компилируется, но из-за нюансов компиляторов, многозначностью стандартов и проглядов программиста работает неверно. Просто исходный текст программы на ассемблере раз в 20 короче сишного. И его быстрее переписать заново (все едино разбираться), чем в 20 раз больше разбираться а потом неуловимых блох там топтать.
А сложно писать на ассемблере только всякие тест-ромы, когда у тебя нету оперативной памяти и стека вообще, и которые предполагаются выполнять на неисправной машине. И где даже вызов процедуры (а тем более двухуровневый) превращается знатное в извращение, и все что у тебя есть в принципе - набор регистров процессора. Зато извращение изящное. Но такие извращения без ассемблера написать в принципе невозможно.
PS: кто-то в соседней теме диггера с писи портировал на куда-то. Написанную на си. Чтоб оно хотя бы компилировалось угробил месяц работы. Если бы она была написана на ассемблере за это время такую программу проще было написать заново. Заколдобистых мест в такой программе - по пальцам посчитать, и это звук и графика. Остальное макросами шляпать можно. В исходниках исправлений было больше чем в ней самого бинарного кода содержится. А сколько глюков потом полезет еще....
Последний раз редактировалось ram_scan; 16.01.2017 в 16:41.
нихера.
неделя ушла на перевод старого кода в современный стандарт. и это просто рутинная работа руками.
а остальное время - это уже исследования, упрощения и непосредственно - сам порт.
"мне проще под windows писать на ассемблере" - это хорошо. а какие программы пишешь? покажи плиз
Чем писать на асме, да? Насчёт сложности современных языков - подпишусь. А вот реализация в одиночку на асме того, чтоза*****кодено в тоннах SDK, без преувеличения, займёт не одну сотню лет. Попробуйте, например, написать на асме TCP/IP-стек.
Желание контролировать сложность и иметь системы, открытые на всех уровнях и достаточно обозримые, чтобы разобраться в них глубоко за короткое время (например, чтобы исправить баг или добавить фичу) породило интерес к простым ЯВУ. Например, Оберон - самый юзабельный из простых и самый простой из юзабельных. Легко транслируется в Си, но он настолько прост, что только за последние 5 лет я вижу появление десятка новых компиляторов. Есть разные диалекты Оберона, но здесь углубляться в это не буду. Чтобы не быть голословным, приведу несколько ссылок на новодельные компилеры.
Вот ещё мотиватор:
P.S. Извините, что не по теме.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Тема свалилась в оффтоп, по сути дела особой связи между ассемблером и Атари я не вижу.
Я с друзьями изучал компьютер по переводу Mapping The Atari, вышло примерно так:
- Графические режимы и форматы пикселей
- Спрайты или PMG
- Display List
- система прерываний (Display list, VBLANK,таймеры)
6502 прост, есть мало нюансов, связанных с кодом, например для меня было сложным операции 16бит.
Какой язык программирования выбрать? наиболее популярен cc65, но он громоздкий для настройки и необходимо изучение массы нюансов для Атари.
Для затравки предлагаю без ассемблирования угадать, каков результат работы программы?
LDY #0
M1:
TYA
STA(88),Y
INY
BNE M1
Последний раз редактировалось Shiny; 19.01.2017 в 06:58.
Печать набора ATASCII символов на экране .
в SAVMSC 0x58 (88) адрес начала экранной памяти .
А чем все же асм не устраивает? WUDSN с MADS вполне комфортно. К тому же на pouet.net куча примеров.
Я вот забыл где видел описание и таблицу Shadow registers.
Последний раз редактировалось dosikus; 19.01.2017 в 09:39.
ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
Profi 1024+CF+CPM+VGA
ATARI 800XL+SIO2PC+SIO2SD
RK86@Maximite
почти верно: для любого графического режима отобразятся не ATASCII. К тому же кодировка ATASCII отличается от так называемого internal
Мне кажется, если с кодом не получается, или трудно написать логику, то проще взять язык. Или дизассембировать полученный код.
в Mapping The Atari указывается Shadow/Hardware, список не помню.
Почитал тему. Как-то в основном крутится вокруг освоения ассемблера 6502, но он же очень простой.
В прошлом году я дизассемблировал игрушку Bruce Lee взятую с Atari 8-bit -- вот что получилось: https://github.com/nzeemin/uknc-bruc...l/BruceLee.lst
Раскручивал в основном пользуясь эмулятором Altirra -- он имеет много режимов отладки, хорошо собирает трассу, обращения к памяти.
И в этой работе я в итоге понял, что главное чего мне не хватает -- это знания аппаратуры Atari, того как работают устройства, какие есть режимы, как они выбираются итп. -- без этого даже полностью раскрученный исходник непонятен совершенно.
Соответственно, чтобы эффективно писать для Atari -- нужно изучить и держать в голове все его возможности, выраженные через способы использования его компонентов.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)