Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

811 Excellent

1 Follower

About PeteE

  • Rank

Profile Information

  • Gender
  • Location
    Beaverton, OR

Recent Profile Visitors

5,484 profile views
  1. Thanks, that means a lot! If you have a chance, please post your high score in this months competition thread.
  2. Yeah, it's ROM not GROM. I didn't realize it had an official name, and was following RalphB's convention (s). 😷
  3. I pushed my changes to my github fork of xdt99, and made the pull request for @ralphb. I've found the new banked cartridge option "-B" simplifies my workflow immensely by putting all the banks together in a single file that can be opened directly in classic99 or FinalGROM99. I also changed the "-c" option that creates a .rpk for MAME so that it can create banked cartridges with pcb="paged378" in the layout.xml file. With either option, I made it so that if the program is at >A000 it will insert the GPL header and trampoline and create a 32K banked image that will copy the program from each ROM bank to RAM and then run it. If you want to try it, the direct link is: https://github.com/peberlein/xdt99/raw/master/xas99.py
  4. The banked cart scheme I added to xas99.py can be added to the -c option as well. I will do so and then send the pull request on github. The trampoline to copy the code from the cart space to the RAM space was already done in my modified version, above, though I forgot to add a check and error message saying it requires the 32K expansion. The limitation is that it only allows using the upper 24K of the expansion, and splits it into 6K chunks so there is room for the GPL header and trampoline in each bank.
  5. Hi James, So you want to be able to create a cartridge binary from an .asm program that would normally load and start at >A000? I've been experimenting with modifying xas99.py (see attachment) to streamline the process of creating banked cartridges. So I made it possible to split the program at >A000 into 6K chunks with a GPL header and a small loader for each chunk into a 4-bank 32K cartridge file. The options to xas99 would look something like this: xas99.py -a 0xa000 -R -B enk.asm -n "ESCAPE FROM NK" -L enk.lst The -a 0xa000 tells the assembler to use a base address >A000, and also indicates that the GPL header and loader should be used. The -R option enables the "Rn" register names. The -B is a new option I added to create a banked binary cartridge image. Here it will create a file named "enk8.bin" unless you use the -o option to set the output filename. The -n ... option is used to set the TI menu text; it should be all uppercase. The -L ... is the listing file option, this lets you see the address of labels in your program so you can set breakpoints in the debugger. xas99.py
  6. July 2020 - Wing War results PeteE: 1071 pixelpedant: 642 jwild: 164 Vorticon: 50 roadrunner: 4 That was a lot of fun, thanks for choosing that game, pixelpedant. It had a lot more depth than I had initially assumed. For August, I want you all to compete with my game released earlier this year: Bounce'n'Pounce. Game binaries can be downloaded from the top post in that thread. There's a trick to scoring lots of points using a counter-intuitive method - see if you can find it and pull it off!
  7. Score 1071. Two super crystals and two treasures collected. Had gotten a 3rd treasure past the ghosts but dropped it offscreen in a spider room. 😠
  8. Sorry I wasn't clear. I mean here, circled in green. I can see it flicker when entering this screen. It's open at the start of the game, but later it starts growing upward / getting blocked off. Do I have a different version of the game?
  9. Also, Js99er will need to be updated by @Asmusr to get the zero-length fix in emulation (a separate issue from the on-hardware fix.) Also also, if your DSR is too old (older than 2018-05-01) there's another zero-length bug that Matt fixed ages ago, and you'll need to update your eprom. Thanks Matt!
  10. I mean when the passage to the surface starts closing up over time: If I try to take a crystal down, I usually bonk and drop it with no chance of retrieving.
  11. Made two super crystals, but couldn't get another air crystal back to the lair safely after the cave closed off. Do they really intend for you to dig thru the ground with fireballs every time you go outside? Or is it subtly nudging you to look for the treasure instead?
  12. Q1: >0000 is 0dB, correct. But this is not the same as OFF (silent), 0dB is actually loudest and 28dB is quietest. Q2: Normally changing the frequency requires two bytes, but the remark about single-byte update refers to changing upper 6 bits the same channel frequency again. If you write to any other register, then the next frequency change will require two bytes again. I feel like that feature was never really that useful, and my code always does the two-byte frequency writes.
  13. I tried MS Edge browser just now with JS99er and TIPI/QEMU, and seems to work okay. Make sure that you only have one TIPI-enabled JS99er at a time, otherwise they will probably fight over the websocket connection and nothing will work.
  • Create New...