Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

[ Каскадный ] · Стандартный · Линейный

> Реактивное введение в программирование под GBA

aa-dav
post Четверг, 20 апреля 2017, 10:47
Отправлено #1


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





Столкнувшись сам несколько дней назад с отсутствием русских вменяемых введений в предмет на днях решил создать некую очень короткую и сжатую, но по возможности достаточно полную для начала программирования реальной игры вводную в программирование под GBA.
Начал делать это тут: http://antistupd.livejournal.com/842.html
Исправленный и обновлённый текст потом перевыложил сюда: http://hype.retroscene.org/blog/872.html

При этом цель не состоит в обучении программированию - напротив, целевая аудитория уже должно хорошо знать C/C++ и представлять себе архитектуру компьютера, что такое память, указатели в неё, зачем нужен volatile и т.п.

Два вопроса:
- нужно ли? есть ли еще интересующиеся темой?
- (потому что возможно, что) есть ли уже проделанная такая же работа? (сам не нашёл)

Сообщение отредактировал aa-dav - Среда, 03 октября 2018, 10:11
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topicStart Poll
Ответов
hqqddy
post Пятница, 26 мая 2017, 18:20
Отправлено #2


Продвинутый
**

Группа: Пользователи
Сообщений: 90
Регистрация: 06 июля 2016
Пользователь №: 55 920





aa-dav тебе бы железку купить за недорого с флешкой или для мелких хомбрюх кабель запилить для заливки, на лпт был такой, я делал, помнится. А вообще, какой-то проект есть или просто так инересно?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Пятница, 26 мая 2017, 18:51
Отправлено #3


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





QUOTE (hqqddy @ Пятница, 26 мая 2017, 18:20)

aa-dav тебе бы железку купить...
*


Я не железячник, я софтовик. Мне возится с железом как раз неинтересно, не самоцель, а интересно только то, что в принципе реальная работоспособность присутствует у программы. Вообще просто для интереса. На английском литературы много, а на русском ничего не смог найти, вот и решил что пока вникну как да что напишу экспресс-туториал на русском языке с выжимкой всего самого важного, может кому то не знающему английский в будущем пригодится, или по скорости вникания будет быстрее.

=== 2 ALL ===

