View Single Post
Old 16 June 2022, 14:56   #47
VladR
Registered User
 
Join Date: Dec 2019
Location: North Dakota
Posts: 741
Quote:
Originally Posted by paraj View Post
You should be operating on bytes (or words), not longwords for a putpixel routine. A plain 68000 can only access one word at a time.
Yeah, but then you have to split top and bottom 16 bits, which I totally didn't feel like doing just yet
I did keep regretting that decision during last 8 attempts at optimization, as the difference in cycles between 16 and 32-bit adds up pretty quickly everywhere.


Quote:
Originally Posted by paraj View Post
In my example code I have one function for each possible color (so 64 functions for 6bpl) and jump to the correct one with a jump table, and if I didn't miscount my "overdraw" version takes 210 cycles w/o any (other) nasty tricks.
This is an exercise in patience I certainly didn't mind writing 4 versions of DrawPixel on 6502. But 64 ?

210 is a really good number for 6 BPL
I guess I am going to have to work for it a bit harder



EDIT: I was just about to do the last item on the ToDo list - BSET/BCLR instead of OR/AND

Except, they don't support the 32-bit addressing mode (only 8-bit). Hence I gotta switch to 8/16-bit access. I don't think I can do the full rewrite of LUTs (and everything else) now, that's possible only during weekend.

Last edited by VladR; 16 June 2022 at 15:25.
VladR is offline  
 
Page generated in 0.04250 seconds with 11 queries