Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by jum

  1. Why exactly do you want the roms in CAR format? It's a very bad idea to "spoil" Atari 5200 roms by adding headers and other crap. - Many 5200 emulators expect unmodified rom/bin files of exactly 16k or 32k.. - If you want to write the rom to a flashcart or an EPROM, it expects 16k or 32k exactly. - If can't think of why you need a header on an A5200 rom. If you want extra "metadata" attached to a rom, use a database that links to the rom via its crc. I'm sure other people will have their own opinions, but they are wrong.
  2. OK so I think the 5200BAS python conversion is at a state where it's basically useable, so if you want to grab it and mess around: https://github.com/james7780/5200BAS_python (You will need Python 3 installed on your PC). Non-exhaustive list of changes/updates (v1.97 conversion): 1. Straight conversion from QBX code to Python code 2. Combined includel.bas into the main python script 3. Modifications to strings and arrays to better suit Python lists and dictionaries 4. Descriptive variable names 5. Try reduce global variables and scope everything better 6. Most error messages updated to provide more specific info (user-friendliness) 7. Bug fixes to some small code and logic errors 8. Python script now calls DASM/TASM with the compiled asm output as input to the assembler 9. SCREEN command now supports ANTIC modes 2 to 14 (sets up display list depending on mode) 10. Added some more examples (pm.bas, joytest.bas) 11. 5200basl.py now runs the assembler (DASM) if the BASIC code compiles to asm without error. 12. Added warning output if dlist/sprites/screen/charset not on correct page/1K boundary, or in invalid address The "hello.bas" and "pm.bas" examples show how to use 5200BAS as a beginner (ie: without using POKEs or inline assembly). Other examples by 3rd parties are credited in their respective folders. I have only test-built hello.bas, pm.bas, joytest.bas and jumpong2.bas. However there are some things that can be done to make 5200BAS more user-friendly and beginner-friendly (ie: reduce need to POKE, better manage the addresses of resources etc), as I've come to realise that 5200BAS should be positioned for beginners or maybe quick prototyping of ideas. This because if you have a more advanced project, you may as well do your project in ASM and spend your time battling with ASM rather than spend your time battling with wondering why 5200BAS code is not compiling/working. Feedback greatly appreciated as always.
  3. Progress update: Spent some time converting Dan Boris' DASM player-missile example ("52pm.txt") to 5200BAS, which resulted in some bug fixes in the python code, and adding some more items to the list of improvements that could be added to 5200BAS, eg: POKE $1000, $77 not possible (have to use "A=$77 : POKE $1000,A") Error messages need to be more concise. Also need to compare 5200BAS with Batari basic.
  4. There are only very minor differences between DASM and TASM syntax, so it's easy for 5200BAS to switch between the two (using if() statements sprinkled lightly thru the code). Not sure how similar ca65 syntax is. If it is not very similar, then to support it would probably require some significant changes. Maybe someone can make a quick list of the differences between DASM and ca65 syntax. Or maybe there is an existing tool to translate from DASM/TASM to ca65. Edit: Have checked out ca65 - seems to use C-style linking and sections. 5200BAS would need some major changes to support it.
  5. Yes thanks for the web.archive,org link ricortes - seems to have all the original files/info. I already have the 5200BAS documentation, the new Python compiler and some examples on github. But like I said just waiting for feedback from calamari. 5200BAS also seems easily modifiable to output executable or cart image for the Atari 8-bit computers too, would make building a game for both 5200 and 8-bit computer doable, would just have to sort the memory map differences. Other 6502 targets are possible, but would require some work. Also there are probably Batari basics or similar for 2600/7800/Lynx. 5200BAS does let you use inline assembly if you want, but you don't have to. It's also a pretty low-level BASIC, so generates very fast assembly output. Maybe someone who's up to date with latest DASM / TASM can advise on which versions work on Windows 7/8/10, and if they available on Linux/Mac?
  6. So I have finally converted the 5200BAS compiler (originally written in QuickBasic) to Python, in order to make it more portable. The python version was developed on Windows, but should run on Mac or Linux too. At this point I am waiting on feedback from the original 5200BAS author (calamari), and have only tested with DASM and one sample (need to test with TASM and some more samples).
  7. Hi. Voted for 320XL full version. Would love one for my 600XL.
  8. Hi lynxianer. Sqrxz would be nice on the Lynx, but very difficult to port for many reasons: - Sqrxz uses SDL for its many ports. There is no SDL for Lynx. (ie: Sqyrxz assumes a more powerful system) - Sqrxz is designed for 320x240 resolution. Lynx is 160 x 102. - Sqxrz uses MOD tracker music. Lynx may have some kind of MOD tracker, but not enough to support Sqrxz music / effects properly. Better to create a game that is designed specifically for the Lynx.
  9. Can't wait to run this on my Lynx SD.
  10. Thanks Jurgen All the address lines have pulses, but only 2 data lines seem to have proper pulses. My 800XL has 4564 RAM chips. I will try swap in some 4164 chips from my broken Apple II and an old XT motherboard. Maybe I will test my RAM using Arduino: https://juhannuskameli.wordpress.com/2014/01/05/playing-with-arduino-and-dram/ http://blog.atmel.com/2013/10/14/c64-dram-testing-with-an-atmega8u2/ I also have a very cheap USB logic analyser that I need to learn...
  11. Wrote a little Arduino sketch to test the MMU (PAL16L8): http://hackaday.io/project/9932-arduino-vs-pal16l8 Results seem to indicate that it is functioning normally (output states for given input states match as per mmupal.src). However there is still a possibility that the chip is flaky under real conditions.
  12. Seems like the RESET is actually working as expected (I was previously measuring PIN 14 of U19, not pin 8 (doh!)). (See attached reset1,jpg). There is a delay of about 350ms after power on, before RESET goes high. (C49 is charged to about 1.6V before U19 pin 8 goes high). Also attached are traces from the SYNC pin on the 6502 (sync signal in cyan).
  13. Swapped in the ANTIC from my 5200. No change. I was checking the reset circuit again, according to Sams troubleshooting guide. I noticed that there is no delay between power on and 5V on pin 8 of U19 (74LS14). See attached screenshot. Checked capacitor C49 (47uF), it takes 20+ seconds to charge up to around 5V. Is this normal? PS: Thanks for all your replies, I wasn't expecting so much help
  14. I'll try removing all the RAM (luckily everything is socketed). What should happen if I boot without RAM? Edit: Removed all the RAM. No difference (red screen as before). I have already swapped the CPU with the one from my broken 5200 (unknown condition). No difference. My 5200 is NTSC, so I don't think I can swap its ANTIC into the PAL 800XL. Atari 600/800s are extremely rare in these parts, difficult to find a known good machine.
  15. Hi, I have a PAL 800XL with red screen syndrome. I have been trying to troubleshoot the cause of the fault (using the field service and Sams manual), would appear to be something wrong in the address decoding, mmu or roms. I'm kind of stuck now until I can get hold of some chips to swap out. Anyway, I noticed that the signal on the data bus looks a little weird. See attached oscilloscope pics (The light blue signal is a line on the address bus, and the yellow is a line on the data bus). Anyone seen this before or know what causes it? Cheers - James
  16. My 2c off the top of my head: 1. Keep it simple and low cost 2. Try to avoid pitfalls of similar projects (scope/cost creep, redesign, runaway release date) 3. What differentiates your project vs MIST / MCC-216 /etc ? 4. Many retro players/collectors have a CRT TV / monitor specially for playing old games on, so composite output would be nice. 5. Make the project "open" or collaborate - you won't have time to do everything yourself. I would definately buy an FPGA system for $150 or less. Best of luck with your Zimba project.
  17. Thanks for organizing Groovybee and others. Just the thing to motivate me to do some Inty programming
  18. jum

    Lynx Multi Cart

    On a related note, just found this very interesting blog on hacking the Lynx "cartridge interface": http://dysfunctionaltechnologies.blogspot.com/2013/01/hacking-atari-lynx.html May be possible to build a simple "ROM emulator" using an Arduino (Mega).
  19. jum

    Lynx Multi Cart

    Great work Saint, I'm also interested in buying one when it's finished. Maybe I'll get back into Lynx coding again
  20. jum

    5200 in FPGA?

    I came across the MCC-216 FPGA-based classic system emulator on the weekend: http://mcc-home.com/2.html At $150 it's cheaper than MIST, and supports Amiga, C64, Atari 800 plus one or two others. Not sure how much effort would be involved in getting the 5200 to run on this (not to mention joystick interfaces etc). PS: I'm very impressed with the progress you guys have made with the MIST-based 5200
  21. If I see another I will notify you
  22. Yesterday I found an Atari 7800 locally, which is very rare in these parts (last and only time I saw a 7800 was in 1993). It's a PAL version with joypads and a built-in game "Asteroids", which is lucky since there were no 7800 carts included. PS: I paid about $65 for it. Good condition, everything working.
  23. jum

    5200 in FPGA?

    Cartridge images should all be "raw" .bin (or .a52) 8K, 16K or 32K (except Bounty Bob). 8K and 16K carts are mirrored in the 5200 "rom space" (ie: loading a 16K cart will mirror it at 0x4000 and 0x8000). There may be a few exceptions. From the game code's perspective (value read from POKEY register), it usually expects joystick X/Y values to be in the following range: // Note: VSS uses 15/120/220 for LEFT/CENTRE/RIGHT #define POT_CENTRE 115 #define POT_LEFT 15 #define POT_RIGHT 210 Exceptions are Missile Command and Pengo. I was not aware of the CONSOL bit 2 setting for Missile Command. Pengo seems to need POKEY joystick values in the range 70 to 170.
  24. jum

    JUM52 issue?

    Mr. Do's Castle doesn't work on Jum52. Depending on which version of the ROM you have, you may get as far as seeing the "castle" playfield. Maybe if I get some time I will take another look at what the problem is. PS: The Atari and Activision games seem to work best on Jum52 PPS: Make sure you have the latest version of the emulator (from jum.pdroms.de)
  • Create New...