НОВОСТИ

15 октября 2012
Как я процессор PSX разбирал
Вчера приобрел полезный девайс - электрогравир. Стоимость - 900р.

Изображение

Решил попробовать сделать depackage какого-нибудь серьезного чипа.

Из кучи чипов, выкусанных из PSX выбрал тот что покрупнее, с маркировкой:

SONY
CXD8530CQ
L9A0048
WJ98168
NNI 9650
KOREA

Изображение
(фотки с моего телефона не очень, привожу просто чтобы вы оценили размер корпуса микросхемы)

Гугление показало что это центральный процессор. Ну и хорошо)
Практика разбора предыдущих чипов подсказала, что внизу у чипа находится термическая защита, для отвода тепла. Поэтому я выбрал скругленную коническую шлифовальную насадку и стал вытачивать чип с обратной стороны )
Из необходимых инструментов : влажная тряпка для протирки поверхности чипа и натянутая на нос майка, для защиты от вредных продуктов испарения и стачиваемой пыли. Не знаю насколько токсичен пластик, но воняет он жутко.

Пара минут и я добрался до термической защиты:
Изображение
Потом обточил всё по краям и обнаружил дорожки, которые идут наружу :
Изображение

А вот тут я часть отодрал, думал они отдерутся вместе с кристаллом, но не тут то было :D
Изображение

Термическая защита под микроскопом:
Изображение
(и видно кусок пластика)

Обнажив на поверхность площадь, занимаемую термической защитой - логично предположить, что под этой крышечкой находится сам кристалл. Поэтому я взял корундовый диск и одним махом выпилил кусок чипа :
Изображение

Вот так выглядит это сандвич под микроскопом сбоку:
Изображение

Что же дальше??? Поковырял я ногтем крышку - она никак не отдирается. Тогда я взял специальный инструмент из набора для подстригания ногтей :D и стал ковырять )) Крышка поддалась легко, а под ней появилось сокровенное - кристалл с обратной стороны:
Изображение
Оказалась крышка термической защиты приклеивается каким-то аналогом термопасты (но прозрачной).

Долго думал - как мне достать чип. Ковырял его ковырялкой, кидал его об пол (думал он отвалится наружу), но не помогало.
Пластик с боков надежно держит его внутри. Тогда я взял корундовый диск и отпилил куски пластика с боков.
Потом на 5 секунд сунул чип под кухонную газовую горелку (помня предыдущий опыт, чтобы дорожки не успели расплавиться).
Воздух который находился между поверхностью кристалла и пластиком расширился, крышка чипа вспучилась и отвалилась! :D

Сделал несколько снимков, но опять же - оксидная пленка SiO2 не дает разглядеть все детали и очень сильно искажает картинку.
НО! В интернете я вычитал, что для травления этой пленки можно использовать общедоступный ацетон) На стройрынке куплю немного и обязательно попробую в следующий раз.

Общее фото чипа (не судите строго, опыт панорамирования пока небольшой, да и деталей всё равно не особо видно, главное что можно примерно наметить основные блоки микросхемы)
Изображение
(Полноразмерное фото тут : http://psxdev.narod.ru/images/PSXCPU.png)

И несколько фоток с разных частей, для демонстрации детализации. Разрешающей способности микроскопа достаточно для изучения устройства чипа, но эта гребаная оксидная пленка портит всю картину)
Изображение Изображение Изображение
25 сентября 2012
Цифровой микроскоп
Вообщем решил купить свой цифровой микроскоп.

Скажу сразу - особо на успех не надеялся, но о такой игрушке мечтал давно, так что ещё пригодится)

Выбор сделал на Bresser Junior DM 400. 20x / 80x / 350x.
Изображение
Проблем с покупкой не возникло, взял в 4glaza, стоимость микроскопа составила 4 рубля.

В качестве жертвы выбрал один из чипов рассыпухи PSX, даже не знаю что за чип ))) Вроде контроллер CD-ROM.

