I'm glad you liked it! I shared this video in the official ugBASIC group, and it got a lot of positive comments.
It doesn't surprise me. There are a number of reasons, the first of which is that it is hardware that has more limited graphics features. The reason I put those versions, actually, is to show how isomorphism works. I would have liked to show other targets too but, as you may have guessed, the source that is on the repository is still a "work in progress". I hope to be able, in the next days, to release a new version but I have to thoroughly test all compilers before.
Thanks, I am really flattered that the code produced by ugBASIC is being compared with an assembly code!Neotenien a écrit : ↑16 juil. 2022 01:07I created a asembly routine to display Sprite on BM16 mode (with Samuel helps) a few years ago, it worked very well, I can't push it to animat 11 sprites (8x16 pixels) in 80 movement in less than 6" (more 12 img/secondes) and here I thouygt to seriously do a personnal assembly program for TO8 in order to adapt the Atari ST version on TO8... But seing that result on video, that's really great!
The ugBASIC language has three primitives for image management: IMAGE, IMAGES and SEQUENCE. The difference is that while IMAGE is a single image, IMAGES is an animation of a single pose (imagine it is a sort of "filmstrip") and, finally, SEQUENCE is a set of poses (imagine a parallel set of filmstrips). Clearly, you can use PUT IMAGE to specify which frame, among many, you want to draw:
Code : Tout sélectionner
PUT IMAGE [image] AT [x],[y]
PUT IMAGE [image] FRAME [frame] AT [x],[y]
PUT IMAGE [image] SEQUENCE [sequence] FRAME [frame] AT [x],[y]
There is also an issue about this kind of optimization.
Yes, it is probably simpler but Samuel, who is much more experienced than me on the issue of the Olivetti Prodest PC128 chipset palette, will certainly have given you the best advice on the matter.About Palette, Samuel told me about the "Color" ugbasic instruction, but the "EXACT" option seems easier to use.
The mode is BM16.
This is because ugBASIC interpreted that color as a "background", and then set the background accordingly. However, it is not drawing "in transparency". For this type of activity, you must use the WITH TRASPARENCY keyword on the PUT IMAGE command.
Probably you are not using the compiler obtained by compiling the latest repository. Without the fixes contained in the repository, operation is not guaranteed due to a bug on reading the K7. I attach you the executable I used to create the video.It began to animate as on the video but coz of blanka one, it seems it get out screen memory, freeze the screen and some weird things appaer on the screen from bottom tu top (some little rectangle, maybe pixels ?).
Have a nice day!