| |
Dr. Jay Account closed
Registered: Jan 2003 Posts: 32 |
FPP - flexible pixel position
Anyone have a commented source example?
|
|
... 27 posts hidden. Click here to view all posts.... |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
6 * 40 = 240, you cannot put more than 6 full char rows with unique characters into a charset. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
that clears it up, now I remember why my chessboard fpp shit in Soiled was 32 wide =) |
| |
xIII
Registered: Nov 2008 Posts: 210 |
Thanks all for the replies! |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Sorry, I should have said "You only need 6 screens if your gfx is 40 chars wide and isn't charpacked." Of course you can use all 16 screens in other cases, but I was just trying to make it as simple as possible. |
| |
xIII
Registered: Nov 2008 Posts: 210 |
After all the replies I managed to code the FPP routine but I came across a new problem. I hope to get some more support in here :)
I copied the bytes of the original charset in the correct positions with this routine:
Setup_Charset: .for (var x=0;x<251;x++){
lda charset+0+x*8
sta screen0+0+x*8 // screen0 = $4028
lda charset+1+x*8
sta screen1+0+x*8 // screen1 = $4828
lda charset+2+x*8
sta screen2+0+x*8 // ...
lda charset+3+x*8
sta screen3+0+x*8
lda charset+4+x*8
sta screen4+0+x*8
lda charset+5+x*8
sta screen5+0+x*8
lda charset+6+x*8
sta screen6+0+x*8
lda charset+7+x*8
sta screen7+0+x*8
}
rts
The calculated charsets were saved and imported in the actual code (I'm sure there's a better way). The first 5 chars of every charset were used for screendata.
When I start the fpp routine it shows the first 34 chars correct but the final 6 chars are scrambled.
I have tried some things but cannot figure out what is going wrong. If you want to see the actual code, pm me. |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Looks like it would work, even though it's some of the most bloated code I've ever seen. :)
Your problem might be with the char setup or the FPP routine itself. Maybe the first badline is triggered at an odd position, causing the screen to be VSP'ed some chars. The possibilities are plenty. Trial'n'error your way forward. Look at the generated data in an MC-monitor. Try adding/removing nops. This is how we all spend most of our coding time. Things almost never work the first time. |
| |
hollowman
Registered: Dec 2001 Posts: 474 |
To verify your fpp data you can try using fpp-converter and compare it to your data, and you can test your data with its routine (it is using 16 screens so you cant use chars $00-$04 or $80-$84)
And for the charset and screen you can try convert studio where you can convert bitmap to charset+screen and select the characters that may not be used in the charset. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
thats the problem with high level assemblers, ppl try to write their code with the scripting, instead of coding :P |
| |
Smasher
Registered: Feb 2003 Posts: 520 |
thanks for the links, hollowman. I wish my fav painting tool pixcen had those features like convert studio! |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
Quoting Oswaldthats the problem with high level assemblers, ppl try to write their code with the scripting, instead of coding :P
High level assemblers make it possible to generate speedcode without the actual generator code, which makes quick testing/optimizing possible. Of course once the speedcode generation using the assembler's "scripting" works, it's time to write actual code generators in proper asm code. |
Previous - 1 | 2 | 3 | 4 - Next |