Декапитацию провёл "термическим методом" : берем чип в клещи, включаем газ и суем его туда. Как начинает шкворчать - под холодную воду. После 3-4 процедур пластик превратился в печеньку и просто раскрошился. Я немного перестарался и чип треснул пополам:
Изображение

Результаты исследования под микроскопом:
20x:
Изображение

80x
Изображение

350x
Изображение

По сути дела четко показывает только 20x, но из-за 1.3 мегапиксельной матрицы - картинка говно.
А 80 и 350 как ежики в тумане. Линзы не тянут вообще.

Выводы - если брать цифровой микроскоп для исследований, то с линзой в районе 40x (среднее между 20 и 80) и 8-10 мегапиксельной матрицей.

-- 26 сен 2012, 00:45 --

после некоторых экспериментов я обнаружил, что если объектив проворачивать не до конца, то его разрешающая способность как ни странно становится лучше, сравните:

в нормальном положении:
Изображение

не до конца провернутый:
Изображение

ну и вот картинки на макс. разрешающую способность:
Изображение
Изображение
4 ноября 2010
Хачим Pops
Pops - это официальный эмулятор PlayStation (PSX) для Sony PSP. Не зря я потратил прилично времени на знакомство с устройством PSP, попробуем как-нибудь применить эти знания.

Pops представляет собой 2 модуля: pops.prx и popsman.prx (менеджер). В pops.prx находится сам эмулятор, менеджер - это обвеска.

Зачем ломать? Интересно выяснить работу некоторых недокументированных регистров PSX при эмуляции BIOS, интересно посмотреть как эмулируется GTE и пр.
Как будем ломать: Pops 100% низкоуровневый эмулятор, который ничем не отличается от остальных подобных эмуляторов, то есть берём инструкцию, интерпретируем её (скорее всего), всё железо эмулируется средствами PSP. В состав pops.prx входит кастомный BIOS для PSX.

Пока не понятно есть ли что-то ценное в popsman.prx, так что его пока не трогаем. MD5 хеш моей версии pops.prx: 151bf8250ea0eb61988e00fbd452b463

Первым делом вырежем BIOS и попробуем его сэмулировать на обычных эмуляторах.

Кастомный Pops BIOS.
Первым делом нужно найти сигнатуру - строку "Sony Computer Entertainment CEX-3000... by K.S." или как то так. Находится эта строка в районе 0x06BC30. Выше как известно находится стартовый код загрузки BIOS. Находим это место и вырезаем 512 Кб (или сколько получится, потому что BIOS кастомный и возможно кастрированный). Получаем начало BIOS из дизассемблированного pops.prx, полученного с помощью утилиты prxtool:
0x0006BA8C: 0x3C080013 '...<' - lui $t0, 0x13
0x0006BA90: 0x3508243F '?$.5' - ori $t0, $t0, 0x243F
0x0006BA94: 0x3C011F80 '...<' - lui $at, 0x1F80
0x0006BA98: 0xAC281010 '..(.' - sw $t0, 4112($at)
0x0006BA9C: 0x00000000 '....' - nop 
0x0006BAA0: 0x24080B88 '...$' - li $t0, 2952
0x0006BAA4: 0x3C011F80 '...<' - lui $at, 0x1F80
0x0006BAA8: 0xAC281060 '`.(.' - sw $t0, 4192($at)
0x0006BAAC: 0x00000000 '....' - nop 
Начало типичного BIOS Так как коды PSP CPU и R3000 совпадают, prxtool выдал сразу читаемый текст BIOS.
Это место соответствует смещению в файле: 0x06BB2C.
Версия BIOS походу дела соответствует SCPH-1001 (наиболее популярная версия, используемая во фриварных эмуляторах), так как дата BIOS, записанная перед сигнатурой:
0x0006BB8C: 0x19951204 '....' - 1995.12.04
0x0006BB90: 0x00000003 '....' - 
Запустить сграбленный BIOS мне удалось на ePSXe:



psX вылетает с ошибкой, на остальных эмуляторах запускать не пробовал.

