Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


cd-w last won the day on March 20 2012

cd-w had the most liked content!

Community Reputation

349 Excellent


About cd-w

  • Rank
    River Patroller

Profile Information

  • Custom Status
    Juno First!
  • Gender
  • Location
    Seattle, WA
  • Interests
    Retro Consoles and Home Micros

Recent Profile Visitors

39,909 profile views
  1. Thanks Thomas - I hadn’t even submitted the feature request yet! Chris
  2. Will do - thanks for the fast response Stephen! Chris
  3. Two small requests for Stella: 1) Is there any way to prevent Stella from toggling Pause when the window loses focus (on Linux with XFCE)? When developing, I often slow down the emulation and use Pause to pinpoint the exact frame containing an issue. The I click on the editor window, and annoyingly the emulator un-pauses and the issue is lost! 2) It would be great if the emulation speed could be controlled via keypresses, so that you can easily speed up/slow down the emulation. I am aware of the turbo mode, which is handy in some situations, but more fine control would be very useful. Thanks, Chris
  4. Is that correct - signed int values are 4 bytes (32-bit) in length, while the jump addresses are 2 bytes (16 bits)? EDIT: I see #define RAM_SINT ((unsigned short int*)DDR), so they are indeed 16 bit, but I'm still unsure why the /2 is needed? Chris
  5. It is probably a power problem - the Harmony cart requires more power than a regular cart and this can cause problems when the PSU or voltage regulator is marginal. Are you using the same power supply with each console? If not, try swapping them around and seeing if that helps. However, to fix it properly you will probably need to replace the voltage regulator and capacitors inside the Atari console: https://console5.com/store/atari-2600-total-refresh-tune-up-cap-kit-new-capacitors-and-more.html Chris
  6. Yes - I believe Galaxian was the first game to use the RESPx trick. There is a great explanation in this thread. The TIA notes by Andrew Towers also provide a lot of detail, but can be a little hard to follow. Chris
  7. Can you post a binary for the fixed version? It looks like an interesting concept, but hard to work out what to do - can you also post some instructions? Chris
  8. The screen rolls on real hardware because it is using 286 screen lines - it needs to be reduced to 262 lines for 60Hz NTSC. I have defined the following macros to get the timings accurate: VBLANKDELAY = 44 ; 60Hz - (37*76)/64 ~ 44 SCREENDELAY = 229 ; 60Hz - (192*76)/64 ~ 229 OVERDELAY = 35 ; 60Hz - (30*76)/64 ~ 35 ; Start Vertical Blank Macro MAC START_VBLANK ldx #2 ; VSYNC enable sta WSYNC stx VSYNC sta WSYNC sta WSYNC ldx #0 ; VSYNC disable sta WSYNC stx VSYNC ldx #VBLANKDELAY stx TIM64T ; Set VBlank Timer ENDM ; Wait for Vertical Blank End Macro MAC WAIT_VBLANK .WaitVblank lda INTIM bne .WaitVblank sta VBLANK sta WSYNC ; [0] ENDM ; Start Screen Macro MAC START_SCREEN ldx #SCREENDELAY ; [0] + 2 stx TIM64T ; [2] + 3 ENDM ; Wait for Screen End Macro MAC WAIT_SCREEN .WaitFrame lda INTIM bne .WaitFrame ENDM ; Start Overscan Macro MAC START_OVERSCAN ldx #2 ldy #OVERDELAY sta WSYNC ; [0] stx VBLANK ; [0] + 3 sty TIM64T ; [3] + 3 ENDM ; Wait for Overscan End Macro MAC WAIT_OVERSCAN .WaitOverscan lda INTIM bne .WaitOverscan ENDM Then your main code can be done like: MainLoop: START_VBLANK ... WAIT_VBLANK START_SCREEN ... WAIT_SCREEN START_OVERSCAN ... WAIT_OVERSCAN jmp MainLoop Chris
  9. Looking at the binary I can see a lot of NOP instructions at 0x2DF, and $00 values at 0xCE5 (NTSC version)? The $00s are presumably used for sprite masking, but it looks like the NOPs could be replaced with something more compact? Chris
  10. It depends how many points you get: 100,000 points = Small Rocket 200,000 points = Large Rocket (Soyuz) 500,000 points = Shuttle (Buran) Chris
  11. I think only Fred (batari) has the DPC+ source code - I reverse-engineered parts of it for CDFJ, but don't know the differences between the minor DPC+ revisions. Chris
  12. I really enjoyed PRGE and the AtariAge booth was spectacular! I see that tickets for PRGE 2020 are already on sale - will AA be there again? Chris
  13. It looks like the GNU embedded toolchain is based on newer versions of the gnu software than Linaro: https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/pre-built-gnu8-cross-toolchain-by-arm-for-the-a-profile-architecture-now-available
  14. Nice work - I have been meaning to write this down for a long time, but never have time! Once minor point to note is that the stack grows down from the top of the memory area, and the variables grow up from the bottom and will be corrupted if they meet the stack.
  15. Darrell - if you had been there we would have had all 4 members of CDFJ - maybe next year Chris
  • Create New...