Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

131 Excellent

About norbert_kehrer

  • Rank
    Space Invader

Recent Profile Visitors

3,297 profile views
  1. Thank you, Tifany. I agree, that Tailgunner would be cool on an 8-bit homecomputer or console, but a port is certainly not easy. The main issue would probably be the slow line drawing on the raster-oriented console or computer screens. The dedicated vector hardware of the arcade machine was very fast in drawing all those lines, but on raster-oriented devices all would have to be done in software with probably massive speed impact. It is certainly an interesting programming challenge for Atari coders, though. Norbert
  2. HI, I just wanted to add here, that I now ported my 15-year old Java applet with Graham's static binary translated code of Tailgunner to JavaScript. This makes Tailgunner playable in modern webbrowsers. If you would like to try it, have a look at my website at http://members.aon.at/nkehrer I added also a screenshot below. Thanks, Graham, for the great binary translation of the original game. Your old C code can still run almost unchanged in modern JavaScript. Bye Norbert
  3. Hi, the Epson HX-20 handheld computer offered an interesting way to connect it with peripheral devices. The serial port at the back of the computer can talk to external hardware using an Epson-specific protocol for data exchange. As this protocol is quite well documented, I wrote a little program called "flashx20" (for FLoppy And Screen for the HX-20), which allows to connect a normal Windows PC or notebook computer to the HX-20. The PC interprets the Epson serial protocol and simulates an external display controller and four external floppy disk drives. With that, you get a big screen (the PC monitor) and disk space for Epson programs and data on the PC's hard disk. To transfer, for example, a BASIC program from the PC to the HX-20 just copy an ASCII file with the program to the flashx20 directory on the PC. Flashx20 also has graphics support. The commands to draw dots and lines available in Epson BASIC can be used to create high-resolution pictures in up to 8 colors on the screen of the Windows PC. The software is downloadable as a zip file containing the "flashx20" program, some BASIC examples and graphics demos, and the pdf user manual. You find it on my website at http://members.aon.at/nkehrer/ Norbert
  4. Hi, I made a port of the old and very simple game Radar Rat Race to the Atari 800XL. It was originally written by the company Commodore back in 1982 for the Commodore 64. The game is based on Namco's arcade classic "Rally X", and, even if the game is so primitive, I liked to play it quite often on my C64 back in those days. Similar to my former conversions, the original Commodore program is just running 1:1 on the Atari 800XL computer, which has the same CPU as the C64. The Commodore's graphics and sound effects were replaced by more or less equivalent Atari 800 XL routines. This port was really very easy. Contrary to the C64, the nerve-racking in-game music can be switched on and off in my Atari version by the "Option" key. The program can be downloaded from my homepage at http://members.aon.at/nkehrer/ The xex and atr files can also be found in the attachment to this post. Here are two screenshots of the game on the Atari: Have fun. Norbert rrr.atr rrr.xex
  5. Hi, thanks for the postings on Atari's driving controllers. They would be great for the Sprint game. Unfortunately, I do not have this kind of controllers to be able test it with my Atari 800XL. It would help, if it was available in an emulator somehow. I could not see this controller type in Altirra, though. Am I missing something here, or does some other emulator support the driving controllers (maybe by using the mouse on the PC)? Thanks. Norbert
  6. Hi, thanks for the comments on the track change frequency. Your memories are correct. In the Sprint 1 arcade machine certain features can be configured via DIP switches. With one switch the way the tracks are changed can be influenced. If the switch is on, the track changes after each second lap. This is the default mode, I think. If this switch is off (this is also the setting I actually used in the Atari 800 XL conversion), the track changes after each lap. Norbert
  7. Hi, I managed to fix the bug with the VCOUNT register. Now the game should also work on NTSC machines. I could only try it in the emulator, though. You find the updated atr and xex files attached. Thanks again to all for your feedback. Norbert sprint1.atr sprint1.xex
  8. Hi, thanks to all for the nice feedback. Especially, for the reporting of the issue with NTSC machines. I will try to fix it and post an updated version. I suspect, it has something to do with the VCOUNT register, that I use in my code (it holds the currently processed raster line of the Atari 800, which has different values for NTSC and PAL machines). So long Norbert
  9. Hi, similar to my earlier conversion of Asteroids, I made a port of 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. I ported the game to the Atari 800XL computer by just running the orignal arcade game program on the Atari. The arcade machine's video and sound hardware are emulated by specific Atari 800 XL routines. The xex and atr files are attached below. You can read more on my homepage at http://members.aon.at/nkehrer Here is a screenshots of the running game: Have fun! Norbert sprint1.xex sprint1.atr
  10. Hi, I made a so-called static binary translation of the old arcade car-racing game Sprint to JavaScript to make the original playable directly in the browser. 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 a more or less 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. Sound is also still missing. Now, click here to try Sprint directly in your browser.. You 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: The same in 3D: Greetings Norbert
  11. The IBM 5100 and 5110 were IBM's first "portable" computers. They had interpreters of the machine languages of IBM's much bigger machines System/3 and System/360 in their ROMs, and so this small computer could execute (slightly adapted) BASIC and APL language implementations of the large machines. I ported Christian Corti's great IBM 5110 emulator to JavaScript, so you can work with an emulated IBM 5110 directly in your (HTML5-capable) web browser. Disk and tape support are still to be done, and I could not test it with a US keyboard layout. I nonetheless wanted to share the WIP version to give you a first impression. If someone succeeded to dump IBM 5110 tapes or disks and could provide an image file, this would be great for further testing. Those who are interested, can try out the emulator and write some small BASIC or APL programs at http://members.aon.at/nkehrer Greetings Norbert
  12. Thanks to all of you for the feedback on the program and on the bugs. Kurt, you are absolutely right. I had the frameskip variable set to 3, and now changed it to 1, and it should move more smoothly now and hopefully still be fast enough. Of course, I agree, that the simulation quality is not as good as, e.g., the one of MAME or other programs. This is mainly due to my missing programming skills. It is the method of static binary recompilation that I found really interesting, because one can learn so much about compiler code generation and optimization techniques. So, I wanted to share the result. I am still trying to add a Pokey sound chip emulator for Centipede's sound. Norbert
  13. Hi, like I did already with Asteroids and Astro Fighter, I made an automatized port of Atari's original arcade game Centipede to JavaScript (with the HTML5 Canvas element). The JavaScript version was 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 then applies some optimization techniques (e.g., removal of redundant flag calculations). The outcome is an exact simulation of the original arcade game. Sound is still missing, though. Try it out on my homepage: http://members.aon.at/nkehrer/index.html Norbert
  14. Claus, thanks again for pointing out the method to use the player-missile graphics for bringing more colors into a hires character screen. And very special thanks to Adam for explaining me so patiently what you meant and how this works. For an old C64 guy like me, the way the 8-bit Atari's video hardware works, sometimes still is a miracle. But I somehow managed to get my head around it, and added a third color (grey) to my Hewlett-Packard emulators. Those, who are interested, can download the updated programs from my website at http://members.aon.at/nkehrer/ This is how it looks like now (e.g., the HP-55 emulator): Greetings Norbert
  15. Thank you for the nice feedback, ClausB. I haven't tried the coloring yet. I thought, that with hi-res character graphics DLIs would only result in "stripes" with different background colors. E.g., if I would like to have light blue characters (in full resolution), the background would not be completely black in that row, but only dark blue. Concerning player-missile graphics I understood, that horizontally generally only "half" resolution is possible. But when I think about your comment a little bit more, maybe a 4-color mode with a resolution of 160 x 192 could also be sufficient. Each character then would have only 3 pixels horizontally (and an empty one for the separation from the neighboring character). Is someone in the forum aware of such a 4x8-pixel character set, that I could use? An "A" would look then like that: . . . . . X . . X . X . X . X . X X X . X . X . X . X . . . . . If no font is available, I will try to create one. Just to see how this looks. So long Norbert
  • Create New...