Как я и думал из BIOS вырезали белую заставку (её время занимает заставка загрузки приложения PSP) и SHELL (менеджер карт памяти и CD-проигрыватель). Оставили только минимальную часть - загрузчик ядра PSX Kernel и CD-лоадер.

Скачать Pops BIOS: PopsBIOS.zip
5 декабря 2007
Недавно я начал исследование и восстановление исходного кода системной библиотеки libgpu. Я решил выложить то, что успел сделать. Остальную часть доделывать нет необходимости, потому что там нет ничего интересного. Также от старых сценеров мне стало известно, что у Sony произошла утечка исходного кода libgpu и ещё некоторых библиотек. Именно на исходниках libgpu было основано описание GPU от K-Communications, и в последствии - gpu.txt от Doomed/Padua.

Что интересного найдено в libgpu:

Установленный бит 11 в Texture Page ID, если координата Y >= 512.
 |F E D C B A 9|8 7|6 5|4 |3 2 1 0|
 |0 0 0 0 ? 0 0|tp |abr|ty|tx     |
Видимо используется для GPU у которых 2 мегабайта VRAM (размер видеобуфера 1024x1024), например у ZN1 или Namco System 11 (аркады на основе железа PSX). В исходниках GPU-плагина Pete Bernert также есть упоминание и о некоторых других полях, в частности недокументированный и не используемый в libgpu "Sprite Mirroring".

Вызовы libgpu, которые работают с аппаратными регистрами.
В библиотеке libgpu с регистрами работает единственный модуль - sys.obj, в нем находятся основные вызовы для управления GPU. Конкретнее (список не полный):
ResetGraph - записывает команды сброса в GP1.
DrawSync - осуществляет работу с GPU DMA.
SetDispMask - записывает команду в GP1 для включения экрана.
DrawPrim - выполняет примитив путем записи через IO, в регистр GP0.

Рисование примитивов GPU происходит двумя способами - через обычные записи в GP0 (медленный способ) и через GPU DMA. DMA пересылки становятся в программную очередь, организованную libgpu (GPU Queue, длина очереди 64). Если очередь не успевает выполниться за 240 VSync, то происходит GPU Timeout (выводится сообщение, очередь очищается и отменяется DMA-пересылка). Выполнение очереди (и следовательно отрисовка) происходит после вызова DrawSync. Отдельного потока для обновления очереди не существует.

Название регистра GP1 - "stat", упоминается в сообщении GPU timeout. Значит в doomed приведено правильное название и официальное имя регистра GP1: "GPU Status Register". Вот такое расследование :) То же касатется регистров DMA. Их названия упоминаются как: "chcr", "madr".

Полный сброс GPU:
GPU_DMA_CHCR = 0x0401
DMA_PCR |= 0x0800
GP1 = 0x00000000
GP1 = 0x09000001
(Только если версия GPU полученная с помощью команды 0x10000007 = 2)

Отменить все операции рисования и очистить командный буфер:
GPU_DMA_CHCR = 0x0401
DMA_PCR |= 0x0800
GP1 = 0x02000000
GP1 = 0x01000000

Включение экрана:
GP1 = 0x03000001
Выключение экрана:
GP1 = 0x03000000

Это исследование является предварительной работой над эмуляцией GPU: Скачать исходник libgpu.

Также я обновил раздел Download несколькими патентами Sony на PSX.

1-2 ноября 2007
Закачал на сайт небольшую программу для тестирования GTE. В программе можно изменять регистры и выполнять различные GTE-операции. Исходный код и инструкция к применению прилагаются с архивом.

Обновление 2 Nov 2007: закачана исправленная версия. Я забыл включить GTE :)
Обновление 2 Nov 2007 (2): закачана версия 0.03. Более адекватное поведение контроллера.

Качаем.
18-23 октября 2007
По прошествии продолжительного периода я опять вернулся к проекту PSX, чтобы доделать начатое. Специально для этого я приобрел несколько "серых коробочек" и линк-кабель для исследования аппаратуры. Теперь, спустя несколько лет у меня появилась возможность проверить на реальном железе, как оно работает.

