Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by RevEng

  1. Yep. It's a known issue with bankswitched games. If the "incgraphic" happens later in the cart, the plotmapfile command doesn't know what palette you assigned it. The work around for now is to stick the plotmapfile in the last bank, and gosub to it if necessary. Sorry, less than ideal, but it's a bit of a tough issue to sort out.
  2. RevEng

    Get Lost!

    One more thought... you could run the "Cart Integrity Test" in the 7800 Utility Cart rom, to see if your CC2 is giving up the ghost. 7800 Utility Cart (20161210).bin
  3. Despite not using pokey, it looks like BonQ writes to a "pokey" at $4000. This destroys the rom at $4000, if it's actually a ram cart. Does this one work any better? BonQ (Final AtariAge) No Pokey Init Hack.a78 The game still has a bug where it tries to write to $FFFF, but even if it does that it would just mess up the IRQ vector, and there's no source of IRQ.
  4. RevEng

    Get Lost!

    Maybe the freeze is a different situation. It would be good if you setup the canary and brk protection that I described earlier, so we at least know more than the fact that the game froze. Bonus points if you can output the stack values to the screen in that situation.
  5. RevEng

    Get Lost!

    Yep, dying 8 times advances the stack 16 bytes, in the debugger. There's an unmatched jsr/rts, or similar. The dying is the key, and that bat routine is likely just the victim that happened to try and use the stack. That hi byte is hard-wired into the 6502. Setting the stack pointer to $ff is correct start-up, and will place it at $1ff. jsr puts 2 bytes on the stack. For sure, that's the whole idea behind the canary. it's a protector to alert you that your memory is about to be overwritten by unrestrained stack growth. Even if you're not using that memory, the canary will also protect against stack wrap around.
  6. Actually, try again. It's playable, but you need to press a button or press reset (one of those, I forget which) to skip the auto-play.
  7. RevEng

    Get Lost!

    Reproducible in emulation. It appears to require a high number of deaths. The trace file of the crash is attached, John. It doesn't have the whole session in it (it took about a gigabyte's worth of tracing before it crashed) but the file I attached does have a very substantial portion of play leading into the issue. Start at the end of the file, with all of the BRK+RTI opcodes, and backtrack until you see where it went off the rails. getlost-trace.txt.gz (spoiler, it looks like an indirect address write took out a subroutine's return address on the stack)
  8. I think it's just the general lack of availability of entertainment devices, due to increased demand and competition for fab capacity. Keep at it. It's worth pointing out that the de10-nano is a dev kit that's subsidised to encourage development on this FPGA platform, and you're getting a very substantial discount on the hardware you're actually receiving. Some day they may remove that subsidy, or discontinue the nano entirely.
  9. The A8 Memo Pad starts out in upper case, but I didn't implement the A8 caps keys. Technically the xegs keyboard reports capitals as unshifted, and lower-case as shifted. Meh, gotta leave something for the kickstarter stretch goals. Also, congrats on being the first to report the April Folly Easter Egg - xegs keyboard support!
  10. It was gently pointed out to me that this bug may have already been known to some. (though I'm not sure the description is entirely correct). The title of the first post has been amended for accuracy.
  11. [rainbowed for emphasis] This guy gets it! Clearly a Memo Pad power-user, and shame on me for not highlighting the networking and team-based aspects of Memo Pad.
  12. Memo Pad 7800 has 100% bomb diggity. By which I mean the very small amount of bomb diggity it actually contains is 100% pure.
  13. Yes, most definitely we'll hit that 2024 target, maybe. Any expectations are your own, and don't represent legally binding agreements.
  14. Thanks for all of the interest! I'll be launching a Kickstarter for Memo Pad 7800 soon, to get you those desired carts, and to help defer some of the large R&D costs involved in producing this software.
  15. Atari Memo Pad has long been recognised as a landmark application in computing history, and now it's finally been ported to the Atari 7800! Memo Pad is an ephemeral messaging and note-taking app. Like everyone else, you've scribbled, doodled, and left messages for friends, with a pen and pad of paper. At first glance, Memo Pad seems to just be a fancy replacement for these physical tools. But looks can be deceiving. Memo Pad brings the power of the digital age to the mundane paper-based pad. To begin with, Memo Pad requires you to tediously enter your information in, one awkward character at a time. There's no quick and frivolous doodling to be found here. Memo Pad demands that only your most compelling notes are worthy of the huge effort to record them. Even better, there is no save functionality! Memo Pad conveniently ties up your whole system, until you decide that you want to play a game more than you value your displayed information. Will you stop and smell the digital roses, or will you keep that note? The answer to that question will shine a light on how worthy your oh-so-special thoughts are! Finally, your Memo Pad notes have an innovative 960 character limit, enforcing brevity of thought. Long-time Memo Pad power-user (and Twitter CEO) Jack Dorsey heavily borrowed from this feature. Always remember that Memo Pad did it first, and Memo Pad did it best. Discover the transformative power of Memo Pad today, with Atari 7800 - The Choice Of The Experts! ^--This one took a while! How long will it be until I break down and play some Food Fight? Atari7800ProsystemMemoPadTheChoiceOfExperts.bas.a78 Atari7800ProsystemMemoPadTheChoiceOfExperts.bas.bin manual.pdf source.zip
  16. While running a test to probe some other Maria property (for the MiSTer 7800 core work) I happened across what appears to be a Maria silicon bug. It *seems* that if you to write to a Maria color register on the exact cycle it's fetching a byte from the scanline buffer for display, it shifts the displayed byte by one Maria clock. I've put together a demo with the effect. It's easiest to see with a composite display, since the vertical lines in the demo will change artifact color when shifted. MariaBug.bas.a78 MariaBug.bas.bin Kudos to @Kitrinx who had theories and suggestions that were key to nailing this down. This is just another curiosity. It's not particularly useful, and in practise this isn't something you'd need to intentionally avoid either - you probably wouldn't notice it if you did trigger it. The demo makes the bug obvious by using composite artifacting *and* hitting the color register over and over for the entire visible display.
  17. Very cool demo! Inaccuracies are likely due to a scanline length of 113.5 1.79MHz cycles (not 114 cycles like the A8), and the clock slowdown affecting Pokey whenever you access TIA and RIOT.
  18. To be fair, the integrated emulators are just plain copies of the emulators added for convenience. You can point ADS to another copy of the same emulator. It doesn't do anything fancy and should last as long as the emulator supports the same command-line options. If the ADS dev gets bored like Jeff did, we're lucky enough to have the source code and license to carry on. The one weakness I'll grant, is it's tied into a Microsoft product. IMO the license is what matters more than whether it's a browser based tool or not. (and is Free in both cases here)
  19. That sounds pretty good, better than I would have thought! The DMA doesn't appear to be very high overall, or in any one particular zone, so the interference isn't likely too bad. That would make this at least usable for title screens, and the games themselves where DMA isn't being crushed. Even in the latter case, it still might be good enough for a lot of applications.
  20. Just a caution for anyone using that code - the "build DL entries" section of code has a bug, which results in the code not correctly building DLs for more than one sprite. Prior to the "sty dlend,x" opcodes near the end of the top sprite update section, and the bottom sprite update section, you need to add an "iny" to get the correct DL ending stored. The original 7800basic sprite DL update was based on Dan's code, but has been quite heavily modified to support different zone heights, vertical masking, double-buffering, etc., in addition to just optimising cycles.
  21. If the interrupt is raised during during DMA, when the 6502 is halted, it won't be responded to.
  22. Another update in AI-2600 news. This time the AI learned to play the 2600 games by watching youtube play-through videos, and is kept completely ignorant of any internal game states...
  23. Yeah, I like this. We could also have a compile option that inverts the behaviour - press PAUSE for title screen. My thinking is modders can stick both versions on a 32K eprom, and then use a switch to just hold the eprom A14 line high or low. If someone gets sick of the title screen, flip the switch. Then if you want to occasionally use the screen to troubleshoot if a failing game is being detected at 2600, then just hold pause on power-up. (or flip the switch, but a front-of-console override is handy)
  • Create New...