Автор Тема: разогнал эмуль генс11а. (генсмуви)  (Прочитано 18218 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #30 : 10 Октябрь 2009, 18:14:09 »
Цитата
дык а тут то    другие адреса:  A00000-CFFFFF
Понял. Невнимательный я.
А ОЗУ и впрямь не работает...

Добавлено позже:
Ну главное, 13-метровый хак Кабала запускается. Если ещё сделать 2 метра ОЗУ, Кабал описается от счастья :lol:

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #31 : 10 Октябрь 2009, 18:16:59 »
9F:FFFC  4E 71  NOP                              A0=00000000
9F:FFFE  4E 71  NOP                              A0=00000000
A0:0000  00 00  ORI.B   #$00,D0                  A0=00000000         <= дебагер врёт а игра видит
00:7302  4E 71  NOP                              A0=00000000



Добавлено позже:
А ОЗУ и впрямь не работает...
мне кажется им нужно дать разные имена: RAM1 RAM2 RAM3 RAM4, и урезать только 4-ый блок (оригинальный)

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #32 : 10 Октябрь 2009, 18:19:54 »
Я тут подумал, ведь надо для блоков РАМ тоже прописать XOR, отображающий относительный ebx в абсолютный. Т.е. сделать так:
dd M68K_Read_Byte_Ram0, ; 0xE00000 - 0xE7FFFF
dd M68K_Read_Byte_Ram1, ; 0xE80000 - 0xEFFFFF
...
...
M68K_Read_Byte_Ram0:
and ebx, 0x7FFFF
xor ebx, 1
mov al, [Ram_68k + ebx]
pop ebx
ret

M68K_Read_Byte_Ram1:
and ebx, 0x7FFFF
xor ebx, 0x80001
mov al, [Ram_68k + ebx]
pop ebx
ret
И т.д., точно так же, как для рома. Но почему РАМ не расширяется даже на 132 кб - непонятно. У меня E00000 и E10000 - одинаковые адреса получаются...

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #33 : 10 Октябрь 2009, 18:22:25 »
И т.д., точно так же, как для рома. Но почему РАМ не расширяется даже на 132 кб - непонятно. У меня E00000 и E10000 - одинаковые адреса получаются...
а асм может не так коды генерирует для этих адресов?

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #34 : 10 Октябрь 2009, 18:23:06 »
ТЬФУ ТЫ, ты же процедуры записи M68K_Write_Byte_Ram и M68K_Write_Word_Ram не поменял, вот и вся разгадка.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #35 : 10 Октябрь 2009, 18:24:46 »
и еще незабудь там такие же строчки для word, вообще я вроде в этом файле FFFF менял на F7777 в 4местах.

Добавлено позже:
ТЬФУ ТЫ, ты же процедуры записи M68K_Write_Byte_Ram и M68K_Write_Word_Ram не поменял, вот и вся разгадка.
сейчас гляну

не понял , их во в ред  4блока , а write 2блока. как быть?


xor ebx, 0xE00001 ???


ALIGN32

M68K_Read_Byte_Ram0:
and ebx, 0x7FFFF
xor ebx, 0xE00001
mov al, [Ram_68k + ebx]
pop ebx
ret

ALIGN32

M68K_Read_Byte_Ram1:
and ebx, 0x7FFFF
xor ebx, 0xE80001
mov al, [Ram_68k + ebx]
pop ebx
ret

ALIGN32

M68K_Read_Byte_Ram2:
and ebx, 0x7FFFF
xor ebx, 0xF00001
mov al, [Ram_68k + ebx]
pop ebx
ret

ALIGN32

M68K_Read_Byte_Ram3:
and ebx, 0x7FFFF
xor ebx, 0xF80001
mov al, [Ram_68k + ebx]
pop ebx
ret


ох и наворошил я там, скоро выложу) счас скомпилю и глянем что будет. походу слишком:
c:\gens11\svnblah\Gens\\mem_m68k.asm:181: error: symbol `M68K_Read_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:182: error: symbol `M68K_Read_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:183: error: symbol `M68K_Read_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:184: error: symbol `M68K_Read_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:215: error: symbol `M68K_Read_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:216: error: symbol `M68K_Read_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:217: error: symbol `M68K_Read_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:218: error: symbol `M68K_Read_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:235: error: symbol `M68K_Write_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:236: error: symbol `M68K_Write_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:253: error: symbol `M68K_Write_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:254: error: symbol `M68K_Write_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:287: error: symbol `M68K_Read_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:288: error: symbol `M68K_Read_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:289: error: symbol `M68K_Read_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:290: error: symbol `M68K_Read_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:321: error: symbol `M68K_Read_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:322: error: symbol `M68K_Read_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:323: error: symbol `M68K_Read_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:324: error: symbol `M68K_Read_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:341: error: symbol `M68K_Write_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:342: error: symbol `M68K_Write_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:359: error: symbol `M68K_Write_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:360: error: symbol `M68K_Write_Byte_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:378: error: symbol `M68K_Write_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:379: error: symbol `M68K_Write_Word_Ram' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:1792: error: symbol `E00000' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:1802: error: symbol `F00000' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:2074: error: symbol `E00000' undefined
c:\gens11\svnblah\Gens\\mem_m68k.asm:2083: error: symbol `F00000' undefined
« Последнее редактирование: 10 Октябрь 2009, 18:55:09 от Ti_ »

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #36 : 10 Октябрь 2009, 18:54:19 »
Никак не получается. Я уже не знаю, что придумать. То ли мы что-то упустили, то ли ещё до обращения к этому файлу адрес автоматом отображается в 64кб РАМ.

Цитата
xor ebx, 0xE00001 ???
нет, т.к. отображать надо в массив РАМ, а не РОМ, т.е. 14-й мегабайт идёт в 0-й, 15-й - в 1-й, посмотри мой исходник - поймёшь.

К слову о "слепой зоне". Если оставить твой исходник, то 13-й мегабайт рома отображается в 14-й мегабайт пространства эмулятора (из-за сдвигов). И если не учесть сдвиг, то ассемблер при обращении к 13-му мегабайту напишет команду с ссылкой именно на 13-й мегабайт (он же не знает про сдвиг), а в эмуляторе 13-й мегабайт - это VDP. И получится косяк. Раз хак Кабала работает нормально, значит, они это учли..... ну там просто треки впихнули в конец, я так понял.
Вот что я имею в виду:
        lea ssilka,a0          ; lea $c00000,a0
        move d0,(a0)        ; move d0,$c00000 - обращение к VDP
...
* это место в роме - 0xC00000
ssilka:
        dc.b 'данные'

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #37 : 10 Октябрь 2009, 19:03:18 »

да я понял, эмулятор не будет знать ВДП это или РОМ.  но они это учли.  и работает как-то.

Добавлено позже:
нет, т.к. отображать надо в массив РАМ, а не РОМ, т.е. 14-й мегабайт идёт в 0-й, 15-й - в 1-й, посмотри мой исходник - поймёшь.
если при этом будет работать, то без разницы куда отображает), сейчас попробую фикс ошибок и сделать так, а если не поможет сделаю без этго.

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #38 : 10 Октябрь 2009, 19:08:07 »
Не эмулятор не будет знать, а ассемблер. Эмулятору побоку.
Не без разницы, у тебя есть массив РАМ - 2 метра, от 0 до 1FFFFF. Если даётся команда записать что-то в адрес $8542 во второй блок РАМ, это будет 80000 + 8542 = 88542.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #39 : 10 Октябрь 2009, 19:37:34 »
Не эмулятор не будет знать, а ассемблер. Эмулятору побоку.

;      pop ecx
;      pop ebx
а это зачем ; сделали не знаешь?

з.ы. не пашет.  сейчас покажу что лишнего понаписал, и потом сотру.

M68K_Read_Byte_Ram0:
and ebx, 0x7FFFF
xor ebx, 0xE00001                    < ?
mov al, [Ram_68k + ebx]
pop ebx
ret
и т.д.



M68K_Read_Word_Ram0:
and ebx, 0x7FFFF
mov ax, [Ram_68k + ebx + 0xE00000]    < ??
pop ebx
ret
и т.д.


M68K_Write_Byte_Ram0:
and ebx, 0x7FFFF
xor ebx, 0xE00000                        < ??
mov [Ram_68k + ebx], al              
; pop ecx
; pop ebx
ret

и тд
 
M68K_Write_Word_Ram0:
and ebx, 0x7FFFF
mov [Ram_68k + ebx + 0xE00000], ax          < ???
; pop ecx
; pop ebx
ret

итд

Добавлено позже:
, от 0 до 1FFFFF.

тогда может попрбовать 4блока по 0x000000, 0x080000,  0x1000000, 0x1800000

Добавлено позже:
Никак не получается. Я уже не знаю, что придумать. То ли мы что-то упустили, то ли ещё до обращения к этому файлу адрес автоматом отображается в 64кб РАМ.
может игра не видит их.,нужно что-то прописывать?

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #40 : 10 Октябрь 2009, 19:38:55 »
Смотри мой исходкик, там всё это вписано, но всё равно не пашет.

;      pop ecx
;      pop ebx
значит, что эти команды заккоментированы, т.е. не исполняются. Там все команды в read присутствуют, а в write закомментированы - значит, так надо.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #41 : 10 Октябрь 2009, 20:21:04 »
а я по единичке забыл добавить,

Смотри мой исходкик, там всё это вписано, но всё равно не пашет.

значит, что эти команды заккоментированы, т.е. не исполняются. Там все команды в read присутствуют, а в write закомментированы - значит, так надо.
тем более раз у тебя не пашет, значит нужно по-другому делать.
; сейчас попрбую стереть. что будет глянем.


офф сайт генс умер.... ? http://gens.consolemul.com/

Добавлено позже:
а у меня ошибка была там где на врайт 2сегмента надо было FFFFF, а не 7FFFF.
 ,,,опять все комбинации проверять  ...

если ничего не получится... может другую область выделим и всё?

Оффлайн Йобан Матич

  • Emu-Land Team
  • Сообщений: 2593
  • Пол: Мужской
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #42 : 10 Октябрь 2009, 20:25:39 »
Цитата: Ti_
http://gens.consolemul.com/
http://sourceforge.net/projects/gens/ тут посвежее будет версии 2.15.5 =)

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #43 : 10 Октябрь 2009, 22:13:22 »
вот что я заметил, во всех комбинациях что я пробовал.(везде эмуль и и игра работают нормально)
программа записи в "новую память" помещает данные в старые 64кб. ,

вот док-во: (глюк на бордюре)


программа проверки:
 cmpi.l  #$0, $F00000
  bne.w  XUICI
  cmpi.l  #$0,  $F12345
  bne.w  XUICI
  cmpi.l  #$0, $F25000
  bne.w  XUICI
  cmpi.l  #$0, $F34000
  bne.w  XUICI
  cmpi.l  #$0, $F43000
  bne.w  XUICI
  cmpi.l  #$0, $F52000
  bne.w  XUICI
  cmpi.l  #$0, $FE1000
  bne.w  XUICI
  rts

XUICI:
  cmpi.l #$ffffffff, $F00000
  bne.w  XUICI2
  rts

XUICI2:
 move.l #$12345678, $F00000
 cmpi.l #$12345678, $F00000
 bne.w XUICI3
 cmpi.l #$12345678, $FF0000
 bne.w XUICI3
 rts

XUICI3:
 nop
 rts

результат:
10:0000  0C B9  CMPI.L  #$00000000,($00F00000)         - не равно 0
10:000A  66 00  BNE     #$0058 [10:0064]  
10:0064  0C B9  CMPI.L  #$FFFFFFFF,($00F00000)      -не равно ff
10:006E  66 00  BNE     #$0004 [10:0074]
10:0074  23 FC  MOVE.L  #$12345678,($00F00000)     пишем 12345678 в F00000
10:007E  0C B9  CMPI.L  #$12345678,($00F00000)            да,  равно 12345678
10:0088  66 00  BNE     #$0012 [10:009C]
10:008C  0C B9  CMPI.L  #$12345678,($00FF0000)     FF0000 тоже равно 12345678
10:0096  66 00  BNE     #$0004 [10:009C]  
10:009A  4E 75  RTS  


Добавлено позже:
еще одна проверка:

10:0074  23 FC  MOVE.L  #$12345678,($00F10002)
10:007E  0C B9  CMPI.L  #$12345678,($00F10002)          ;          - ok
10:0088  66 00  BNE     #$0012 [10:009C]  
10:008C  0C B9  CMPI.L  #$12345678,($00FF0002)        ; F10002=FF0002
10:0096  66 00  BNE     #$0004 [10:009C]  
10:009A  4E 75  RTS  

получается , что FFxxxx=F0xxxx=F1xxxx=F2xxxx и т.д.



Добавлено позже:
я кое-что нашел:

   ALIGN64
   
;unsigned char M68K_RB(unsigned int Adr)
DECL M68K_RB

mov eax, [esp + 4]
push ebx

mov ebx, eax
and eax, 0xF80000                             < ?
shr eax, 17
and ebx, 0xFFFFFF                             <?
jmp [M68K_Read_Byte_Table + eax]
ещё что-то.
ALIGN64

;void M68K_WB(unsigned int Adr, unsigned char Data)
DECL M68K_WB

push ebx
push ecx

mov ecx, [esp + 12]
mov eax, [esp + 16]
mov ebx, ecx
and ecx, 0xF00000
and eax, 0xFF
shr ecx, 18
and ebx, 0xFFFFFF
call [M68K_Write_Byte_Table + ecx]
mov ecx, [esp + 12]
push dword 1
and ecx, 0xFFFFFF
push ecx
call _Fix_Codes
add esp, byte 8

pop ecx
pop ebx
ret
« Последнее редактирование: 10 Октябрь 2009, 22:16:34 от Ti_ »

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #44 : 10 Октябрь 2009, 22:16:44 »
Есть такой Mem_M68k.asm, это карта памяти для 68к. Там прописаны процедуры чтения и записи b/w/l по блокам в 512 кб. Не знаю, почему выбран именно такой размер блока, но подозреваю, что потому, что старые версии VC++ (по 2003-й, а генс написан в 98-м) не работали с массивами больше 512 кб.
В частности, для RAM рассмотрим пример
dd M68K_Read_Byte_Ram, ; 0xE00000 - 0xE7FFFF
...
ALIGN32

M68K_Read_Byte_Ram:
and ebx, 0xFFFF
xor ebx, 1
mov al, [Ram_68k + ebx]
pop ebx
ret
 
Видно, что ebx усекается до окна в 64 кб. Xor нужен для работы с чётным адресом, правда, я не понял, как это работает, ведь в al всегда будет заноситься значение из чётного адреса....
Я думаю, xor нужен для того, чтобы считать правильный байт из памяти. В памяти, я думаю, данные в формате little endian (a обычно это так и есть). Адрес не будет всегда четный, так как 1 xor 1 = 0, 1 xor 0 = 1. Чтобы адрес был всегда четный надо его and'итъ с 0xFFFFFFFE.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #45 : 10 Октябрь 2009, 22:27:41 »
*** M68K_Reset - general reset of the main 68K CPU ***/

void M68K_Reset(int System_ID, char Hard)
 {
   if (Hard)
   {
      memset(Ram_68k, 0, 64 * 1024);

      M68K_Fetch[0].lowaddr = 0x000000;
      M68K_Fetch[0].highaddr = Rom_Size - 1;
      M68K_Fetch[0].offset = (unsigned) &Rom_Data[0] - 0x000000;

      M68K_Fetch[1].lowaddr = 0xFF0000;
      M68K_Fetch[1].highaddr = 0xFFFFFF;
      M68K_Fetch[1].offset = (unsigned)&Ram_68k[0] - 0xFF0000;

      if (System_ID == GENESIS)



Cpu_68k.c

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #46 : 10 Октябрь 2009, 22:34:55 »
;unsigned char M68K_RB(unsigned int Adr)
DECL M68K_RB

mov eax, [esp + 4]
push ebx

mov ebx, eax
and eax, 0xF80000                             ;здесь оставляются пять первых бит, по которым вычисляется адрес нужной метки в массиве
 M68K_Read_Byte_Table
shr eax, 17
 ; здесь он сдвигается и получается число от 0 до 31. У нас как раз массив из 32 элементов
and ebx, 0xFFFFFF                             ; адресное пространство сеги не больше, чем 0xFFFFFF, поэтому обнуляется старший байт.
jmp [M68K_Read_Byte_Table + eax]

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #47 : 11 Октябрь 2009, 13:19:05 »
изменение еще и в cpu68k.c не помогло.
что произошло, игра перестала работать.
после изменения с
ROM:000006C2 sub_0_6C2:                              ; CODE XREF: RESET+14Aj
ROM:000006C2                 lea     ($FF8000).l,a4
ROM:000006C8                 jmp     (START).l


на $E08000 ,  заработала.

но все адреса опять дублируются.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #48 : 11 Октябрь 2009, 19:13:19 »
А мона в этод эмуль ещё и реалтайм деббагер как в кмоде, тока с возможностью записи своих значений. а ещё выбор режима между 16 и 32 битов. если можно, конечно, а то во всём удобен, кроме этого.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #49 : 11 Октябрь 2009, 19:26:24 »
А мона в этод эмуль ещё и реалтайм деббагер как в кмоде, тока с возможностью записи своих значений.
думаю это не легко (дофига файлов менять)..да ещё небось могут конфликтовать начать. (тут тоже чето типа дебага).  
насчет 16 и 32 , наверно можно такую опцию сделать , ток знать как.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #50 : 11 Октябрь 2009, 22:15:41 »
А из кмод незя тупо копирнуть? или там всё сложнее. Ато сорс выложен.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #51 : 11 Октябрь 2009, 23:59:43 »
А из кмод незя тупо копирнуть? или там всё сложнее. Ато сорс выложен.
копирнуть можно в чистый генс.  а тут все исходники уже измененные, и либо вообще не скомпилится, либо потеряется половина функий этого эмуля, либо баги будут всякие.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #52 : 12 Октябрь 2009, 09:37:36 »
понятно. значит и этот эмуль мне не подходит :-(

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #53 : 12 Октябрь 2009, 11:39:30 »
Чего не хватает kmod'у, так это бряки ставить. В дебагере Яковлева бряки ставятся, но код не трассируется и еще не хватает вывода информации о передачи dma, что и куда он пересылает.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #54 : 12 Октябрь 2009, 22:10:20 »
пробовал добавить рендер hq2x 16bit, получилось но криво.
работает в фуллскрине только, в окне неправильно. в чем может быть дело.?  еще меню малец криво - в окне его нельзя выбрать клавишами f11-f12, и можно выбрать при 32бит цвете, на который он не рассчитан.

генс:

бажный генс

(кстати доразогнал и для 50фпс режима, , +переделал заново мем68к только для 13мб ромов, а всякие трюки с РАМ убрал как нерабочие покачто))



измененные и добавленные сорс-файлы: (новые строки брал из генс214)

« Последнее редактирование: 12 Октябрь 2009, 22:34:08 от Ti_ »

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #55 : 14 Октябрь 2009, 08:34:50 »
А выбор между 16-32бит ещё нету?

Оффлайн KABAL

  • Пользователь
  • Сообщений: 1300
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #56 : 14 Октябрь 2009, 11:01:43 »
На разогнанном в 2 раза GENS мортал идёт без тормозов вообще, даже если 3 Смоука FATALITY 1 с выкидыванием бомб одновременно сделают !!! Круто !!! Спасибо за разгон, интересно поэксперементировать, а вообще и оперативки (RAM) не хватает, и видеобуфера (VRAM), он тоже от 00 00 до FF FF всего-то размером, как и оперативка, если добавить хотя бы по 64 кб видеобуфера и оперативки, то можно б было сделать так, что, скажем, от BRUTALITY высыпется 250 костей, SPRITE LIMIT только убрать надо будет в настройках эмулятора
« Последнее редактирование: 14 Октябрь 2009, 11:30:26 от KABAL »

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #57 : 14 Октябрь 2009, 13:09:13 »
SPRITE LIMIT только убрать надо будет в настройках эмулятора
да вот дело в том, что этот sprite limit никакого эффекта не дает. 
например:

Добавлено позже:
А выбор между 16-32бит ещё нету?
нет.

Добавлено позже:
а вообще и оперативки (RAM) не хватает, и видеобуфера (VRAM), он тоже от 00 00 до FF FF всего-то размером, как и оперативка, если добавить хотя бы по 64 кб видеобуфера и оперативки
\

с RAM даже на чуть-чуть прибавить не получается. а где этих авторов эмуляторов искать, они по-моему  с 2003 года туда не заходят.

Оффлайн KABAL

  • Пользователь
  • Сообщений: 1300
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #58 : 14 Октябрь 2009, 14:58:45 »
А базы в Дюне как спрайты считаются или как SCROLL A или SCROLL B ?

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: разогнал эмуль генс11а. (генсмуви)
« Ответ #59 : 14 Октябрь 2009, 19:56:25 »
VRAM, думаю, вообще не имеет смысла увеличивать. Памят увеличить можно, но как ее потом использовать. В карте тайлов тайл описывается двумя байтами (словом): 1 бит приориет, 2 бита на вертикальный и горизонтальный flip, 2 бита на номер палитры цвета, итого 5 бит. Остается 11 бит на кол-во тайлов в VRAM. Максимальный номер тайла $7FF (2047), т.е. 2048 тайлов. Каждый занимает 32 байта. Нетрудно посчитать, что последний тайл будет имет адрес 65504, т.е. не выходит за область 64 кб.