Дизайн сайта оставлен без изменений, у меня были мысли сменить его, но нет желания :)

Я решил закачивать на сайт всё что есть в сети на тему PSX, потому что с течением времени всё стремительно уплывает в небытие. Теперь можно всегда скачать необходимые программы или документацию с этого сайта.
Следите за обновлениями в разделе Download, у меня есть куча файлов которые вскоре там появятся.
10 июля 2007
Краткое пособие по хаку PSP:

Как загружается PSP?

- В центральном процессоре PSP Allegrex есть встроенный (embedded) бутром, который записывается в память после RESET.
- Этот маленький загрузчик в свою очередь загружает вторую ступень, а потом стирается. Эти два шага загрузки препятствуют попыткам сдампить начальный загрузчик.
- Вторая ступень загружает ядро (kernel), которое представляет собой кучу .PRX файлов, расположенных во флеш-памяти (т.н. Firmware). Вторая ступень тоже находится во флеш памяти, причем дублируется аж 10 раз.
- Затем если в привод вставлен UMD, то загружается диск, иначе загружается оболочка ("VSH").

Что такое .PRX?

PRX (PSP Relocateble Executable) - это модули ядра, аналог виндовым DLL. Каждая .PRX импортирует несколько системных вызовов. Каждый вызов имеет свой идентификационный номер и имя, например:
    0xEB092469  sceIoDclose
    0x54F5FB11  sceIoDevctl
    0xB29DDF9C  sceIoDopen
    0xE3EB004C  sceIoDread
Внутренне PRX представляют собой слегка измененные ELF-файлы. (а ELF-ы являются индустриальным стандартом для исполняемых файлов и динамических библиотек).
В программе системный вызов вызывается инструкцией Syscall.

Как устроена прошивка PSP?

Прошивка PSP записывается во флеш-память (NAND), которая состоит из двух банков по 16 Мб (всего 32 Мб). В файловой системе эти устройства называются flash0: и flash1:
На flash0 распологаются шрифты, PRX-модули ядра, сертификаты и оболочка VSH.
На flash1 распологаются всякие настройки оболочки и прочая хрень.

Как происходит обновление прошивки PSP?

Прошивка - это специальный файл с расширением PBP. Вообще PBP используется для разных программ, в нем находятся PNG-картинка, музыка и задний фон для отображения в оболочке + сама программа состоящая из двух файлов: "PSP" и "PSAR". Можно сказать что PBP - это "дистрибутив".

Конкретно в EBOOT.PBP, находится программа прошиватель (PSP) и данные для прошивки во флеш-память (PSAR).
Данные для прошивки (PSAR) - это зашифрованные PRX-модули и другие данные, которые записываются вместо старых в flash0.
flash1 не изменяется при прошивке, так как в этом нет необходимости (хотя это может измениться со временем, всё зависит от программы прошивателя).

Примечание: Расшифровка содержимого PSAR-файла производится специальным чипом ("KIRK"), который умеет аппаратно вычислять SHA/AES и выполнять шифрование/сжатие. Точной информации по этому чипу на данный момент нет.

Дополнительная информация находится на сайте Hitmen:
- Подборка PDF
- Yet Another PSP Documentation
6 марта 2006
Появился новый эмулятор PlayStation, который не использует плагины PSEmuPro - psX.
Домашняя страница эмулятора: http://psxemulator.gazaxian.com
18 января 2006
Документация на PlayStation 2 в сети:

- Wikipedia - PlayStation2;
- Wikipedia - Emotion Engine (EE);
- сравнение PS2 и PC;
- хорошее описание устройства EE и PS2;
- ещё про устройство EE;
- сайт MIPS, регистрация бесплатная;
- неофициальный FAQ по VU;
- сайт PS2DEV-коммунити из IRC канала #PS2dev (IRC);
- патент США 6,807,620 - "Игровая система с графическим процессором";

