Hi Eric,
Do you have a prognoses when version 1.3 wil be released?
@Wolverine_nl
My problem is I want to include to much things... So I decided to publish a RC within 3 weeks.
@bengalack
http://msx.ebsoft.fr/fusion-c/_build_lib.bat
Let me know if it works now ...
Thank you Eric! I think this fixes things in Fusion-C. Now the printf-example works like a charm.
But then again, my game does not work correctly :-( This is likely because SDCC is not in a ready state, and has some new bugs introduced, which my some of my recent code stumbles into. I say recent, as I have been using 4.0.7 on parts of my program (which was not dependent on printf) for testing purposes earlier, and this worked fine.
But! This means that I can grab a snapshot now and then, and see if things are fixed, or I can even investigate 4.0.7 and file bugs to SDCC, to get them fixed.
BTW: Maybe you could add some kind of IFDEF SDCC_VERSION >=4_0_3
in the printf.c file, so that Fusion-C can be compiled with upcoming releases of SDCC? Not sure if possible, just and idea.
Anyways, thanks for looking into this :)
Hi Guys it's me again.
I am trying to convert a PNG to a sprite with sprconv
and i get the data out of it(a log file and a SPR file)
currently i am focussing on using the log file data but i can't see how to interpret the data especialy the color palet.
can anyone help us on how to use the data that comes out of the tool for use in Fusion C?
the data we get out of the tool is:
; Sprite : 0 ; Mode : Mode : 2 sprites, color OR on ; TGS size : 64 ; Address : Start + #0 sprite0tgs: db %00000001 db %00000010 db %00000101 db %00001011 db %00010011 db %00100111 db %00100111 db %01001111 db %01001111 db %01001111 db %01001111 db %01001111 db %00100111 db %00010001 db %00001111 db %00000000 db %01000000 db %11000000 db %10100000 db %11010000 db %11101000 db %11110100 db %11111100 db %11111010 db %11111010 db %11111010 db %11111010 db %11111010 db %11110100 db %11101000 db %11110000 db %00000000 db %00000000 db %00000001 db %00000011 db %00000111 db %00001111 db %00011111 db %00011111 db %00111111 db %00111111 db %00111111 db %00111111 db %00111111 db %00011111 db %00001111 db %00000000 db %00000000 db %10000000 db %10000000 db %11000000 db %11100000 db %11110000 db %11111000 db %11111000 db %10101100 db %10101100 db %10101100 db %11111100 db %11111100 db %11111000 db %11110000 db %00000000 db %00000000 ; Sprite : 0 ; TCS size : 32 ; Address : Start + #64 sprite0tcs: db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #07 db #00 db #4E db #4E db #4E db #4E db #4E db #4E db #4E db #4E db #4E db #4E db #4E db #4E db #4E db #4E db #40 db #40 ; Color Palette ; Address : Start + 96 pal: db #04,#00 db #70,#00 db #05,#00 db #03,#00 db #47,#04 db #37,#03 db #17,#02 db #00,#00 db #00,#06 db #00,#03 db #01,#04 db #00,#05 db #54,#04 db #61,#06 db #44,#04 db #77,#07
Thanks for the help again!
I'm not a Fusion-C specialist, but you have to send those data to the right place in VRAM (with a VRAM write function).
- sprite0tgs to the address of the Sprite pattern table
- sprite0tcs to the address of the Sprite attribute table - 200h (Sprite color table don't have its own address)
The color palette data (pal) must be send through VDP register #16 (cf. documentation).
I cannot reach reprofactory.com, it is offline.
Is all well ?
At least https://www.ebsoft.fr/shop/ is working.
This might be fixed in the latest version, but I think there's something wrong with the InputString function. When you specify the length of the input string it only allows input of 2 less than the length.
And somehow I get a bug in my code only when I use InputString. (The symptoms is strange. I send this string from inputstring in msx to arduino via i2c, and it makes another unrelated function to not work on arduino side. So may be memory over written due to overflow.)
The reason why I think inputstring causes it is because if I use "gets" function instead it works fine.
https://github.com/ericb59/Fusion-C-v1.2
There you can get it anyway...
Long time since I've last heard anything from Eric, hope everything is allright with him.
I'm experimenting with Screen 4 for a game but I'd like to be able to change the color palette for it. Is that possible via Fusion-C or would I need to create some assembly to do it? It appears that it's possible to do it in basic via color= but I'm not having much luck finding how to do it in the manual or github source.