Jump to content

Omegamatrix

+AtariAge Subscriber
  • Content Count

    6,701
  • Joined

  • Last visited

  • Days Won

    2

Omegamatrix last won the day on November 15 2015

Omegamatrix had the most liked content!

Community Reputation

2,141 Excellent

4 Followers

About Omegamatrix

  • Rank
    Quadrunner
  • Birthday 02/06/1975

Contact / Social Media

Profile Information

  • Gender
    Male
  • Location
    Canada
  • Interests
    Atari 2600 collecting, playing, programming
    Watching movies

Recent Profile Visitors

41,485 profile views
  1. Tonight I was scrubbing my blogs to reformat all the mangled code block entries and thought about some code I made in @Karl G's topic about BCD to Binary Routines. Here is the last routine I made: ; BCD value $0 - $99 is in A. Returns binary number 0-99 in A BCDtoBin6: sta Temp and #$F0 lsr sta Temp2 lsr lsr adc Temp sec sbc Temp2 rts Here is @Andrew Davie's explaination of the routine:
  2. I can't sleep. I'm consumed by this problem and I keep thinking about it... Tonight I discovered some of Batari's solutions for hex to bcd conversion here and here. They are very compact solutions, and neat. I started to wonder if a constant (un-looped) cycle approach could be found without using tables. Then the insomnia crept in. I decided to have a go at translating hex values of 0-99 (BCD range for a byte). The approach I took was to modify my divide by 10 routine so that the result was multiplied by 6, and then added it to the initial value. From there I optimized it so that some of the shifts could be cut out, and removed the correction value (adc #13) from the divide routine, because that is only required for values 130 or more (and we are just doing 0-99). Here is what I came up with: ;Hex2Bcd (good 0-99) ;24 bytes, 39 cycles ;You can also use LSR for all ROR's here... sta temp lsr adc temp ror lsr lsr adc temp ror adc temp ror lsr and #$3C sta temp2 lsr adc temp2 adc temp I wrote a real short verification program. Basically just a macro that pumps out all the results and stuffs them into zero page ram, which can easily been seen in Stella's debugger. I did a visual verification. hex2bcd.zip
  3. Should be good now. I was logged out of the client so the roms were there but not synced to the server.
  4. I also have thought about this since then, and while it won't work for your game I will mention that there is an illegal opcode option that is quicker, and uses less bytes: ldx roomId lda roomSpriteIdx, x ldx #$F0 sax roomSprPtrL ora #$F0 sta roomSprPtrH
  5. I just read this and applied a fix to the HSC roms. It looks like the root cause is Spider Fighter is hitting HMOVE ending on cycle 67 (12 cycles too early), and your console does not like that.
  6. Robot Tank has been modified for the PlusCart High Score Club. PlusCart users can find the PAL, PAL60, and NTSC versions in the PlusStore directory "Public ROMs\PlusROMs\High Score Club" The NTSC version can be played online in javatari.js. The ROM-file can also be played with Gopher2600. The "PlusCart High Score Club" page for Robot Tank: https://highscore.firmaplus.de/?game_id=42 `
  7. I really like that one, but I think you meant three lines could be ORA #$F0 as: ldx roomId lda roomSpriteIdx, x pha and #$F0 ; a is now lower half of the pointer sta roomSprPtrL pla ora #$F0 sta roomSprPtrH If you don't need X=roomId after this bit of code than you can use TAX TXA to save 3 cycles too: ldx roomId lda roomSpriteIdx, x tax and #$F0 ; a is now lower half of the pointer sta roomSprPtrL txa ora #$F0 sta roomSprPtrH Using Y register instead for TAY TYA is also an option.
  8. If you look at the link I posted there is another glitch with attract mode the way I understood it is that any time the player is not moving there is a timer incrementing and eventually it will go into attact mode. I put Nukey's fix in there to clear the timer when the player is moving. Yep that's what I meant.
  9. I have just posted some updated Berzerk roms into the HSC club. I fixed the too many lives & attract mode sudden death glitches. I also put in an extra write for SWCHA so that accidental early exit came be avoided.
  10. I found there is a game killing bug in regular Berzerk carts: https://atariage.com/forums/topic/183006-berzerk-reset-bug/?tab=comments#comment-2300120 I'll fix this one and post some new roms. With not being able to shoot, are you saying that happens on a regular Berzerk cart as well?
  11. This one was a lot of work, but Dig Dug has been modified for the PlusCart High Score Club. PlusCart users can find the PAL, PAL60, and NTSC versions in the PlusStore directory "Public ROMs\PlusROMs\High Score Club" The NTSC version can be played online in javatari.js. The ROM-file can also be played with Gopher2600. The "PlusCart High Score Club" page for Dig Dug: https://highscore.firmaplus.de/?game_id=41
  12. It's here: https://atariage.com/forums/topic/245554-wico-command-control-trackball-hack/ I have also linked it on the main page of the Trakball thread.
  13. I love the circle demo Andrew. Well done!
  14. I believe you unlocked the bug big mode, eh? Anyhow it should be normal now...
  15. Keystone Kapers has been modified for the PlusCart High Score Club. PlusCart user/tester can find the PAL, PAL60, SECAM, and NTSC versions in the PlusStore directory "Public ROMs\PlusROMs\High Score Club" The NTSC version can be played online in javatari.js. The ROM-file can also be played with Gopher2600. The "PlusCart High Score Club" page for Keystone Kapers: https://highscore.firmaplus.de/?game_id=40
×
×
  • Create New...