Также по ключевым словам "VU User's Manual" +pdf (набирать именно в кавычках) в Google можно найти официальную документацию (на EE, VU и GS).
26-28 июня 2003
Мой динамический рекомпилятор, наконец-то стабильно заработал. Благодаря этому скорость эмуляции возросла примерно в 10 раз. В некоторых играх ещё остались кое-какие проблемы со звуком, но в целом эмулятор вполне стабилен. Из всех моих игр НЕ запустились только FF9 и MGS.

Как и раньше, для правильной работы, нужны PSEmu-плагины и BIOS (scph1001.bin). На слабых машинах желательно включить frame skipping и отключить frame limit в GPU плагине.

Скачать HLPSE 0.06
1 июня 2003
Появилась заплатка, которая позволяет устранить баг с SPU DMA, MDEC XA и GTE RTPT. Возможно, что это последняя версия "низкоуровневого" HLPSE.
Вот список того, что работает более-менее стабильно :

Tekken 3 (плохой звук, тормоззззняк, нужен FRAMESKIP) Final Fantasy VII (виснет в бою) Final Fantasy Chronicles (V и VI). Need For Speed 5 (не видны прозрачные кнопки) Mortal Kombat 4 Mortal Kombat Trilogy Mortal Kombat Mythologies Sub-Zero Resident Evil 3 Silent Hill Lost Vikings 2 Nuclear Strike (СЛИШКОМ быстро) X-Com UFO Defence Warcraft II CW : Project Titan Dragon Valor
а может быть даже больше!
31 мая 2003
Два этих скриншота говорят сами за себя :



Правда, не всё так идеально в действии, как на картинках.

Скачать новую версию эмулятора, вместе с плагинами.
27 мая 2003
Главная новость - заработала Final Fantasy VII. Правда загружать игру нужно с карты памяти, и при первом-же MDEC игра вылетает, тем не менее, она работает! См. новые картинки из игры.

Скачать эмулятор.
26 мая 2003
Я наконец-то доделал VSync(). Ещё спасибо RomikB за то, что он нашёл пару ошибок в предыдущей beta 1.1. Новая версия содержит все функции, причем со 100% совпадениями на опкодах!

Скачать финальную libetc 1.2.
24-25 мая 2003
Раздел скринов пополнился несколькими экземплярами из моего экспериментального низкоуровнего эмулятора. Процент запускаемых демок пока не велик, но уже запускаются самые известные демки от HITMEN и DLCM-demo.
Также запускаются заставки у некоторых игр =) Например Final Fantasy VII, Silent Hill, Metal Gear Solid и Warcraft II

Скачать эмулятор.
20-30 апреля 2003
В связи с тем, что у меня накопился огромный материал по reverse engineering'у на PSX, я решил создать новый отдельный сайт, посвященный восстановлению исходных кодов BIOS и библиотек - REPSX.NAROD.RU.
На данный момент в завершающей стадии находится библиотека libetc. Компиляция дает почти 100% совпадения по опкодам - результат : libetc версии 1.1 можно скачать здесь.
18 марта 2003