Порылся, кстати, насчёт savegame-ов, действительно всё не так уж и трудно. На деле самый примитивный SRAM на батарейке программно выглядит как просто 32Кб памяти по определенному адресу. Нужно только соблюдать одно правило - побайтовый доступ к ней. В самом обстоятельном руководстве еще написано, что при чтении код выполняющий чтение из SRAM должен находится в WRAM - это вот заметное усложнение, но в других руководствах и даже примерах это требование игнорируется. На эмуляторе элементарный тест работает, но через еще одну хитрость - т.к. картридж никак не отчитывается перед системой о наличии SRAM, просто при её отсутсвии запись в эту область памяти будет проигнорирована, а чтение вернет мусор, то эмулятору нужно как то сообщить - и сообщается очень просто - достаточно в ROM-е иметь строку "SRAM_Vnnn" в любом месте, начиная с адреса кратного 4-м. Это воспринимается эмулятором как сигнал, что надо имитировать SRAM. На деле такие строчки действительно, как я понял, остаются в коде при использовании тулчейнов от самого Нинтендо, хотя для реального картриджа это совершенно необязательно.
Вот когда звук доделаю наверное подобью в один пакет с ним еще тест записи/эмуляции SRAM - тут уже вопрос как эмулирует его тот чип в который образ прошивается - потянет или нет, вот это тоже будет любопытно посмотреть...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic
aa-dav   Реактивное введение в программирование под GBA   Четверг, 20 апреля 2017, 10:47
MoonTurtle   может и не прав, но мне кажется что это нафиг не н...   Четверг, 20 апреля 2017, 11:12
aa-dav   Я там во введении сразу же и написал, что GBA об...   Четверг, 20 апреля 2017, 11:39
DUX   Ну, если наклепаете контр, кастельваний и марио ...   Четверг, 20 апреля 2017, 11:59
MoonTurtle   RE: Реактивное введение в программирование под GBA   Четверг, 20 апреля 2017, 12:01
aa-dav   А у кого-нибудь тут есть возможность заливать на к...   Вторник, 23 мая 2017, 08:54
Boris   Тема интересная, спасибо! Надо срочно купить ф...   Вторник, 23 мая 2017, 11:09
dimm0505   А что из высокоуровневых языков может быть более ...   Вторник, 23 мая 2017, 12:59
aa-dav   Сейчас запаковал текущее состояние проекта так ска...   Вторник, 23 мая 2017, 14:38
dimm0505   Качнул, попробую в ближайшие 2-3 дня "на риал...   Вторник, 23 мая 2017, 14:46
dimm0505   Запускается все, но вот только что там должно быть...   Среда, 24 мая 2017, 12:42
aa-dav   Спасибо большое! Да, похоже что всё верно рабо...   Среда, 24 мая 2017, 13:31
dimm0505   Ну тогда поздравляю, все запустилось, правда я за...   Среда, 24 мая 2017, 13:36
aa-dav   Ну отлично. Большое спасибо! Просьба еще, если...   Среда, 24 мая 2017, 13:44
Gashik   С сохранением ничего сложного. Была библиотека, ко...   Среда, 24 мая 2017, 20:58
MichaelForExample   А почему на гитхабе репо не создать? Хоть следить ...   Пятница, 26 мая 2017, 22:31
aa-dav   Когда будет законченная версия и каждая строчка бу...   Суббота, 27 мая 2017, 18:38
MichaelForExample   Ну неужели лишний пуш сделать в ремут ветку трудн...   Суббота, 27 мая 2017, 20:05
УльтраБлокС   Я бы сказал так - игры пишутся в основном на ...   Суббота, 27 мая 2017, 22:16
aa-dav   Да ну, имхо тут это совершенно не нужно. Просто ...   Воскресенье, 28 мая 2017, 03:40
aa-dav   Вновь прошу проверить на настоящем GBA тест воспро...   Вторник, 06 июня 2017, 11:19
hqqddy   Все работает. Стресс-тест не вешает ром, срабатыва...   Среда, 07 июня 2017, 16:06
aa-dav   Большое спасибо! Это радует, значит осталось...   Среда, 07 июня 2017, 16:29
Gashik   провалится :) многие флешки как-раз патчат ром в ч...   Среда, 07 июня 2017, 17:00
aa-dav   Ну всё, дописал цикл эти уроков, обрамил оглавлени...   Четверг, 15 июня 2017, 04:12
hqqddy   Не работает сейв/восстановление. По крайней мере, ...   Пятница, 16 июня 2017, 15:40
aa-dav   Хмм... Жалко что не всё так просто, но там этого с...   Пятница, 16 июня 2017, 16:06
hqqddy   Ну это я сократил. EverDrive GBA http://krikzz.com...   Пятница, 16 июня 2017, 22:04
aa-dav   Читаю вот здесь https://gbatemp.net/review/everd...   Суббота, 17 июня 2017, 00:28
hqqddy   Я совсем на это не посмотрел. Как-то поигрался в с...   Суббота, 17 июня 2017, 00:44
aa-dav   Отличные новости!!! :) Спасибо за те...   Суббота, 17 июня 2017, 01:10
hqqddy   aa-dav как руки до SuperCard дотянутся, я проверю....   Понедельник, 19 июня 2017, 06:39
aa-dav   Мне остаётся только процитировать сабжевый тутор...   Понедельник, 19 июня 2017, 11:15
hqqddy   Спасибо. Помогло не очень, но интерес был спортивн...   Понедельник, 19 июня 2017, 15:44
aa-dav   Как нынче говорят - тизер. Кто вспомнит с какой пл...   Суббота, 24 июня 2017, 08:49
hqqddy   Четно, не имею понятия. Что мутите? Игру?   Суббота, 24 июня 2017, 19:01
aa-dav   Да на денди была такая Contra Force, сегодня повыд...   Суббота, 24 июня 2017, 19:51
hqqddy   А, щас вспомнил. Но в нее не часто играли, она из ...   Воскресенье, 25 июня 2017, 00:51


Reply to this topicStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Пт., 19 апр. 2024, 19:25
Skin Designed (c) by Rooq.net, All Rights Reserved.