-
Content Count
6,681 -
Joined
-
Last visited
-
Days Won
10
Posts posted by RevEng
-
-
4 minutes ago, Shannon said:Thanks RevEng. I suspected that but I forgot to mention that possibility. I'm trying to figure out some way to run these on my mini console. I think I can use Mess/Mame but I'll have to edit an XML file and put some CRC's in it.
It depends. If you're using a front-end or CLI, you can skip the CRCs. Something like "mame64 a7800 -cart /path/to/my.a78" works.
-
1
-
-
7800basic uses some stable-but-undocumented opcodes, to speed up it's sprite routines. This broke some of the emulators without complete 6502 implementations.
-
4
-
-
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.
-
1
-
-
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.
-
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.
-
2
-
-
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.
-
On 4/3/2021 at 10:17 AM, Propane13 said:It's been a while since I coded in assembly and looked at the raw source, so forgive me for being rusty. Are the debuggers today smart enough to see if that theory is true? i.e. is my stack slowly growing after deaths (or other events), causing an overflow?
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.
On 4/3/2021 at 10:17 AM, Propane13 said:Question: What sets the stack's major byte to $01 (as in $01FF)? Stack information doesn't seem to exist in the "7800 software guide". I may have just made assumptions that whoever had originated that "set stack pointer to $01ff" was truthful. It likely is, but I'd like confirmation.
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.
On 4/3/2021 at 10:17 AM, Propane13 said:As far as debugging tools go, this sounds like another Canary situation we should check-- the stack accessing an unauthorized area. Maybe that already exists; if not, I would suggest it since, well, it looks like what happened to me.
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.
-
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.
-
3
-
1
-
-
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.
(spoiler, it looks like an indirect address write took out a subroutine's return address on the stack)
-
3
-
-
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.
-
2
-
-
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!
-
2
-
2
-
-
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.
-
1
-
-
1 hour ago, SmittyB said:Who needs anything else when you have Memo Pad?
Get a few friends on board and you've got all you need for a play-by-mail rogue-like. Simply take a photo of your television screen (don't use the flash!), get your photo developed, send it in an envelope to your friends, and await their response for the next move.
[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.
-
5
-
-
Memo Pad 7800 has 100% bomb diggity.
By which I mean the very small amount of bomb diggity it actually contains is 100% pure.
-
1
-
1
-
-
1 minute ago, DrVenkman said:So after you raise $2M over the next few years, we can expect engineering samples of your cart to ship in time for Christmas 2023? Am I hearing that right? Need to make plans for that sweet spring 2024 pre-order from GameStonk!
Yes, most definitely we'll hit that 2024 target, maybe.
Any expectations are your own, and don't represent legally binding agreements.
-
2
-
-
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.
-
2
-
3
-
-
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
-
5
-
1
-
22
-
-
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.
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.
-
7
-
-
Very cool demo!
2 hours ago, playsoft said:Normally you'd get around it by positioning the IRQ to occur at a position on the scanline away from the DLI but I can't do that because for some reason the 15kHz timer is slightly longer than a scanline, so the position of the IRQ moves.
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.
-
1
-
1
-
-
34 minutes ago, sramirez2008 said:I don’t have to have Star Wars on a cart, but I have to have Star Wars on a cart👍
Only if it's the original cut!
-
1
-
1
-
-
19 minutes ago, Karl G said:Came here to say this. 🙂 Also, the core of the VS Code itself is open source (MIT license), and there exists a version of the IDE built just from open-source components - so, the IDE itself should live on, even if Microsoft were to abandon it.
Very good, I wasn't aware of the open-source version!
-
1
-
-
13 minutes ago, Random Terrain said:I'd love online tools that are similar to or better than what VbB has. Atari Dev Studio makes me nervous. All it takes is a burn out or a death and you're screwed. No more updates. No new updated and integrated version of Stella. At least a full collection of online tools can be adjusted and updated by people who know the language if the creator burns out or dies.
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)
-
3
-
-
1 hour ago, playsoft said:Since the interrupt is effectively moving (by taking longer than a scanline) there is no way to avoid the DMA. In this test the same track is played but from the IRQ instead of the main loop so you need to enable the POKEY IRQ on Dragonfly to hear it. It's still playing at a sample rate of 7860, just that the time between samples is inconsistent. In the main loop it reads the controllers and lets you move the silhouettes left and right.
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.
-
On 3/24/2021 at 2:28 PM, SmittyB said:The closest thing I found when I started to look at the 7800 was this example code that I was then able to modify slightly to have a scrolling tile-map.
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.
-
3
-

Weird emu glitches with some recent homebrew
in Atari 7800
Posted
I'm not familiar with that tool. I use my stand-alone program 7800header from the 7800AsmDevKit which can add/strip headers.