Demoscene-recomp

Beschikbare demo's

  • Unreal – Future Crew (1992)
  • Second Reality – Future Crew (1993)
  • Crystal Dream II – Triton (1993)
  • Stars: Wonders of the World – NoooN (1995)

Hoe het werkt

De originele DOS-code van elke demo is instructie voor instructie opnieuw gecompileerd om direct in de browser te kunnen draaien. Dit proces werkt als volgt:

  1. De demo wordt uitgevoerd op een x86-emulator die elk blok code dat de CPU daadwerkelijk uitvoert, gedurende de gehele demo registreert.
  2. Deze registratie wordt vertaald naar C: de originele instructies, één voor één, inclusief de exacte cyclustiming van de geëmuleerde machine.
  3. De C-code wordt samen met modellen van de hardware waarmee de demo communiceert (de timer, de VGA-kaart en de Sound Blaster) gecompileerd naar WebAssembly.
  4. Het resultaat wordt event voor event gecontroleerd tegen de emulator: elke interrupt, poorttoegang en frame op hetzelfde moment van de geëmuleerde tijd.

De eigen loaders, muziekspelers en effecten van de demo's werken precies zoals ze dat deden in 1992 en 1993; alleen de hardware is gemodelleerd. Omdat de demo's oorspronkelijk op VGA bij 70 Hz draaiden, ogen ze het vloeiendst op een scherm met een verversingssnelheid van 70 Hz, 140 Hz of hoger.

Het project is beschikbaar op GitHub.

Credits

  • Unreal en Second Reality zijn gemaakt door Future Crew.
  • Crystal Dream II is gemaakt door Triton.
  • Stars: Wonders of the World is gemaakt door NoooN.

Alle bovengenoemde producties zijn uitgebracht als freeware. De originele releasebestanden worden ongewijzigd geserveerd, aangezien de demo's deze tijdens de uitvoering (run time) lezen.