Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


MaPa last won the day on October 21 2018

MaPa had the most liked content!

Community Reputation

471 Excellent

About MaPa

  • Rank
  • Birthday 05/26/1976

Profile Information

  • Gender
  • Location
    Czech Republic

Recent Profile Visitors

22,918 profile views
  1. I didn't count the cycles nor saw your code.. but with absolute addressing you have to loop one byte (lda,and,ora,sta) cycle or not? With indirect indexed addressing you can easily unroll loop saving 3 cycles per byte which almost cancles the 4 cycles more with indirect indexed and leaves you with "simple" loop prepare.
  2. Use tables.. something like: ldx character ;load the character value (0-255) lda char_addr_tab_hi,x ;get hi byte of char def adc change_font+2 ;add bits to hi-byte (MSB) sta change_bck+2 ;store the resulting value lda char_addr_tab_low,x ;get low byte of char def sta change_bck+1 ;store the result in lo-byte (LSB) .. .. char_addr_tab_low :128 dta l(font+#*8) :128 dta l(font+#*8) ; inverse chars has the same data offset char_addr_tab_hi :128 dta h(font+#*8) :128 dta h(font+#*8) ; inverse chars has the same data offset If change_font+2 is constant, you can add that value into the table already and delete adc change_font+2 instruction. This uses 512 bytes for tables... or 256 if you add and #$7f after loading char.
  3. NMI gets disabled in the ClearSystem macro.
  4. You disable NMI (DLI + VBI) and at $2c00 waiting for RTCLOCK to be increased which happens in the disabled VBI... so infinite loop there.
  5. I would avoid using flickering screens. As for the text.. is it a "picture" or is it drawn from some data, functions etc.? If it's a picture I would rather go for hand letter optimization to look it more smooth than trying to have font as close as possible to the original (if it's the case).
  6. The ldy $101,x is not necessary of course as the Y register is not modified.
  7. pha txa pha tya pha tsx ldy $101,x lda $103,x pha lda $102,x tax pla ... subroutine processing pla tay pla tax pla rts
  8. IMHO it should play combined voices too if I understand it correclty.
  9. Sure.. in fact I think we used exactly this STEREO mode in Millionaire (yes, just checked it). It has standard 4 channel music, but on stereo POKEY Ataris, it should play somehow stereo.
  10. In the pasted part of code there is no zeroing AUDF without AUDC. This part plays mono (4 channel) music on stereo POKEY that voices 1, 4 plays on left POKEY and voices 2, 3 on right POKEY. So when in RMT you use "filtered" voice 1+3, you NEED set AUDF1 and AUDF3 on the SAME pokey to have filter effect. Normally AUDF1 would be set only on left POKEY and AUDF3 only on right.
  11. I suppose it's for playing "filtered" voices 1+3 etc. Then you need both AUDF1 and AUDF3 set in the same pokey and not one in "left" Pokey and the other in "right" Pokey.
  12. It looks OK to me, but IMHO bcc *+6 skips one byte after inc destination+1, so you skip some one byte instruction after it or jump "into" instruction so who know what it does.
  13. You have only 2 DLIs in your DLIST (two instruction with DLI bit set).
  14. Sorry for confusion.. looks like the versions we tried are OK, but have problems when run under QMEG.
  15. What translator disk? I'm talking about this game Gallahad - http://a8.fandal.cz/detail.php?files_id=4066
  • Create New...