norbert_kehrer

Members
  • Content Count

    5
  • Joined

  • Last visited

  • Days Won

    1

norbert_kehrer last won the day on January 15

norbert_kehrer had the most liked content!

About norbert_kehrer

  • Rank
    Newbie
  1. Hi, I made an exact port of the 40 year old classic arcade game "Tailgunner", which I did together with Graham Toal. Tailgunner is a vector game programmed by Dan Sunday of the company Vectorbeam in 1979. The game is very simple, because it is so old, but this JavaScript conversion of the game is somehow special, as it is not a reprogramming or achieved by a conventional CPU emulator, but it is based on so-called static binary translation. Back in 2004, Graham Toal wrote a really cool program, with which he automatically translated the original game code from the arcade game's machine language to C. With Graham's help I ported his generated C code to JavaScript and added a graphical HTML5/JavaScript environment. You can try it here: http://members.aon.at/nkehrer/tailgunner/tailgunner.html Here is also is a screenshot to give you an impression of the game: Bye. Norbert
  2. I made another static binary translation of a 6502 CPU-based arcade game to JavaScript. It is the old, but very nice car-racing game Sprint, which was originally written by Atari back in 1976 (Sprint 2 for two players) and in 1978 (Sprint1 for one player), respectively. The JavaScript code was automatically translated from the original game's program code. A Prolog program generates semantically equivalent JavaScript code for each 6502 instruction and applies some optimization techniques to the generated program (e.g., removal of redundant flag calculations). The outcome is an exact simulation of the original arcade game. The graphics interface and the emulation of the Sprint video hardware were directly coded in JavaScript and rely on HTML5 and the Canvas element. The video hardware of the old arcade machine was only capable of showing very simple 2D character-based playfield graphics with four moving objects (sprites). Today's car-driving games normally have 3D graphics, so I thought it would be nice to have a 3D interface also for Sprint. I wrote an alternative video hardware simulator for Sprint, where the same video RAM and sprite hardware registers, which the original Sprint video circuitry shows as simple 2D character graphics, are interpreted as coordinates and objects in three-dimensional space. The orignal game, in which you take a bird's eye view of the race track, becomes a 3D game seen from the first-person perspective of the driver's seat. But keep in mind, that it is still the completely same game logic and the same program from 1976 running, just graphically interpreted differently! My 3D modelling and programming skills (and also my computer's graphics card speed) are quite limited, so my 3D version is very simple and still suffers from - what I think are - bugs in the (apart from that, really great) Three.js JavaScript 3D library. So, please consider this just a proof of concept. Now, click here to try Sprint directly in your browser.. It is an arcade game, so don't forget to insert coins first by pressing the "5" key, and then start it with the "1" key. Here are example screenshots for the original and the 3D version: In 3D:
  3. Hi, like before with Asteroids and Astro Fighter, I made an automatized port of the original arcade game Centipede to JavaScript (with the HTML5 Canvas element). Centipede was written back in 1980 by Atari Inc. My JavaScript version was again created by applying the method of static binary translation to the original binary program code. The program code originally written in the machine language of the 6502 CPU of the Centipede machine was converted in a one-to-one manner to JavaScript. The translation was automized by a Prolog program, which generates semantically equivalent JavaScript code for each 6502 instruction and applies some optimization techniques to the generated program (e.g., removal of redundant flag calculations). The outcome is an exact simulation of the original arcade game. Here is the link to the game: http://members.aon.at/nkehrer/centipede_js.html And here is a screenshot: Have fun! Norbert
  4. Hi, like with Asteroids before, I made another automatized port of an original old arcade game to JavaScript (with the HTML5 Canvas element). It is Astro Fighter, originally written by Data East Corporation (DECO) in 1980. My JavaScript version was created by applying the method of static binary translation to DECO's game. That means, that the program code originally written in the machine language of the 6502 CPU of the Astro Fighter machine was converted in a one-to-one manner to JavaScript. The translation was automized by a Prolog program, which generates semantically equivalent JavaScript code for each 6502 instruction and applies some optimization techniques to the generated program (e.g., removal of redundant flag calculations). The outcome is an exact simulation of the original arcade game. Here is the link to the game: http://members.aon.at/nkehrer/astrof_js/AstrofJS.html And here is a screenshot: Greetings Norbert
  5. Hi, I am Norbert and just started with HTML5 development. As my first project I tried to port the original Asteroids game from 1979 to JavaScript using the Canvas element. The project is a remake of a Java project of mine from almost ten years ago. I translated Atari's great vector arcade game Asteroids to JavaScript. Asteroids was originally written by Ed Logg of Atari Inc. in 1979, and my JavaScript version was created by applying the method of static binary translation to Ed's code. That means, that the program code originally written in the machine language of the 6502 CPU of the Asteroids machine was converted in a one-to-one manner to JavaScript. The translation was automized by a Java program, which generates semantically equivalent JavaScript code for each 6502 instruction and applies some optimization techniques to the generated program (e.g., removal of redundant flag calculations). The outcome is an exact simulation of the original, first Asteroids game. Here is the link to the game: http://members.aon.at/~nkehrer/ast_js/AsteroidsJS.html And here is a screenshot: Sound and timing have still some potential for improvement. Greetings Norbert