# Kega Fusion

Kega Fusion (conhecido simplesmente como Fusion) é um emulador principalmente para Sega Mega Drive / Genesis com suporte ao SVP (Sega Virtua Processor) presente no jogo Virtua Racing. Emula também Sega CD, Sega 32X, Master System, Game Gear, SG-1000, e SC-3000. O emulador rodou por muito tempo apenas em Windows, mas a partir da versão 3.52 foi portado para Mac OS e a partir da versão 3.62 foi portado para o Linux. Foi baseado inicialmente no emulador Kega e é o sucessor de Kega Lazarus.
Antigamente, Kega Fusion usava o número de versão 0.1 com letras e sufixos betas, onde a últiva revisão foi 0.1e beta. A versão mudou-se desta para 3.0 beta, que não significava uma grande mudança ter sido feita. O desenvolvedor, Steve Snake falou que versões com números pequenos, fazem as pessoas não usarem o programa. Sub-versões 1.0 são conhecidas (as vezes incorretamente) como incompletas e instáveis. Steve decidiu que esse não era o caso, e pulou da versão 0.1 para 3.0. A lógica usada é que Kega Fusion é atualmente a terceira grande revisão da hierarquia Kega, na ordem: Kega, Kega Lazarus e Kega Fusion. A numeração beta foi tirada depois da versão 3.2, porque novamente, algumas pessoas não queriam usar um programa "incompleto".

## Característica

Em oposição a maioria dos emuladores de Mega Drive, Kega Fusion coloca extrema importância na precisão em oposição a velocidade ou outras caraterísticas (como netplay, gravação de filmes, ou muitas outras encontrada em emuladores como Gens). Porém isso não significa necessariamente que Kega Fusion seja um emulador lento, em um Pentium III ou processador similar, Kega pode rodar em 60 frames por segundo com ROMs de Mega Drive, porém, com o popular filtro gráfico 2xSaI o poder de processamento para conseguir os 60 frames precisa ser maior (isso pode ser notado na emulação de ROMs de Sega 32X com a velocidade máxima, precisando de um computador 850 MHz ou mais potente).
O empenho na precisão pode ser demostrado nos códigos da Yamaha YM2612, que foi reescrito por Steve Snake, por ser o mais perfeito (existem vários jogos em que o som apresenta problemas em outros emuladores, como o tema de entrada do jogo Sonic 3D Blast e Sonic & Knuckles). Compatibilidade é muito forte nesse emulador, inclusive com o Sega 32X, que possui vários jogos que ainda não são totalmente emulados. Como a engenharia reversa das rotinas de BIOS do Sega 32X foi mais meticulosa que a do Sega CD, a partir da versão 3.3 o Kega Fusion não necessita mais das imagens de BIOS do Sega 32X(porém é possível usar um BIOS externo). O Kega Fusion pode emular muitos (se não todos) os jogos dos consoles da Sega, anteriores a Sega Saturno (entretanto existem algumas indicações por Steve Snake, que a emulação do Saturno será possível no futuro).
Além de rodar a maioria dos consoles da Sega, Kega Fusion suporta a gravação de arquivos de áudio ou do sucessor do formato GYM, o VGM. Ele é muito melhor que GYM em termos de como é criado, comprimido e gravado usando o sintetizador YM2612. Após a versão 3.5, Kega Fusion suportou jogos multiplayer com a Internet ou em uma LAN. Enquanto o suporte ao multiplayer estava ainda em fase preliminar, na versão 3.51 foi feito um suporte mais estável. Uma característia popular em outros emuladores que não está presente no Kega é a gravação de filmes, que já foi implementado em emuladores como Zsnes.
Desde que Kega Fusion começou a ser desenvolvido separadamente do emulador Gens, os times de desenvolvimento ficaram mais cooperativas do que competitivas. A diferença entre Kega Fusion e o emulador Gens são a forma de abordar os problemas, no qual Kega Fusion tem uma abordagem mais pesada, porém o Gens é mais usado por fãs da emulação por sua simplicidade e principalmente por ser um projeto Open-Source com port's disponíveis para os SO's de preferência dos usuários, desde o BEOS até o Linux.

