Page 3 of 6

Re: Порт FCE Ultra

Posted: Mon Sep 08, 2008 12:48 am
by Asper
ALLiGaToR
Знаю, что старенькая, но не всё сразу :wink: . С портированием этой версии было легче разобраться.

Leency
Может работать ещё лучше :!:

Re: Порт FCE Ultra

Posted: Mon Sep 08, 2008 6:46 pm
by hidnplayr
The files are mirrored here: http://ftp.kolibrios.org/pub/ports/asper/

Re: Порт FCE Ultra

Posted: Fri Oct 24, 2008 4:18 pm
by Asper
Новая версия порта 0.2.

-работа с сис. функцией 70 | - working with sys. function 70
-создание сохранений | - make saves
-загрузка сохранений | - load saves
-создание скриншотов | - make screenshots
-добавлены клавиши Турбо A и Турбо B | - Turbo A and Turbo B keys were added
-работает только в ОС Kolibri из-за | - work in OS Kolibri only because of
использования сис. функции 70 | using sys. function 70

Ссылка:
http://narod.ru/disk/3381042000/FCEU_v0.2.7z.html

Re: Порт FCE Ultra

Posted: Fri Nov 14, 2008 5:48 am
by Leency
Посмотрел исходники, в "nest.c" заголовок выводится строкой
__menuet__write_text(3,3,0xFFFFFF,Title,strlen(Title));

её лучше заметить на... допустим:
__kolibri__draw_title(Title);

которая на С-- выглядела б примерно так:
void __kolibri__draw_title(dword ECX)
{
EAX = 71;
EBX = 1;
$int 0x40;
}

Тогда заголовок будет выводится всегда посередине вне зависимости от ширины скина, и будет цвета скина.

Re: Порт FCE Ultra

Posted: Fri Nov 14, 2008 8:43 am
by s1n
а обновленные сорсы будут???

Re: Порт FCE Ultra

Posted: Fri Nov 14, 2008 4:32 pm
by Asper
Посмотрел исходники, в "nest.c" заголовок выводится строкой
__menuet__write_text(3,3,0xFFFFFF,Title,strlen(Title));

её лучше заметить на... допустим:
__kolibri__draw_title(Title);
Спасибо за совет, я им воспользуюсь.
а обновленные сорсы будут???
Пока что нет смысла, едиственное изменение в коде - это добавление Turbo клавиш, все остальные изменения связаны с перекомпиляцией с использованием библиотеки libc, работающей с файлами на основе сис. функции 70.

Re: Порт FCE Ultra

Posted: Tue Dec 02, 2008 7:30 am
by r0manich
Привет всем! :)

По теме скажу - "Good Job" :wink:

Параллельно приглашаю взглянуть сюда:
http://gamebox.uraldev.ru/forum/viewtopic.php?f=5&t=8
Тоже взял за основу этот эмулятор.

Прошу заметить, что в игре Battle Toads & Double Dragon есть неточность в эмуляции (ниже рисунок).
Неточность заключается в отсутствии текста.

А также НЧ-шум звучит немного не так, по сравнению с FCEUX,FCEUMM и им подобным

Кто нибудь пофиксел?

Re: Порт FCE Ultra

Posted: Fri Dec 05, 2008 6:21 pm
by Asper
Сходил по ссылке, прикольно, молодец. Думаю, что твоя помощь как программиста не была бы лишней :) .
FCEUX планируется портировать в будущем (как только заставлю работать gpp или попытаюсь закомпилить его gcc), пока что на это нет времени.

В архитектуре микропроцессора 6502 и его системе команд не разбираюсь, поэтому насчёт "пофиксить" это не ко мне. Думаю после портирования FCEUX вопрос снимется сам собой.

А так если кто-то интересуется программированием NES:
http://tv-games.ru/modules.php?name=Fil ... ow&lid=681

Re: Порт FCE Ultra

Posted: Thu Dec 11, 2008 10:40 am
by s1n
тут ты скидывал FCEU_v0.1a_src.7z...
что нужно чтобы собрать его?
и если не сложно... добавь либо сюда... а в идеале на svn исходники... охото покопаться...

Re: Порт FCE Ultra

Posted: Sat Dec 13, 2008 11:51 am
by Asper
Начнем по порядку:

1. Скачать DOS-версию пакета разработки DJGPP (официальный сайт http://www.delorie.com)
распаковать архивы (очень рекомендую в папку C:/DJGPP).
DJGPP содержит нужные нам версии gcc, ld, make и т.д.

2. Создаешь переменную среды DJGPP со значением равным полному пути к файлу djgpp.env
(у меня это C:/DJGPP/djgpp.env)

3. Скачать пакет menuetlibc, который содержит библиотеки для работы с ОС Колибри
(можно найти на сайте diamond'а). Если не хочешь собирать библиотеки
вручную очень рекомендую скачать уже собранный мной вариант
http://narod.ru/disk/4358234000/menuetos.7z.html
(размер 1 065 827 байт). Там я закинул библиотеки Ярека
в папку lib diamond'а (libc остался diamond'а), пришлось немного
поколдовать с crt0, некоторыми makefile и ещё кое-где для сборки.

Распаковываешь архив куда-нибудь.

4. Заходишь в папку menuetos из пункта 2. Копируешь полный путь из строки адреса
(у меня например это D:/OS/menuetos).
Создаешь переменную среды MENUETDEV и присваиваешь ей значение
скопированного пути из строки адреса.

5. К переменной среды Path добавляешь пути к папкам menuetos/linuxtools (у меня D:\OS\menuetos\linuxtools;),
menuetos/include (у меня D:\OS\menuetos\include;) ,
DJGPP/bin (у меня C:/DJGPP/bin;).

6. Скачиваешь и распаковываешь FCEU_v0.1a_src
(hidnplayr залил исходники FCEU на ftp, можно скачать оттуда, если не хочешь с http://narod.ru/disk/2463093000/FCEU%20 ... c.rar.html).

7. Для компиляции сначала жмешь MKbase.bat (он скомпилирует базовый код FCEU),
затем жмешь MK.bat (он скомпилирует код относящийся к ОС Колибри
и залинкует все полученные *.o файлы в результате чего и получится
исполняемый файл fce).

Примечание:
В WinXP переменную среды можно создать так:
a. Клик правой кнопкой по значку "Мой компьютер"
b. Пункт меню "Свойства"
c. Вкладка "Дополнительно"
d. Кнопка "Переменные среды"
e. На фрейме "Системные переменные" кнопка "Создать"
f. После создание переменной не забыть нажать кнопки "OK"
в окнах "Переменные среды" и "Свойства системы"

Re: Порт FCE Ultra

Posted: Sat Dec 13, 2008 12:15 pm
by s1n
http://www.delorie.com вроде помер.. =(.... но все равно огромное спасибо за разьяснение.. =)..
з.ы.1. нашел зеркало... ftp.fh-koblenz.de там в Compile Tools....
ээх... куча файлов.. куча папок.. не понятно что нужно.. =)... буду качать по чуть чуть и выяснять какие пакеты нужны.. =)
з.ы.2. скачал пакеты.... у тебя в исходниках есть *.o файлы.. с ними fce собирается без проблем с помощью MK.bat.... но стоит их грохнуть и попытаться собрать через MKBase.bat... то почему то вываливаться ошибки...
например:

Code: Select all

video.c:65: error: expected ')' before 'PSS'
эээх... жалко что не очень я в Си.. =).. буду дальше разбираться..

Re: Порт FCE Ultra

Posted: Sat Dec 13, 2008 5:35 pm
by Asper
Сам через это прошёл, так что не отчаивайся постараюсь помочь :).
Пока что-то не удается залить мою папку DJGPP в файлообменник (в 7z архиве весит 18.4 Мб ), вылетаю со страницы после закачки 12 %, но что-нибудь придумаем.
PSS - это стиль разделителя в пути файла (/ или \\), смотри version.h. В крайнем случае все PSS можно убрать и заменить их теми слэшами, которые у тебя попрут.
Вообще неплохо бы получить полный лог ошибок.

Также проверь свою версию DJGPP утилит, я использую:
make
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i386-pc-msdosdjgpp

ld
GNU ld version 2.17

as
GNU assembler version 2.17 (djgpp) using BFD version 2.17


Версию можно узнать набрав в командной строке имя утилиты с ключом -v (например: make -v).

Re: Порт FCE Ultra

Posted: Sat Dec 13, 2008 7:29 pm
by Leency
Лучше заливать на ftp://kolibrios.org

Re: Порт FCE Ultra

Posted: Sat Dec 13, 2008 7:33 pm
by Asper
Там стоит ограничение в 20 Кб на файл по-моему.

Re: Порт FCE Ultra

Posted: Sat Dec 13, 2008 7:46 pm
by barsuk
Asper wrote:Там стоит ограничение в 20 Кб на файл по-моему.
Это только для анонимов. Модераторы - Ghost, Leency, mike.dld, vectoroc - могут дать доступ на фтп, тогда не будет ограничений на размер и тип файлов. См. viewtopic.php?f=7&t=1184&p=21035#p21035