Эмулятор GameBoy для PlayStation.
Стабильно работает с PeteGPU. Для скачивания доступна версия с ZELDA:Links Awakening. Эмулятор вполне реально заставить работать на настоящей консоли. Имеется порт с исходниками для Win32. Из недостатков : слабая оптимизация (frameskip почти на нуле), нет звука. В версии для Win32 звук есть, но он пока глючит.
10-20 декабря 2002
В связи с непредвиденными обстоятельствами проект переезжает с ROMOV.NET. Новый адрес пока не известен, но скорее всего это будет PSXDEVRU.SOURCEFORGE.NET.
На базе TEST был разработан новый эмулятор PSX совершенно иного типа, чем ePSXe или PCSX - HLPSE. Более подробно об архитектуре HighLevel PlayStation Emulator (HLPSE) можно узнать здесь. На данный момент готова версия 0.01 - она будет open source.
4-9 декабря 2002
Сегодня я решил выложить три интересных "релиза": это эмулятор, дизассемблер и исходники библиотеки LIBETC.LIB.
Называется сиё чудо программерской мысли просто TEST. Это простейший HLE эмулятор, написанный мною, который поддерживает всего две демки: PRINTGPU и DLCM (DeadLine Caught Me). У него полностью урезано все железо, кроме разумеется GPU ;) Ядро интерпретируемое. BIOS не нужен. В качестве GPU используется любой PSEmu-плагин (нужно переименовать его в GPU.dll и поместить в директорию с эмулятором). И еще нужен какой-нибудь EXE-файл (PSX.EXE).
Хочу поблагодарить RomikB и E}|{'а за информативную поддержку.
Обещанный "умный" дизассемблер. Умеет строить карту любого PSX EXE-файла, удаляет ненужные метки. Работает по принципу WEB-броузера: захотел перейти на функцию - щелкай мышкой по адресу; чтобы вернуться назад - жми "back" или кнопку BACKSPACE. В дизассемблер встроена небольшая помощь по кнопкам. для правильной работы нужен какой-нибудь PSX EXE-файл (PSX.EXE).
Исходники самой основной библиотеки программ для PSX. В её состав входят такие важные функции, как VSync(), VSyncCallback(), SetVideoMode() и PadRead(). Исходники довольно сырые и я не пробовал их использовать, поэтому они рекомендуются чисто в познавательных целях. Чтобы откомпилировать, нужно установить PsyQ и запустить файл RUN.BAT.

Я надеюсь, что кому-то понадобятся эти вещи, и я буду рад услышать какие-нибудь отзывы или предложения.
31 октября 2002
Удивительно, но TIMGRAB, написанная за пол-часа, ещё может и глючить! Обновление лежит там же. Новая версия успешно выдирает все картинки из любого файла, и даже больше ;)
30 октября 2002
Появилась полезная утилита, для выдирания картинок из PSX EXE-файлов. Я не пробовал выдирать картинки из каких-нибудь игровых файлов, но в принципе, программа позволяет это делать. См. TIMGRAB в download.
20-24 октября 2002
Наконец хоть что-то заработало! На нашем совместном эмуляторе удалось запустить DeadLine Caught Me Demo! Правда без GTE... Автоматически заработал PRINTGPU. Все эти демки можно скачать из download, а посмотреть полученные результаты - в скринах.
18 октября 2002
Добавлен интерфейс плагинов PSEmuPro, в виде заголовка (.h-файла). скачать.
Обновлена документация (информация по эмуляции printf(). wow!). Также стало известно, как програмным путем определить модель PSX (PAL или NTSC).
13 октября 2002
Обновлено описание памяти PSX (не без помощи RomikB).
Ведутся работы по созданию "умного" дизассемблера (сам создает структуру EXE-файла, удаляет ненужные метки, поддержка синтетических инструкций, а также распознование библиотечных вызовов).
1-3 сентября 2002
Happy Birthday to PSXDEV.NAROD.RU =)
Проекту исполнился один год.
Новый год приготовил один сюрприз:

Всем, кому нужен PsyQ, Yaroze SDK, официальные библиотеки и документация по PSX, качают её отсюда:
http://www.psxdev.devilnet-uk.net
а также три скрытых:
http://www.psxdev.devilnet-uk.net/docs/OS.zip
http://www.psxdev.devilnet-uk.net/docs/Dataconv.zip
http://www.psxdev.devilnet-uk.net/docs/Hardware.zip
Учтите, что в ближайшее время халяву могут прикрыть.

