Jump to content


  • Content Count

  • Joined

  • Last visited

Posts posted by jum

  1. 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.

  2. 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.


    Do you think the asm syntax could be modified for ca65 from the cc65 suite? As it's well supported, portable, and is very configurable in term of targets.

  3. 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?

  4. 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).

    • Like 4

  5. 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.


    When SYNC is toggling sometimes, then it seems that the OS could start the very first part of coldstart (RESET) routine. First is to watch every D0...D7 and A0...A15 line. I´ve had some bad CPUs in the past where only one address line was broken. In some cases the system could start, but crashes after a few opcodes, of course. You can see this immediately with your scope.


    You can use NTSC ANTIC or GTIA for testing, you also should get a picture, but it´s black/white. And if you have a very old "PAL only" television or monitor, the picture may roll. But for a quick test it´s ok.


    In over 80% of these issues bad DRAM is the reason why the computer won´t start. Even when there are only some bits bad, when the CPU´s stack ($0100-$01FF) is affected, the OS-ROM coldstart subroutine will return to Nirvana - computer hangs. So changing the DRAMs is the first thing you should do. You can use any 4164 DRAM (as also found in some C64, Apple II and some other 8-Bit machines) or 41256 DRAMs (found on a lot of Amiga 500 memory expansions, all Atari ST 260,520,1040 ST/STF (not STE) and so on...).



    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:



    I also have a very cheap USB logic analyser that I need to learn...

    • Like 1

  7. 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).






  8. For the purpose of testing it's fine to use the Antic from NTSC 5200.

    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 :)


  9. OS is unable to start early initialization. GTIA will often/usually display a reddish brown as background colour on startup, this is normally cleared by OS startup within about 1/2 second.


    Bad Ram won't necessarily be the cause though if the Ram is outputting data in an unsolicited way it could crash the CPU.

    Easy way to test, remove all the Ram, easy so long as it's socketed that is.


    My order of suspicsion would be CPU, Antic, MMU, OS Rom. This is a lot easier to debug if you have a similar known good machine to test swap components.

    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.

  10. 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







  11. 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.

  12. I came across the MCC-216 FPGA-based classic system emulator on the weekend:




    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 :)

  13. 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.

    • Like 2

  14. I wired up my 5200 controller over the weekend to the de1. Keypad, joystick and buttons are working well.


    Now doing some adjustments to the menu to load 16k 1/2 chip and 32k rom images. Then I'll be ready to release de1 version. For other cartridge types I'm hoping we can use/modify the support that Hias is building for the Atari xl core.


    It's also running on the mist. On that there will be the option of analog stick+ keyboard or a USB 5200 controller adaptor probably.


    Curious... With a real 5200 on Pete's test what are the min/max values for horiz/vert? I'm using 5v for pot common and 66uF capacitance right now - a bit off to the left on the box test. Oh and 1.7k ohm for when/if the stick potentiometer has 0 resistance.


    Main reason I ask. I tried missile command - crazy fast movements! Is this playable on a real 5200?


    One other question: Most cartridge images are in .bin format, not .car format. Is there a list of which are 1 chip/2 chip etc?


    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.

  15. 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)

  16. I think software emulation of the older systems (8/16 bit) has kind of plateaued. Pretty much all the older 8 and 16 bit game consoles and "personal computers" now have pretty good software emulators.


    However it's still "early days" for FPGA emulation of these systems. It's only in the last few years that we've seen FPGA emulators like MiniMig, MIST, FPGA-Arcade and Papilio Arcade appearing (due to the appearance of low-cost FPGA dev boards).


    From what I see the FPGA emulation is better than software in some ways because the FPGA recreates the actual circuitry and logic in the emulated system. Also you can "build your own" real (physical) Amiga / C64 / A8 etc.


    Right now only the hard-core retro computer / game console / arcade enthusiasts are prepared to pay $200 to $300 for an FPGA emulator, and there are only a few retro systems implemented in FPGA. But in the next few years more retro systems will be implemented, and the price of FPGA hardware should drop (while also getting more capable), so I'm hoping it becomes more mainstream in the next few years.

  • Create New...