xucaen Posted October 25, 2015 Share Posted October 25, 2015 I am trying to figure out how to enter sprite graphics for the 7800 and I am confused about the examples I am seeing. For example, an Atari 2600 sprite looks like this: Sprite0 .byte #%11000011 .byte #%10000001 .byte #%10011001 .byte #%01011010 .byte #%00111100 .byte #%00011000 .byte #%00011000 but that same exact sprite for some reason has to look like this? ;Sprite0 org $a000 .byte #%00000000 org $a100 .byte #%00000000 org $a200 .byte #%00000000 org $a300 .byte #%00000000 org $a400 .byte #%00000000 org $a500 .byte #%00000000 org $a600 .byte #%00000000 org $a700 .byte #%00000000 org $a800 .byte #%00000000 org $a900 .byte #%11000011 org $aA00 .byte #%10000001 org $aB00 .byte #%10011001 org $aC00 .byte #%01011010 org $aD00 .byte #%00111100 org $aE00 .byte #%00011000 org $aF00 .byte #%00011000 I was wondering why do I need the ORG statements and why do I have to have 16 bytes? It seems to be much easier and more straight forward to make sprites for the 2600 than it is for the 7800. Is there a better/simpler way to do it for the 7800? Quote Link to comment Share on other sites More sharing options...
Mord Posted October 25, 2015 Share Posted October 25, 2015 The reason for that is that MARIA decreases the high byte for every line of the sprite as it processes a zone. As a result each line of the sprite is separated by $100 as you see in the sprite. There's no easy away around it as that's how MARIA expects the data to be organized. 3 Quote Link to comment Share on other sites More sharing options...
Roy Posted October 25, 2015 Share Posted October 25, 2015 There is an old program HERE that I used for my wip game. Maybe it can export in a format you can use? I had to manually enter my graphic information into a binary and include it into the assembly due to using a different assembler... Quote Link to comment Share on other sites More sharing options...
EricBall Posted October 26, 2015 Share Posted October 26, 2015 (edited) 7800 sprites may be more than a single byte wide (and can have some interesting bit to pixel mappings). Therefore putting each row on a separate page means MARIA doesn't have to perform any multiplication to get the data for the next row. 7800 sprites are also "upside down" - i.e. the lowest memory address contains the bottom row of the sprite. Edited October 27, 2015 by EricBall 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.