Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by norbert_kehrer

  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
  16. I wrote emulators for four classic Hewlett-Packard pocket calculators from the seventies running on the Atari 800XL and on the Commodore 64. They emulate the models HP-35 (scientific), HP-45 (scientific, advanced), HP-55 (programmable), and HP-80 (business) by executing the original ROM programs of the HP calculators, so that you can work with your Atari 800 or C64 exactly like with the great classic machines with their sophisticated scientific and business functions. If you are interested to read more on the emulators, to see some screenshots, and to download the programs for your home computer, go to my homepage at http://members.aon.at/nkehrer/ Have fun! Norbert
  17. Thank you for this great competition, Gunnar. I just played through all the entries. Absolutely astonishing what can be done in only 10 lines of Basic. Greetings Norbert
  18. Hi Peter, thanks for the tutorials. Really well done! I enjoyed them very much. All looks so easy, when you explain it, and especially the WUDSN IDE is very helpful here. I think for people with a little bit of 6502 background these tutorials are absolutely perfect to make fast progress on the Atari platform. Keep up the great work. Norbert
  19. Hi, thanks to all for the nice feedback on my port. The link to the original game for the PET is this one (from Henrik's homepage): http://www.wening.de/archiv/pet/galaga.prg Greetings Norbert
  20. Very nice stuff! Special thanks for Lunar Blitz and Caveblaster. Both are great fun to play. Well done! Greetings Norbert
  21. In 1982 the German programmer Henrik Wening made a great version of the arcade game Galaga for the Commodore PET computer. The PET, being more a business-oriented computer, had only very limited graphics and sound capabilities. So the game is graphically very simple but the gameplay is great. There was also a version of it for the Commodore 64, which I played for many hours back in the eighties. I now ported Henrik's great game to the Atari 800XL computer. It can be downloaded from my homepage at http://web.utanet.at/nkehrer/ Here is a screenshot (with the PET font, also C64 and Atari font are supported): Have fun! Norbert
  22. Actually, I am sure that the BASIC of the Atari 800XL gives the same results as Atari Calculator (e.g. "PRINT LOG(1)" results in "0" both in BASIC and in Calculator). I think, that only the first versions of the Atari 800 BASIC (Rev. A?) and of the floating-point ROM had different rounding methods and showed values like "4.60517018E-10" for LOG(1). But note, that some people here in the forum already stated, that the rounding methods used in the later BASIC versions (and also in Calculator) are not really correct also. Norbert
  23. In 1979 Atari shipped a program called "Atari Calculator" for the Atari 800 computers. It provides the functionality of powerful, programmable scientific and financial calculators on the Atari home computer. The Atari Calculator was written by Carol B. Shaw at Atari. I reverse-engineered her program and moved it to the C64. The I/O routines for the Atari were replaced by equivalent C64 subroutines. The complete Atari floating-point library, which is heavily used by the Calculator program, and the Atari 800 character font also were ported to the Commodore computer. Those who are interested and have a C64 (or an emulator) can read more and download the C64 program at my homepage: http://web.utanet.at/nkehrer/ Greetings Norbert
  24. Hi, I recently ported the Atari Calculator to the C64 (download will be available soon), so I know some of the internals of the program. The program intensively uses calls to the FP routines in ROM and seems to completely build onto them. I checked some algorithms (e.g. the one for the square root), and saw that Calculator uses more or less the same method as the Atari Basic interpreter in the 800 XL. Nonetheless, a very nice program which was fun to analyze and port. I will keep you posted about the download link for the preliminary C64 version if someone is interested. Greetings Norbert
  25. Thanks for your proposal, Hatta. I made an update of the Asteroids Emulator. The program now checks, if it is running on a C128 in C64 mode, and in that case it switches to the 2 MHz clock frequency, when the raster beam is in the border. This method allows a speedup of approximately 30% compared to the genuine C64 and results in smoother movements in the game. Those, who are interested, can download the new version from http://web.utanet.at/nkehrer/ Best regards Norbert
  • Create New...