Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

208 Excellent

About 42bs

  • Rank

Contact / Social Media

Profile Information

  • Gender
  • Location
    Germany/Southest West

Recent Profile Visitors

6,500 profile views
  1. Technical question: Do you use ChanFS? Or did you write your own FATFS?
  2. SD cards are so large (1T meanwhile) and there are so few 😞 Jaguar games, you can put all of them on one card.
  3. I wait for my Lynx flash card shells. Should be here by tomorrow. Then, if I can write the flash via Lynx, I'll ask for joining.
  4. All documents say it is a 65C02, my assumption was it is a 65SC02 (what might be true for Lynx I). See https://github.com/42Bastian/new_bll/blob/master/doc/65sc02.txt Or: https://github.com/42Bastian/6502/blob/master/doc/6502refcard.pdf
  5. Nop90, I have to revise my first finding. Did some quick test this morning: ; iter size opcode ; 16384 1 0b..fb 5,0ms => 0,3us => 1cycle ; 16384 1 03..f3 5,0ms => 0,3us => 1cycle ; 16384 1 NOP 9,5ms => 0,58us => 2cycles ; 16384 2 $02 9,5ms => 0,6us => 2cycles ; 8192 3 dc,fc 11,0ms => 1,2us => 4cylces ; 8192 2 f4 11,0ms => 1,3us => 4cylces ; 8192 2 44 9,5ms => 1,2us => 4cycles So my findings are more or less as in your list. So with $02 one can make a conditional inc/dec: MACRO SKIP1 dc.b $02 ENDM cmp #10 beq .e inx SKIP1 .e dex SKIP1 takes only 2 cycles instead of 3 using BRA
  6. These NOPs take as many cycles as bytes. So no benefit in using them. (At least, that's what my measurements show). So why using a illegal opcode to get 2 NOPs instead of 2 NOPs?
  7. I have only a stereo Lynx II. On this, the "illegal" opcodes I tested are treated as NOPs but need as many bytes as the "legal" opcodes in the same group. Also as many cycles as the respective number of NOPs. So in the "absolute addressing mode" group, the illegal opcode skips 3 bytes. Which can be very handy 🙂 in an if/then/else construct. But *hmm* it does not save cycles to bad. cmp #10 beq else sta $10 TRIPLE_NOP ; = dc.b $5c else: stz $10 TRIPE_NOP will skip over the "stz $10", otherwise one would write: cmp #10 beq else sta $10 bra endif else: stz $10 endif: But this does not work on Handy. It will bail out.
  8. Updated lyxass: Fixed support for SMBx/RMBx/BBRx and added BBSx. (These instructions are available on Lynx II). https://github.com/42Bastian/lyxass
  9. Checked for $5c/$dc/$fc which are in the absolute addressing group. They have two dummy bytes and behave as 3 NOPs. But no benefit from writing 3 NOPs. So what?
  10. Just checked: Lynx II does support SMBx/RMBx but Handy not (though it correctly disassembles it).
  11. So, why ask for tan() in the first place? Or differently asked: What do you want to achieve?
  12. Does CC65 float? Any transcendent functions? I'd use a table.
  13. VladR's idea has the advantage, that you do not have to check every ZP access for a HW register. IIRC it is how the Jaguar VCS emulator works. The advantage of "converting" the VCS game off line is, that the 6502 code can run directly on the Lynx.
  • Create New...