## História

KGen (1997)
Kgen foi escrito originalmente por Steve Snake como emulador de Mega Drive/Genesis, porque naquele tempo o único emulador existente, Genem, rodava devagar e tinha uma qualidade de som considerada ruim. Esse foi o primeiro emulador de Mega Drive que suportava uma verdadeira emulação do dispositivo YM2612, melhor que "bodgy OPL3 rubbish", que ajudou a suportar o som e a música do Mega, pelo popular chip OPL3 do Sound Blaster Pro 2.0 ou placas compativeis com o Sound Blaster. Outro emulador chamado Genecyst foi lançado ao mesmo tempo pela Bloodlust Software, e começou uma amigável rivalidade (entre fans por emulação). Esse é um emulador baseado em dos e roda bem em um 486 ou melhor, mas requer um Pentium para uma boa velocidade.
KGen-X (Não lançado)
KGEN-X é uma versão reescrita do KGen que nunca foi lançado para o público.
KGen98 (1998)
Uma nova versão do KGen, reescrito totalmente com uma melhor compatibilidade, mais suportes e qualidade de som estéreo. Ainda baseado em DOS, a velocidade de processamento requerido continuou a mesma, mas para uma qualidade melhor de som e vídeo 16 bits com os efeitos raster e shadow/highlight ativado é preciso um computador mais potente. Depois disso, Steve recebeu um incentivo pela Sega para criar um emulador compatível com o Windows que poderia ser vendido com alguns jogos clássicos do Mega Drive em um "Sega Smash Pack".
Kega (2002)
Depois de uma longa pausa no cenário da emulação, Steve surpreendeu muitos fans com um repentino lançamento de um emulador totalmente novo baseado em Windows/DirectX. Ele incluiu novos suportes, como emulação de Sega Master System e Sega CD. Para rodar com a velocidade máxima, era preciso um computador 500 MHz ou melhor. Foi seguido de um outro emulador baseado em Windows chamado Gens, com uma boa velocidade e compatibilidade lançada por Stef D em 1999.
Kega Lazarus (2003)
Kega Lazarus foi assim chamado para uma tentativa de começar um emulador moderno (e além) depois de um defeito no disco rígido de Steve Snake que o fez perder todo os código do Kega desde 0.02b (0.04b foi a versão final lançada do Kega). Lazarus foi usado para se levantar dos mortos. Um importante suporte durante o desenvolvimento de Lazarus foi a adição do suporte a 32x, embora essa primeira compatibilidade não foi considerada muito boa.
Kega Fusion (2005)
Essa versão do Kega é chamada "Fusion" (fusão), por causa do espírito de juntar Kega e Kega Lazarus com muitos suportes e compatibilidade. Essa foi a primeira versão que tinha o suporte para a aceleração de hardware, via Direct3D, que foi amplamente usada no suporte para 32x.
Kega Fusion (2007)
Essa versão é igual a versão anterior, mas contém mais opções na parte "Options" (Pause emulation; Fast Forward; No frame skipping), não há a opção de som 11025Hz, contém uma nova opção de vídeo chamada "Nearest Multiple" e carrega arquivos do tipo AVI. Essa versão teve muitos problemas para ser criada, mas conseguiram criar com perfeição.
Kega Fusion (2008 e 2009)
O emulador foi portabilizado para o Mac OS (Kega Fusion 3.52i) e para o Linux (Kega Fusion 3.62x, lançado em 28 de setembro de 2009). Na versão 3.6 (lançada em 10 de dezembro de 2008) o Kega Fusion passou a suportar a emulação do SVP (Sega Virtua Processor), utilizada no jogo Virtua Racing para aumentar a capacidade do Mega Drive para processar gráficos 3D. O PicoDrive saiu na frente emulando o SVP e o autor deixou o código-fonte disponível para os desenvolvedores. Possivelmente Steve Snake adaptou e incorporou esse código da emulação do SVP no Kega Fusion.