Subject: [stella] Stella 2.0 Alpha 4 available From: "B. Watson" <atari@xxxxxxxxxxxxxx> Date: Sun, 17 Jul 2005 14:21:14 -0400 |
We didn't release an alpha this week, but we're making up for it by releasing one with lots of new features this week. You can download the Windows binary at: http://www.hardcoders.org/stella-20050717.zip New features: - Conditional breaks! Use "breakif condition", then "run". The condition syntax is very C-like. Examples: ; Break any time the Y register gets loaded with myValue breakif y==myValue ; Same thing, but more readable. Must use {} if expression contains spaces breakif { y == myValue } ; Break whenever $7f gets loaded into the Accumulator inside mySubroutine breakif {pc >= mySubroutine && pc <= mySubroutineEnd && a == $7f} ; Break when RAM location gets a particular value breakif {*$aa == $00} ; Same thing as "break $f000", but ever so slightly slower: breakif pc==$f000 You use * for a byte dereference (*foo means "byte at location foo"), or @ for a word dereference (@foo means "word at location foo,foo+1") All numbers are parsed with the new expression parser, so you can also do things like: "ram 80 *81" (which means "put the contents of location 80 into location 80), or "a x+1" (which means "set the Accumulator to the current value of the X register, plus one"). Unlike PCAE's conditional breaks, Stella's breakifs are *fast*. On an Athlon 2100+, I can have up to 25 breakifs before the emulation slows down (though after 6 breakifs, it starts to use a lot more CPU). We haven't tested on slower CPUs, but I expect that even the slowest CPUs capable of running Stella at full speed will support at least one breakif without slowing down. The Debugger.txt documentation hasn't been updated with the full expression syntax yet, so if you're not familiar with C, you'll have to experiment for now. Keep in mind that you need "==" to test for equality, not just "=" (that's assignment, which will be supported in future versions) - Per-scanline and per-instruction updates of the TIA display! There's now a "Scan+1" button that runs the emulator for one scanline and draws the result to the framebuffer. The graphics from the old frame are still present, but they're "greyed out". (This only works if you start at the top of a new frame, for now) You can also run many scanlines at once from the prompt: "scanline 30". While stepping/tracing your kernel, the screen will update during the scanline, so you can watch your graphics as they're drawn. This doesn't quite work like a real TIA: the emulated TIA only draws when it's written to. We're pretty sure we know how to fix this though. There are a few bugfixes and tweaks that need to be done, but both the breakif and per-scanline support are nearly complete. Have fun! -- B. Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://stella.biglist.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Aw: [stella] Question about HMO, Dennis Debro | Thread | [stella] Batari Basic Alpha 0.2, Fred Quimby |
Re: [stella] How many NTSC colors?, Chris Wilkson | Date | [stella] Batari Basic Alpha 0.2, Fred Quimby |
Month |