Также: исправлена инфа по таймингу, но все равно это не окончательный вариант. Исправлено и дополнено описание памяти. И наконец, мне стало понятно, как подключить PSX к компу.
25 июля 2002
Обновил дебагер (до версии 1.3). Была добавлена возможность поиска системных вызовов. Поддержка железа - отсутсвует. см. в разделе DOWNLOAD. Обновил документацию.
11 июля 2002
Сегодня я купил PSX...
3-7 июля 2002
Закончилась сессия, ура, и еще один учебный год. На конец то!
С командой ничего не получилось -- сработало правило: хочешь что-то сделать, сделай это сам ;)
Обновлен раздел KERNEL CALLS. в раздел DOWNLOAD добавлена хакнутая BIOS SHELL, в виде PS-X EXE. Добавлено описание прерываний и тайминга PSX.
4 июня 2002
Сайт переехал на ROMOV.NET я надеюсь, что это событие изменит к лучшему отношение к отечественной ;) эму-сцене и PSX-сцене в частности.
14 апреля 2002
Давно не было хороших новостей... Похоже скоро проект PSX обретет команду. И следовательно можно будет ожидать первого российского эмулятора Sony Playstation. В настоящее время ведутся работы по усовершенстованию ядра и создание дружественного пользовательского интерфейса.
Также появился плагин-support. на сайте E}|{'а можно скачать его новый софтверный GPU-плагин.
22 февраля 2002
Adri опубликовал исходники своего эмулятора. Только почему-то без DynaRec :[ Скачать их можно с его сайта. Только чтобы их откомпилить - нужен нелюбимый мной DJ Delorie C++ с пакетом RSXNTDJ. При просмотре исходного кода выяснились две вещи - 1) улучшить еще можно очень много, и 2) - на аргентинских клавиатурах отсутствует кнопка TAB ;)
1 февраля 2002
Родился Rush. Подробности смотри тут. GPU-плагин тоже неплохо поживает (точнее уже доделан, осталось только сделать поддержку текстур (всего то...)). В любом случае приоритет проекта Rush теперь гораздо выше, чем GPU :) И GPU теперь лежит в пыльном углу.
У Adri большие проблемы, ведь он живет в Аргентине... Поэтому, по его словам, исходники вряд-ли будут открыты в ближайшее время. Однако, на данный момент, существуют несколько эмуляторов с открытым кодом - PCSX, PSinex и FPSE. Причем первый - PCSX - довольно неплохо (но медленно) эмулирует PSX, и код написан по-человечески..
14 января 2002
Adri решил сделать свой эмулятор OpenSource, но исходники почему-то не выложил (буду ждать!)... Я не долго думая решил забить на ядро эмулятора - зачем делать то, что лучше сделать уже нельзя? И поэтому я тоже отдаю свои сурсы на всеобщее растерзание. А сам... сам я надумал писать GPU-плагин для ядра :) Причем под Glide :))) Первые наработки уже есть - плагин жмет 600 FPS при вращении треугольников, и 400-700 FPS на линиях и спрайтах..
25-28 октября 2001
Хорошая новость - заработал GPU. Правда совместимость с плагинами - хреновая, поэтому работает только под Glide. Я думаю скоро можно будет увидеть первые скриншоты.
10-20 октября 2001
После того, как я сравнил скорость работы моего интерпретатора с реальной PSX - меня ошарашили результаты: интерпретатор в 80-100 раз медленнее, чем консоль! После недельной оптимизации результаты стали получше, но все равно МЕДЛЕННО... Начал HLE, а заодно и реверсинг BIOS. CPU плагин я пока оставил в покое.
1 октября 2001
Полностью перевел весь GUI на плагины. Бедный AdriPSX... я разодрал его на диалоги, как Моська - грелку:) Надеюсь, Adri не очень обидется.
20-30 сентября 2001
Сделал поддержку плагинов PSEmuPro. Таким образом уже работают: видео, звук, CDROM и джойстик. Непосредственно, всё это хозяйство я пока не тестил, так как... ...начал производить перевод GUI, динамической рекомпиляции и HLE в систему плагинов - PSEmuProEx. Вот, если кому надо, мой PSX-дебагер.
10-20 сентября 2001
Закончил полностью интерпретатор и отладочную консоль (ну остались кое-какие косметические недочеты).
1-3 сентября 2001
Сайт создан. wew! Начал работу над интерпретатором PSX. Работает всё жутко медленно, глючит - страшно, и вообще никуда не катит.


Hosted by uCoz