Jump to content

PeteE

Members
  • Posts

    545
  • Joined

  • Last visited

  • Days Won

    1

PeteE last won the day on March 1 2023

PeteE had the most liked content!

2 Followers

Profile Information

  • Gender
    Male
  • Location
    Beaverton, OR USA

Recent Profile Visitors

7,033 profile views

PeteE's Achievements

Dragonstomper

Dragonstomper (6/9)

1.5k

Reputation

  1. The background layer water effect looks really great. Are you using the GPU to adjust the background horizontal scroll on every scanline?
  2. The speech synth doesn't pass through 5v power, so that's probably why it doesn't work. If the backbit 32k has an external power connector, you'll need to power it that way. Edit: From photos, it appears to not have ext power. So it cannot be used with the speech synth between it and the side port.
  3. They can be gotten from here https://ftp.whtech.com/System ROMs/MAME/pre_0.174/ti99_complete.zip nested inside the ti99_4a.zip
  4. Disk IO hasn't been done yet, sorry 😓
  5. Tell me more, Mr. Harry Gordon Selfridge!
  6. Okay, this is what I see on the FinalGrom menu: Before I didn't notice the blank A item above the B parent directory item. Seems like the custom font messes up the directory sorting, and since there are no character patterns defined for the custom font, it appears blank. Selecting A does load the Ghostbusters game properly! But resetting console doesn't run the custom load routine; in fact, nothing appears in the menu at all, only "1 FOR TI BASIC". @HOME AUTOMATION has a fix for the reset and menu. I tested it and it works.
  7. I tried it on my FinalGrom and it doesn't appear in the menu. I tried putting it in its own folder, and also tried renaming to "gbust8.bin" to "gbustc.bin" because I think that's what the FG99 requires. I suspect it might not like something in the GROM header?
  8. That depends on how much GPU RAM is left over after both TL1 and TL2 name and attribute tables, ECM3 patterns and ECM3 sprites. The level data needs to be stored somewhere. Edit: oh... blitter as a block transfer, to move the data in the name+attr tables up/down/left right. Yeah, that would work. Good idea!
  9. I meant with future 34x26 border scroll functionality. I would rather have the scroll wrap instead of needing to rewrite the whole name table every 8 pixels scroll.
  10. Would it be possible to allow the scroll to wrap at the edges? On the right side: 33 to 0, and at the bottom: 25 to 0 (or 31 to 0 w/ ROW30). I also can think of a situation where I would want BM layer on top of both TL1 and TL2.
  11. Hi Lily and Robyn! Great work on your first assembly language game! You have a great career ahead of you in retrocoding, haha. My only tip for you is to use the DORG (Dummy ORiGin) to generate your variable labels without having to calculate the offsets all by hand. It does not generate any object code, so you can use BYTE, DATA or BSS directives to specify how much size should be allocated to each variable. The DORG needs to outside of your AORG section. You should also generate a listing file so and check your variable offsets to make sure you haven't exceeded the fast RAM memory space. IDT 'SNAKE' DORG >8320 HDCOL BYTE 0 HDROW BYTE 0 TLCOL BYTE 0 TLROW BYTE 0 SNDIR BYTE 0 WAITHI BYTE 0 WAITLO BYTE 0 SNDIR2 BYTE 0 SCR1 BYTE 0 SCR2 BYTE 0 SCR3 BYTE 0 NM1 BYTE 0 NM2 BYTE 0 NM3 BYTE 0 HSCR1 BYTE 0 HSCR2 BYTE 0 HSCR3 BYTE 0 CSCR1 BYTE 0 CSCR2 BYTE 0 CSCR3 BYTE 0 PSET BYTE 0 DORG >837D VDPCHR BYTE 0 VDPROW BYTE 0 VDPCOL BYTE 0 * The BYTE values don't matter, no data is being written AORG >6000 ... You could also combine WAITHI and WAITLO into a single word "WAIT DATA 0", but make sure it is on an even address by putting an "EVEN" directive on the previous line. Then instead of this: LI R0,>0001 MOVB @R0LB,@WAITHI LI R0,>00A0 MOVB @R0LB,@WAITLO You could do this: LI R0,>01A0 MOV R0,@WAIT Hope that is helpful. Looking forward to seeing what else you can make.
  12. FYI the tester uses an AB instruction to set the flags to a known value before testing each instruction twice: LI R2,>A000 AB R2,R2 ; set status LGT AGT C OV P and CLR R2 AB R2,R2 ; set status EQ After each instruction, the status flags are compared to the expected flags. By using two sets of flags, we can determine if the instruction only modifies the flags that are intended. Hopefully, once you get the parity check added to the byte-variant instructions, most tests should start passing.
  13. This is the right order: https://forums.atariage.com/topic/162941-assembly-on-the-994a/?do=findComment&comment=5415033
  14. Here's my torture test, updated yesterday to catch the post-increment cases recently discussed in the assembly thread: cputest.rpk cputestc.bin
  15. Nice work on patch 1.29. Binary size is much improved over previous patches! Patch 1.18: 8048 bytes Patch 1.29: 7860 bytes (188 less) I'm using CFLAGS+= -O1 -fno-function-cse When I tried -O2, I get the same ICE that Tursi reported.
×
×
  • Create New...