Blitter investigations and research from a software perspective

News,announcements,programming,fixes,game patches & discussions.
User avatar
mrbombermillzy
Moderator
Moderator
Posts: 2347
Joined: Sun Jun 03, 2018 7:37 pm

Re: Blitter investigations and research from a software perspective

Post by mrbombermillzy »

Despite the above comments, I tend to not give up easily and try to exhaust all avenues before calling it a day.

With that in mind, I'm going to have to write some test code to answer questions about some specific behaviour from the blitter, unless some kind soul here already knows the answer (and can save me the precious time of writing a test program by explaining whatever it is I have overlooked or maybe confirming my assumptions below). :D

Anyway, I'm currently looking into whether the blitter suffers the same penalty as the 68000 CPU for writes (or in this case blits) to odd addresses.

I have to re-write my code, as I may have overlooked something, but from using my visualisation routines, it seems that if I offset a write to palette index 0 by one byte i.e. to start at $ff8241, or I don't; either way, I get White (colour value 1911/%0111 0111 0111) which is the first colour sent to the palette:

Evenpalblit1.jpg
Evenpalblit1.jpg (14.39 KiB) Viewed 3531 times
Oddpalblit1.jpg
Oddpalblit1.jpg (7.46 KiB) Viewed 3531 times


However, if the colour data is offset by a byte and the shifter can only accept a full word, so will 'double up' the byte, shouldn't I be seeing magenta (red+blue) on index 0 as with the offset only the (what were the red) bottom 3 bits from the top byte are now residing in the bottom byte of the palette word with them being repeated in the top byte too? (All blits in the pictures are to background/palette 0, with just the first needed for the example).

Seems that possibly the MMU is even aligning the blit..? (Better than a bus error I guess).
czietz
Posts: 587
Joined: Sun Jan 14, 2018 1:02 pm

Re: Blitter investigations and research from a software perspective

Post by czietz »

Without looking it up (in the schematics at https://www.chzsoft.de/asic-web/) I would assume that the Blitter doesn't even have the LSB of the address implemented. In other words: you can't write an odd source or destination address to the respective registers.
User avatar
Cyprian
Posts: 547
Joined: Fri Dec 22, 2017 9:16 am
Location: Warszawa, Poland
Contact:

Re: Blitter investigations and research from a software perspective

Post by Cyprian »

yep, there is no A0 (even / odd) address on the 68000 bus. An odd odd address can be reached with LDS / UDS signals which, If I'm not wrong, are not used by the DMA and the BLiTTER.
ATW800/2 / V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
ijor
Posts: 836
Joined: Fri Nov 30, 2018 8:45 pm

Re: Blitter investigations and research from a software perspective

Post by ijor »

mrbombermillzy wrote: Wed Jan 11, 2023 8:42 pm Anyway, I'm currently looking into whether the blitter suffers the same penalty as the 68000 CPU for writes (or in this case blits) to odd addresses.
As other have commented, Blitter can't perform an access at an odd address. As documented in the official Atari manual, Blitter address registers lack bit 0. The increment registers don't have bit 0 either. All accesses are word oriented. There is no mechanism to access a single byte, not even at an even address.

Relevant manual page:

https://archive.org/details/User_Manual ... 9/mode/2up
http://github.com/ijor/fx68k 68000 cycle exact FPGA core
FX CAST Cycle Accurate Atari ST core
http://pasti.fxatari.com
User avatar
mrbombermillzy
Moderator
Moderator
Posts: 2347
Joined: Sun Jun 03, 2018 7:37 pm

Re: Blitter investigations and research from a software perspective

Post by mrbombermillzy »

Thanks for the replies guys. Much appreciated. :)
Post Reply

Return to “SOFTWARE PROGRAMMING & DISCUSSION”