Sim, mais uma entrevista, mas desta vez com algo ainda mais interessante: consegui entrevistar alguns dos desenvolvedores dos desenvolvedores de emuladores reicast (que também eram responsáveis pelo NullDC); não apenas isso permitiu que as experiências fossem contadas sobre a cena do emulador (e explicações sobre como as coisas funcionavam), mas também foi bastante longo desta vez, portanto, esteja preparado para isso that
Reicast official logo
O NullDC e o reicast são emuladores criados para emular o console SEGA Dreamcast, lançado no Japão em 27 de novembro de 1998; e depois em 9 de setembro de 1999 na América do Norte. Apesar de o Dreamcast ter inovado com vários recursos (como a reprodução on-line, o design, sendo mais poderoso do que qualquer outro disponível), foi ofuscado pela existência do Sony Playstation 2 quando foi lançado e foi descontinuado em março de 2001. No entanto, apesar de sua curta vida, o Dreamcast viveu no coração de muitos, e isso realmente mostrou com as comunidades que apareceram ao seu redor. Obviamente, uma maneira pela qual as pessoas da Internet poderiam conhecer e apreciar o Dreamcast e seus jogos era através de um emulador.
O logotipo nullDC original, criado por gb_away. Foi usado em todas as versões nullDC até 1.0.4
O NullDC foi lançado ao público em 2007 por seus dois principais desenvolvedores, skmp e ZNullptr (chamados drk || Raziel e ZeZu naquela época) que ainda funcionam no reicast até hoje, e outros dois caras da equipe original, GiGaHeRz e PsyMan. O NullDC recebeu algumas atualizações pequenas, porém significativas, até agosto de 2011, onde a última versão foi lançada. No entanto, seu legado duraria em reicast, desenvolvido pela mesma equipe por trás do NullDC, a partir de 2013, e tendo suporte para mais plataformas, em vez de apenas Windows (ou seja, Linux, Android e MacOS). No tópico da própria equipe, eles até apresentaram apresentações sobre um
thread do GitHub; além disso, há muito mais história por trás do NullDC, como em todas as pessoas, sempre há uma história por trás de cada uma, assim como seus projetos e a cena.
O logotipo do NullDC na 1.0.4. Foi usado pela primeira vez em um
novo site do NullDC em 2008 , quando a versão 1.0.3 ainda era a versão mais recente (e tinha o logotipo original).
Nesta ocasião, o skmp (e o ZNullptr) forneceu uma visão interessante sobre muitas coisas que ocorreram durante o NullDC e reicastou os processos de desenvolvimento, bem como alguns comentários sobre a cena de emulação (eles também gostavam de brincar). Tive que me atrasar bastante para concluir a coisa toda, mas eu diria que valeu a pena, e tenho certeza que também será agradável para muitos outros (incluindo você). Sem mais delongas, aproveite esta entrevista
Esta entrevista foi realizada em 17 de abril de 2020. A entrevista inteira foi feita através de um servidor Discord, e a maioria é apresentada como aconteceu.
Olá skmp. Estava interessado em entrevistá-lo sobre o NullDC e o reicast; O NullDC sempre me intrigou bastante, e eu também poderia usar algumas das informações de um artigo sobre o qual estou trabalhando no meu site.
skmp: Uh, claro. Você quer apenas eu ou o resto do time também? Tenho certeza de que Z estaria interessado.
Se o resto da equipe também se interessar por isso, parece bom.
Estive um pouco ocupado, então não pude vê-los ainda, mas eu sei sobre eles.
skmp: Não é realmente importante o que há neles; apenas se você quiser ter uma idéia do nosso estilo.
Bem! Então, primeiro de tudo, como você descreveria a equipe de reicast (incluindo você)?
skmp: Somos um monte de humanóides aleatórios
Desde quanto tempo vocês estão no cenário de emulação (ou desenvolvendo emuladores)?
skmp: usuário emulador desde '97 ou mais; minhas primeiras tentativas de desenvolvimento devem ter sido em 99 ou 2000. Minha primeira tentativa de DC é provavelmente em 2002.
Estou ciente de que, a princípio, a maioria dos funcionários da reicast trabalhou no desenvolvimento do NullDC. O que inspirou você (skmp) a desenvolver o nullDC?
skmp: Eu me inspirei em Ikarus
Ikarus? Você quer dizer Ikaruga? Ou você está falando de outra coisa?
skmp: Um emulador do Dreamcast em que Znullptr estava envolvido, liderado por Cyrus64 (tanto quanto me lembro).
O site ainda pode estar disponível em archive.org
Znullptr: * risos * Ikaruga ... foi um bom jogo * sorrisos *
Sim, Ikarus foi por Cyrus e eu. Foi o primeiro emulador de DC a ter gráficos 3D, depois o primeiro a rodar um jogo comercial.
skmp: Isso foi no início dos anos 00, certo Z?
Znullptr : Sim, 2000. Muitas informações para o KOS (KallistOS) também foram contribuídas. É uma biblioteca de software para escrever o software Dreamcast, escrito originalmente por Dan Potter.
[Editar nota: Embora muitas vezes informações sobre esse emulador antigo possam ser encontradas sob o nome "Icarus", as menções ainda serão mantidas como "Ikarus", como foi feito na entrevista.]
Qual foi o jogo Dreamcast que mais impressionou vocês? Como no jogo favorito ou algo que realmente inspirou o desenvolvimento para Ikarus / NullDC?
skmp: Comandante de brinquedo. Tinha um conceito excepcional de arte.
Znullptr: Eu só queria trabalhar em um emu de próxima geração, mas obviamente gostei de alguns dos jogos. A espada do Berserk era boa. O Dreamcast também tinha uma boa arquitetura de hardware também.
skmp: Sim, SOTB foi incrível. Minha verdadeira inspiração, porém, sempre foi o som de inicialização do Dreamcast. Era tão ... sereno (embora não seja um jogo, não tenho certeza se conta)
Eu diria que também! * sorri *
skmp: Sim, bons velhos tempos. Sinto falta de ser criança.
Estou muito feliz que vocês possam levar algum tempo para isso a propósito. Eu sempre fico fascinado por conversar com pessoas como vocês, que sabem o que fazem na programação, além de terem estado lá na cena nos anos 2000; Eu não existia naquela época * risos *
skmp: A propósito, o KOS é o KallistOS; Kallisti significa "o mais elegante" em grego ou algo próximo (κάλιστος)
Por volta de quando o NullDC iniciou o desenvolvimento (se lembra?)
skmp: Uh, isso é super complexo. Algumas partes eram do dc4ever, minha segunda tentativa em c #.
Aqui está um histórico reconstruído no Github feito de backups .
Eu me inspirei bastante no dcemu, outro projeto que acho que foi no Sourceforge, no qual entrei como um desenvolvedor extremamente júnior. (Baseado em C) Também fiz uma tentativa no VB6, mas ele não tinha entradas não assinadas, então tive que mudar para o ambiente de programação (que nunca foi nomeado). TL; DR: tente, falhe, tente, falhe, tente, falhe, você entendeu.
Znullptr: Eu diria que foi por volta de 2005 mais ou menos.
skmp: Acho que tínhamos chamado dc_test nessa época, certo? Eu até tive algumas capturas de tela com carimbo de data e hora na página reicast.
* links para a página *
"Teste dc" inicializando o BIOS. Férias de verão, 2005. O táxi maluco já estava funcionando naquele momento. É provável que a renderização seja feita através do renderizador openGL do ZeZu ou do EctorD3D da Ikarus. Sexta-feira, 12 de agosto de 2005, 3:22:40
ZNullptr: Eu estava trabalhando na próxima geração de Ikarus na época e estávamos começando a construir algo mais a partir de peças.
Algo em que pensei é que, por exemplo, para desenvolver um emu DC, você precisava se concentrar em várias coisas, como a CPU, a GPU PowerVR e o tipo
. Vocês podem descrever em que coisa cada um se especializou durante o desenvolvimento?
(Se houvesse partes específicas para cada uma, a menos que todos contribuíssem em geral com o que encontraram)
ZNullptr : Um pouco de tudo, a única coisa completa em que uma pessoa trabalhou e não a outra seria skmp e seu recompilador.
skmp: não se esqueça do seu renderizador, Z.
Znullptr: Sim, na época eu trabalhei no PVR e você [skmp] trabalhou no recompilador. Mais tarde, trabalhei no recompilador ARM e você fez seus próprios gráficos também, então ... * encolhe os ombros *
skmp: Antes de unir forças, o Z me deu uma cópia binária do plug-in Ikarus, que eu liguei no meu código C #, e comecei a rodar algum código kamui. Algumas semanas depois, decidimos unir forças e trabalhar em uma versão C / C ++, tanto quanto me lembro.
Eu acho que é justo neste momento mencionar PsyMan; o projeto nunca poderia ter sido continuado sem ele.
Znullptr: Sim, ele não entrou na equação por um tempo, mas ele certamente esteve lá por um longo tempo.
skmp: Eu acho que foi no Natal de 2006 (ou talvez no Natal de 2005 ou na NYE 2006) quando você enviou a ele um beta enquanto estava bêbado, pensando que ele era meu amigo. (Eu não conhecia o cara)
Znullptr: Parece algo que eu faria, e provavelmente conhecer PsyMan foi em direção a 07; isso é mais quando os jogos eram jogáveis e precisávamos de testes.
skmp: Nah, lançamos a primeira versão beta em 1º de abril de 2007; ele já estava envolvido naquele momento. Tínhamos o Crazy Taxi rodando no verão de 2005, então precisávamos testar a partir de então.
Znullptr: Claro, mas não era jogável.
skmp: Eu também tive meu primeiro grande colapso mental em 2006; ele [PsyMan] fez o apoio do “metal”, enviando-me esta música quando eu estava com a alma: (Xandria - Black flame) (eu tive uma depressão de 10 anos, de 1998 a 2008)
Por que você acha que eu sempre fico ao lado dele? É provável que eu não estivesse por perto se não fosse por ele e seu apoio consistente e constante desde que o conheci. É por isso que sempre o chamei de gerente: Psy também administrava a comunidade e mantinha as partes desagradáveis longe de mim.
Znullptr: Depois de estar no servidor emudev, agora eu sei que problemas de saúde mental são galopantes no 'emudev'…
É bom saber que tudo acabou bem para você skmp. Qual foi o primeiro jogo que você lembra que inicializou no NullDC / dc_test (ou que você usou primeiro para testar se tudo funcionava corretamente)?
Znullptr: Sim, houve outros jogos próximos também, ou alguns podem ter inicializado primeiro. Mas o Crazy Taxi sempre foi um alvo, fácil de correr como um primeiro jogo 'real'. Por mais divertido que isso seja, alguns dos pacotes de emuladores (como o SEGA Smash Pack) foram executados muito rapidamente.
skmp: * risos * O Crazy Taxi funcionou antes mesmo do BIOS. (maldito AICA e esse bug mov XD / FD, tal estupidez) * links para duas fotos * Esse era o meu PC de desenvolvimento naquela época (e o primeiro PC de desenvolvimento para o NullDC), e era eu.
-
Foto do computador do skmp durante o desenvolvimento inicial do NullDC
-
Foto do skmp durante o desenvolvimento inicial do NullDC
Agora que você mencionou o Sega Smash Pack, o que vocês acharam da nota deixada pelo desenvolvido para os estripadores do Echelon? (que foi encontrado alguns anos depois nesse assunto)
Znullptr: Não me lembro da nota, lembro vagamente que havia uma, mas o que dizia. Mas você ficaria surpreso com quantas coisas tem ovos de páscoa e piadas, frases estranhas em binários e coisas do tipo.
skmp : Eu nem sabia que existia, não gastei muito tempo com rasgos. Joguei fora meus próprios jogos (foi assim que os arquivos GDI foram criados)
Em que época foi lançada a primeira versão estável do NullDC para o mundo?
skmp: 1º de abril de 2007.
logotipo original nullDC com bolo de aniversário e fogos de artifício; fornecido pelo skmp e originalmente a partir de uma postagem no fórum de aniversário nullDC.
Agora que você mencionou o GDI, você tem uma idéia de quanto tempo foram criados os formatos CDI e GDI?
ZNullptr: CDI era de um produto comercial e a GDI foi criada em… 2008?
skmp : o CDI era do DiskJuggler. GDI foi um ovo de páscoa no primeiro lançamento (eu acho), mas eu esqueci.
* links para o segmento ngemu * Foi usado em 2008.
* links para outro tópico * WinCE em 2006 lol
Qual foi o jogo mais solicitado ou elogiado com frequência quando o nullDC foi lançado?
skmp: Hmm, isso é difícil, não me lembro. Nossa primeira versão beta rodou cerca de 80% dos jogos, mas cobrimos o catálogo tão amplamente que não era um problema como os jogos FFX e Naruto eram para PCSX2. O Sega Rally 2 foi um dos que não funcionou.
ZNullptr: Todo e qualquer um, principalmente os que não funcionaram lol
Shenmue também não funcionou imediatamente, pois caiu em algum lugar do jogo na primeira versão beta.
skmp: Oh. Provável. * escreve excelente bug *
ZNullptr: Esse era o meu trabalho.
skmp: Evidentemente, o NullDC é um bugfest disfarçado de emulador do Dreamcast
Ele suportou as quatro portas do controlador na primeira versão beta?
skmp: Sim, e netplay também. Lembro-me de escrever a netplay no meu aniversário como um presente para o mundo. (meu primeiro domínio para o NullDC,
http://nulldc.emudev.org/ , ainda está ativo )
Estou ciente de que a função netplay na primeira versão foi removida nas versões posteriores. Você pode comentar sobre isso?
skmp: Ok, reviso minha declaração anterior: escrevo bugs e removo recursos; esse é meu papel oficial (o código foi perdido ou eu estava entediado)
ZNullptr: Esse tipo de netplay por discagem foi péssimo.
skmp: Sim. Bem, eu tinha ADSL naquela época, mas pings ainda eram ruins.
Você pode descrever como esse netplay funcionou?
skmp: Bem, na verdade é trivial: primeiro, garante que os dois emuladores iniciem no mesmo estado, pois o NullDC era determinístico, e isso significava que as mesmas entradas do usuário resultariam na mesma saída. (Esse era um objetivo de design e um PITA para atingir).
Então você só precisava enviar as principais entradas do outro jogador pela rede, e as duas instâncias do NullDC estavam sincronizadas. A lógica do netplay era menor que 1.000 linhas de código, provavelmente menor que 200.
Como usuário, você tinha que configurar os outros jogadores como “entradas virtuais” e podia fazer netplay de até quatro vias dessa maneira, com qualquer combinação de players locais vs remotos.
Funcionava perfeitamente se o RTT
era <16ms (Tempo de Ida e Volta; quanto tempo leva para enviar um pacote de dados a alguém pela Internet e obter uma resposta); Eu tinha 24ms para o PsyMan, então não pensei mais nisso. (Jogos de 30 qps eram bons, mas jogos de 60 qps recebiam atrasos de entrada em um quadro - o que eu considerava inaceitável; nossos padrões de qualidade eram sempre altos ... se Reicast fosse o mesmo *
risos *)
O Netplay também estava
presente nas versões posteriores e também na versão de código aberto. O
servidor netplay foi perdido quando o código foi aberto, como eu tinha esquecido de incluí-lo.
Justo. Ele apenas suportava oficialmente o Windows, certo?
Fora dos plugins oficiais do NullDC, vocês conheciam algum desenvolvedor de plugins de terceiros para o NullDC? Por exemplo, conhecia os desenvolvedores através da Internet ou algo assim, ou pelo menos se conhecia plugins de terceiros?
skmp: Vários, muitos dos quais estão incluídos no drop da fonte. facon4ever fez uma entrada (da PCSX2)
Aquele era o PuruPuru Input Plugin IIRC, certo?
skmp: Sim. mudlord começou a trabalhar em PVR, mas depois caí em depressão em 2010. O KrossX3 também fez outro plug-in de entrada. Também tínhamos o back-end de áudio do ElSemi como um plug-in de seu trabalho pós-chankast, certo?
ZNullptr: Talvez. Havia também ectord3d de Ikarus.
skmp : ElsemiAICA, chankaAICA, chankaPvr, zNullGD, zNullPvrGL… Bem, acho que os plug-ins de Z foram mesclados ao núcleo também.
Agora que você mencionou ElSemi, acho que vocês o conheciam, certo?
skmp: Sim, claro que eu o conhecia (e garoffi). Muito tempo depois, trabalhei para a Blitworks (empresa deles) em algum momento, mas não sabia se ElSemi estava envolvido lá.
No geral, Ikarus nasceu na cena britânica-americana (boob.co.uk), desdém na russa, chankast na espanhola (emulatronia.es) e nullDC foi o primeiro esforço verdadeiramente internacional (eua / grécia + recebemos código cai de praticamente todo mundo). Havia também Makaron ... acho que foi polonês?
Eu me inspirei muito pessoalmente na fonte do DEMUL, o registro dinâmico do vmem é uma "re-imaginação" do sistema de tratamento, e é triste que eles tenham decidido fechar a fonte.
Como você descreveria o processo que passou para integrar o suporte da Naomi no NullDC?
Znullptr : Um dia eu decidi colocar o BIOS em execução (lol)
skmp: Foram cerca de uma semana de trabalho, mais ou menos, de hackers loucos e plagiando o código Chankast para mim: p (os malditos buffers de CRC) A lógica do mmap é diretamente do Chankast. E sim, o BIOS já estava funcionando quando eu coloquei minhas mãos nele.
O recurso de aumentar a resolução gráfica foi um recurso implementado no início do desenvolvimento ou foi adicionado posteriormente como uma reflexão tardia?
skmp : Era uma parte natural do design do plugin 3D existente no Ikarus. Certo, Z?
Znullptr: parte natural, mas não da mesma maneira que, digamos, PPSSPP; não dimensionamos a resolução do geomério.
skmp: Agora temos um renderizador de software de referência bastante completo, mas isso seria proibitivamente lento em 2000. (e devemos fazer isso [escala de resolução da geometria] agora!)
ZNullptr: Sim, tudo foi proibitivamente lento em 2000, comecei em um Pentium III de 300 mhz, TNT2, e tipo… 512MB de RAM.
skmp: Eu tinha um 600EB e também um TNT2, e esses eram alvos difíceis, mas poderíamos ter
atingido a velocidade máxima no 600. A equipe do Chankast desenvolveu uma porta Xbox de velocidade total (733mhz) e o NullDC foi muito mais otimizado do que o Chankast. É meio estúpido da SEGA não usar isso em colaboração com a Microsoft, mas quem sou eu para julgar.
Vocês estavam cientes de que o nullDC Naomi estava sendo usado para jogar Guilty Gear XX Accent Core on-line em 2011 por meio de um plug-in de entrada de netplay?
skmp: Não, bom trabalho nessa. Eu acho que deve ser notado aqui que eu forcei Z a abrir a fonte, ou seja,… não perguntando muito a ele: p
(desculpas Znullptr, eu sei que você nunca vai me perdoar)
Aqui estão alguns links em referência à última pergunta: *
thread de fóruns do dustloop * *
arquivo do site on-line GGXXAC *
Esses binários foram perdidos há alguns anos, mas ressurgiram recentemente como o proprietário de uma comunidade de netplay, a FGC Arcadia, contatou alguém da cena GG e forneceu a ele a compilação.
ZNullptr: De qualquer forma, estou de folga. Vou ter algum tempo de jogo antes de dormir.
Não sabe ao certo o quanto você está ciente da comunidade do Sonic, mas o que você achou de comunidades como o Sonic Retro usando o NullDC e o tipo para fazer pesquisas pesadas sobre os jogos do Sonic Adventure?
skmp: Eu não estava ciente dessa atividade, mas acho que o código foi bem usado se isso acontecesse.
Acho que fazia sentido pesquisar um jogo do Dreamcast através de um emulador do Dreamcast lol
skmp: Sim, também tivemos um depurador completo; Aposto que ajudou: p Ah, e em relação à NAOMI, acho que
esse tópico é relevante.
Em que ponto foi adicionado o suporte a Modem / BBA, se isso aconteceu?
skmp: Uh, o modem nunca foi realmente implementado. flyinghead fez isso em reicast como no ano passado; Eu estava com preguiça.
Comecei a olhar para o BBA em 25 de novembro de 2006, quando adicionei 2 plugins ExtDev.
Além disso, em relação ao BBA, o que você achou do Dreamcast Live e da comunidade por trás dele, revivendo alguns servidores de jogos do Dreamcat?
skmp: Eu acho que é um esforço incrível. Eu sei que alguém aqui tem um servidor PSO ... BlueCrab, talvez? Sylverant ou algo assim?
BlueCrab: Oh, olhe, alguém mencionou eu e Sylverant. Sim, Sylverant é meu servidor
* olha *
Como você se sentiu com a última versão do nullDC (e com o nullDC em geral depois de todos esses anos?)
skmp: Eu me senti horrível por liberar uma base de código de qualidade média com tantos jogos que não funcionavam, mas eu não aguentava mais minha vida… eu tinha 170 kg e não tinha conhecimento social. Depois de travar em 2010 e pensando que eu poderia me matar, decidi abrir o nullDC de código-fonte para que não se perdesse no caso de eu cair.
Esse tópico foi minha nota quase suicida.
Eu estava mergulhado nos problemas existenciais, mas, novamente, como sempre, o PsyMan salvou o dia. (O placebo também ajudou: p)
Tenho que admitir que também tive alguns problemas com a socialização há muitos anos; Internet e jogos costumavam ser meu único alívio, mas pelo menos há coisas que fazem você olhar para a frente e, é claro, como você diz, acaba encontrando amigos que estão sempre lá para você e desfrutam das mesmas coisas. Pode ser um pouco pessoal aqui, mas tenho muito a agradecer a todos os meus amigos, bem como a essas comunidades legais na internet.
skmp: Sim, a internet definitivamente salvou minha vida; totalmente diferente hoje em dia, onde os emudevs se matam à esquerda e à direita ... é perturbador. Acabamos de perder outra pessoa há alguns meses e
alguém do grupo Dolphin em 2016.
Muito triste ouvir sobre essas coisas acontecendo.
skmp: convém aliviar as coisas .
… Bem, o que você acha de como o NullDC ajudou muitas pessoas ao redor do mundo (incluindo eu) a desfrutar dos jogos do Dreamcast? Não apenas para aqueles que tinham um, mas as circunstâncias devidas não tinham mais, mas também para pessoas como eu que sempre ficaram intrigadas por ele.
skmp: sinto sorte; era apenas meu trabalho acadêmico pessoal, nunca pensei que seria útil para mais ninguém.
Quais foram as razões para você começar a desenvolver o reicast? (depois de interromper o desenvolvimento no NullDC e começar de novo)
skmp: Eu estava entediado, fiz cirurgia e perdi 70kg, socializei e consegui uma namorada; tudo o que levou anos, mas também me encheu de muita energia positiva, especialmente o cardograma (meu então GF); ela até criou um site para o NullDC me animar: p (mas, infelizmente, eu nunca usei esse site: /)
A primeira coisa que você começou a desenvolvê-lo foi o Android, certo?
* olha de novo *
skmp: Um amigo da universidade era um mod em alguns sites da PSP CFW, gusretalis. Eu acho que Psy fez o
primeiro vídeo disso também.
Qual foi a plataforma para a qual você portou reicast depois disso? Windows ou Android?
skmp: A vida na universidade era social, mas extremamente desafiadora (lul)
Algumas alças [nomes de usuário] que eu costumava usar eram drk, drk || Razi, drk || Raziel; também Raziel nos dias de pscode, mas havia outra pessoa emudev chamada Raziel, então prefixei meu nome de clã do Counter Strike, Darkan, abreviado para drk. (Darkan era um jogo de palavras em Dragan, um jogo de PC bastante impressionante para * seu tempo)
Legal. Então, acho que demorou um bom tempo para refazer tudo no reicast novamente, ou você acabou pegando a maioria dos códigos do NullDC?
skmp: 99,5% era NullDC. A primeira porta foi para o WinCE, e eu tinha o compilador, mas não tinha dispositivo, mas era uma maneira fácil de isolar as partes x86. Uma vez que estava compilando, eu carreguei para o GCC, e então acho que era PSP, Wii e PS2.
Então, você está me dizendo que o transportou para o WinCE ...
o sa me que o
WinCE usou no Dreamcast?!?
skmp: Sim, praticamente. Enquanto isso, alguém (gligli) fez uma porta xbox360 de forma independente. Depois do PS2, mudei para o ps3, mas os SDKs estavam em alta e caí novamente em depressão, então decidi fazer uma pausa. (a maior parte disso está documentada no meu bloco drk.emudev.org, que está em archive.org)
Moopthehedgehog [testador reicast]: o WinCE tinha 5 versões, porém, o Dreamcast usa 2.1, eu acho; 5 é como XP.
skmp: Sim, eu segmentei 4 ou 5, VS2k5 iirc. Foi por isso que fiz dessa maneira, não portou todas as alças e WinAPIs.
mrneo240 [testador reicast]: Eu acredito que o WinCE é um pouco 3-ish, no entanto.
Em uma nota lateral mrneo240, você fez parte do desenvolvimento do NullDC / reicast em um ponto? Ou apenas foram envolvidos em outros projetos de emulação e no homebrew do Dreamcast? Só fiquei curioso.
mrneo240: Somente desenvolvedor de homebrew, nunca emu.
Foi trivial ou difícil portar o material de renderização para o OpenGL para dar suporte a outras plataformas? (Como eu assumo que o NullDC originalmente usava D3D)
skmp: Sim, foi trivial: o renderizador é a parte mais fácil, e para o PSP também escrevi um pequeno emulador de PSP-GPU para poder depurar o código PSP no PC. (PSP -> OpenGL) A versão psp foi bastante complicada, mas o hlide também ajudou um pouco (eles são franceses)
O que você espera ou planeja reicast no futuro próximo?
skmp: Eu quero fazer completamente a separação reicast x libswirl, com o libswirl sendo um kit de ferramentas que pode ser usado para montar emuladores de dreamcast. O reicast permanecerá como está e, esperançosamente, melhorará e usará o libswirl como back-end. O nullDC também usará libswirl, mas com uma configuração diferente, visando novos dispositivos e usabilidade.
reicast é o canivete suíço, nullDC será a experiência premium da apple e libswirl estará disponível no BSD, contendo toda a tecnologia básica, para qualquer um usar gratuitamente.
Então você quer dizer que o
retorno do NullDC no futuro foi mais do que uma piada de April Fools? xD
skmp: Só falamos sério durante o April Fools; é por isso que lançamos em 1º de abril de 2007.
É um troll reverso. Sou grego, amo meu drama e troll: p (contanto que seja engraçado para todos os envolvidos, ou seja; matar pessoas não é o que eu chamo de divertido, mas não vamos atrapalhar novamente)
Manter o suporte da NAOMI em binários separados no Reicast foi uma opção de design ou apenas uma transferência dessa decisão no NullDC?
skmp: Transição por motivos de desempenho. Fazer a troca no tempo de execução tem um custo (mínimo) de cerca de 0,2%, o que é injustificado por conveniência. As otimizações de 0,2% no JIT levam algumas semanas para serem desenvolvidas, principalmente porque meu design está muito quebrado neste momento.
Planejamos refatorá-lo e substituí-lo por uma arquitetura JIT e AOT totalmente em camadas declarativa-generativa. Estou buscando uma vitória de 40% no desempenho.
O que você achou do NAOMI 2?
skmp: Claro, se tivermos tempo. A equipe do DEMUL declarou no passado que está disposta a compartilhar algumas informações (e o DEMUL já as apoia).
Para misturar um pouco as coisas ... qual é o seu emulador favorito? (Fora de qualquer coisa relacionada ao Dreamcast)
skmp: ePSXe. Joguei tantos jogos nele que não podia pagar um PS1. Usei emuladores porque não tinha dinheiro para comprar os consoles quando criança. Eu costumava jogar lixo e montar PCs que alguns produtos farmacêuticos jogavam fora; teve a sorte de crescer em uma parte privilegiada de Atenas.
Além disso, Bleem recebe uma menção especial: eles são meus heróis pessoais, indo contra a Sony e vencendo, mantendo o código aberto possível; mas matando seu bebê (eles faliram com o processo, a Connectix trouxe os direitos e o liberou como VGS). O código deles para ps1 no dc é bastante genial.
Eu acho que o nullDC foi o primeiro emulador de "cena" a usar o MMU para rastreamento de página e fastmem. Ao reverter o Bleemcast, quando eu estava trabalhando, eles fizeram o mesmo com o SH4 MMU; quase uma década antes de mim (fazendo as contas, mais como 6 anos). Muitos elogios esse respeito.
Eu tinha visto em um
vídeo de Regras técnicas que o Bleemcast foi desenvolvido por meio do Assembly para obter esse desempenho. Achei muito intrigante o fato de você ter feito a engenharia reversa, algum comentário sobre isso?
skmp: Essa descrição corresponde ao que eu já vi. Eu tive que executar o Final Fantasy Chronicles (era o meu jogo favorito do PSX) junto com Breath of Fire IV. (Eu amo draganz)
Então eu queria ver o Bleemcast rodando no NullDC rodando no meu PC Dois níveis são sempre mais divertidos que um, certo?
Eu acho que você possuía um Dreamcast, você já jogou na Internet naquele dia?
skmp : Eu só trouxe um Dreamcast muito mais tarde, por volta de 2005-06. Eu trabalhava como freelancer com algumas pessoas na internet e tinha dinheiro sólido, então comprei pelo emudev. Nunca joguei nenhum jogo nele, tudo o que eu queria era o som do BIOS e fiquei obcecado com a coisa toda.
Lembro-me de quando tive minha primeira crise existencial severa aos 16 anos. Resolvi-a como: “Examinarei o sentido da vida depois de imitar a transmissão dos sonhos, mmkaay?” e as coisas aumentaram. Tinha que ter algo para manter pensamentos feios fora da minha cabeça. Então, acho que, de certa forma, era meu brinquedo e minha companhia, junto com Z e PsyMan.
Quais emuladores você já jogou online antes? (exceto NullDC)
skmp: Eu realmente não fiz isso. Apenas joguei algumas partidas com o PsyMan no NullDC para desenvolvimento, e isso é tudo. Não conseguimos acertar o determinismo, era SSE vs SSE2 dando resultados diferentes e jogos dessincronizados. Ganhei tanto na minha cópia quanto na cópia dele, embora de alguma forma fosse uma etapa diferente: p (Dead or Alive 2 Limited Edition foi o nosso jogo de teste)
Em um contexto fora do NullDC / reicast, qual emulador mais o impressionou?
skmp: Fui fortemente influenciado pela refração e pelo projeto PCSX2. Eu era criança e eles eram minha família. Reffy até configurou o fórum nullDC para mim no ngemu. Fiquei triste quando o ngemu foi vendido e perdemos nossos domínios em 2007-ish. O PCSX2 também me inspirou a pensar em código aberto e definir a base para minha visão de mundo atual que se estende muito mais do que apenas emulação.
PCSX2 foi co-iniciado por shadow - quem fez pcsx, e ele é grego para a cidade de Thessaloniki, no norte; Só o vi online anos depois. Também foi um grande empreendimento, anulando completamente o nullDC ou outros emuladores de sua época, e o primeiro emulador de código aberto de "cena" verdadeiramente bem-sucedido aos meus olhos. Fui privilegiado o suficiente para ser um colaborador do projeto por alguns anos.
Você já pensou em todos os outros emuladores do Dreamcast que existem?
skmp: Há tantos que eu perco a noção; Makaron e DEMUL são impressionantes e muito mais completos que reicast e nullDC. A fonte deles está fechada, então não posso garantir a qualidade do código; mas eles são definitivamente menos psicodélicos nesse assunto.
Eu escrevi nullDC em sprints de 40-70 horas de codificação sem parar e travando 20-30 horas depois por vários anos. Meu recorde pessoal é de 119 horas. A vida fica bastante psicodélica após a marca de 30 horas; é drogas grátis depois de 100 horas. A maioria das minhas contribuições para a cena foi feita nessas horas tardias.
Moopthehedgehog: 119 horas são em torno de 5 dias
skmp : Sim, eu sei, eu já disse que cheguei a 170kg, certo? Eu estava consumindo 5 a 10 mil calorias por dia e pelo menos 1 litro ou cola leve por hora. Naquela época, eu queria que a vida terminasse, não ligasse muito para a saúde.
Ufa.
Algum comentário sobre o emulador mais antigo (Chankast) e o outro emus recente? (redream e flycast; que é bifurcado de reicast)
skmp: Chankast foi bom, muita coisa divertida. Eu tenho muita admiração e respeito por esse time, eles fizeram tudo isso no que pareceu apenas 3-4 meses! Levei várias tentativas fracassadas e três meses de trabalho conjunto com o Z para colocar o Crazy Taxi em funcionamento, mas eles conseguiram atingir a meta de 60% nesse período. Equipe talentosa louca.
Sobre o flycast, não tenho muito a dizer, exceto desejo-lhes boa sorte com a lógica do reicast.
E redream é um código fonte de alta qualidade e alto nível. O inolen escreve um código incrivelmente limpo. Não vejo gotas disso desde que nos separamos do inolen após o primeiro projeto na NVIDIA (ele se mudou para um gerente diferente); Tentei passar meu conhecimento, pois era um emulador de BSD e fiquei triste ao vê-lo forçado a usar a GPL e depois fechar a fonte. Mas é o código dele e de nível comercial, diferentemente do reicast. Mas o reicast ainda é mais rápido para dispositivos antigos, e suportamos 32 bits: P; compatível desde o Android 2.1 (r7) ou 4.0.3 (versão mais recente). Alguém precisa servir aquelas pobres almas que têm 3º ou 4º telefones de entrega.
Isso me lembra o tempo em que entrei em contato com ele para solicitar o suporte ao OpenGL 3.1 (era necessário 3.3 no começo). Estava pensando em entrevistá-lo também.
skmp : Ele é incrível assim Eu acho que você deveria, e também acho justo chegar ao vôo, ele fez algumas coisas.
Pelo menos todo mundo tem servidores Discord agora *
risos *
skmp : Acho que se poderia resumir o nullDC e re -astar como uma carta de amor aberta para as equipes de engenharia de hardware da SEGA, VideoLogic, Yamaha e Hitachi.
ian michael [reicast tester] : O emulador mais impressionante para mim é o nullDC, porque funciona perfeitamente no meu antigo servidor de 2007. Impressionante vê-lo rodar a toda velocidade em PCs com pouca especificação.
O que você achou quando eu falei com você para esta entrevista?
skmp: Eu não pensei muito nisso, apenas pensei por que não, eu acho? Quero dizer, a maior parte da minha vida é pública de qualquer maneira; Há muito tempo, abandonei qualquer expectativa de privacidade.
Fiquei muito feliz por você ter aceitado Chances como essas não acontecem com frequência e fiquei muito feliz em poder conversar assim com o cara que desenvolveu o NullDC, um dos meus emas favoritos de todos os tempos. (sempre correu bem no meu laptop)
skmp: Estou aqui para fornecer todas as informações que tenho permissão para compartilhar, com o melhor da minha memória.
O verdadeiro desafio agora é criar um clone de dreamcast de hardware que seja 100% perfeito, esse é meu objetivo para 2030 ... ou talvez ter filhos. Pode perder o marco se isso acontecer.
Este foi um passeio loooong, mas muito divertido, de fato. Sério, muito obrigado por tudo isso!
skmp: Observe também que isso representa talvez 10% da história de fundo, e isso só foi possível através de obras de várias gerações; assim como nosso trabalho, esperançosamente, será usado pelos adultos de amanhã e, esperançosamente, permanecerá como um farol de felicidade por muito tempo depois que eu perecer desta vida.
Não posso pedir mais nada, mas, caso contrário, minha vida está completa.
Neste momento, ainda sou um pouco jovem, estudando coisas sobre programação na universidade, mas sempre sou fascinado há anos pela comunidade de emulação e emuladores, bem como pelas pessoas talentosas por trás disso. E eu tenho que agradecer a todos na cena da emulação MUITO obrigado por causa de tantas boas lembranças que eu tive disso, incluindo você.
skmp: Obrigado. Tenho certeza de que você fará projetos tão divertidos com o seu conhecimento, quando obtê-lo
Tem mais alguma coisa a acrescentar?
skmp: Apenas um grito para todos os emudevs, que devemos nos mover em unidade, para imitar. Minha proposta é apresentada em
https://emudev.org/ , o passado não deve ser esquecido.
E também, sempre aprecie o bug. É mais esperto que você.