Les gens ... epic update !!!
J'ai installé un moyen simple de rendre un programme Basic utilisant WLib compatible toutes z80 : quand vous utilisez WLib, envoyez deux programmes à votre calto, prgmUSEWLIB et prgmWLIB. Prenez évidemment la version des deux programmes qui correspondent à votre calto. Ensuite, dans le programme Basic utilisant WLib, à la place de Asm(prgmWLIB) ou Send(9prgmWLIB), utilisez simplement prgmUSEWLIB. Comme ça, dans la version 83p de USEWLIB y'aura Send(9prgmWLIB), et dans la version 8xp y'aura Asm(prgmWLIB) ! De cette manière, le même programme Basic marchera partout tant que vous avez les bons programmes !
Ensuite, WLib est maintenant capable de :
- Scroller l'écran (pas le buffer) en haut ou en bas de manière instantanée ! {colonne de l'écran à afficher en première}→LWLIB : 0 : prgmUSEWLIB
- Scroller le buffer à gauche ! {nombre de pixels à scroller}→LWLIB : 1 : prgmUSEWLIB
- Scroller le buffer à droite ! {nombre de pixels à scroller}→LWLIB : 2 : prgmUSEWLIB
- Vérifier l'existence d'un programme ! {numéro de la Str contenant le nom du programme}→LWLIB : 3 : prgmUSEWLIB
- Créer un programme et l'écraser s'il existe déjà ! {numéro de la Str contenant le nom du programme, taille du programme en octets}→LWLIB : 4 : prgmUSEWLIB
- Allumer un pixel ! {X, Y}→LWLIB : 5 : prgmUSEWLIB
- Éteindre un pixel ! {X, Y}→LWLIB : 6 : prgmUSEWLIB
- Changer l'état d'un pixel ! {X, Y}→LWLIB : 7 : prgmUSEWLIB
- Charger des sprites dans des slots ! {numéro de la Str contenant les sprites, nombre de sprites}→LWLIB : 8 : prgmUSEWLIB
- Charger une tilemap !!! {numéro de la Str contenant la tilemap, taille en octets (largeur*longueur), offset de départ où charger la tilemap}→LWLIB : 9 : prgmUSEWLIB
- AFFICHER UNE TILEMAP CHARGÉE !!! 10 : prgmUSEWLIB
- Afficher le buffer à l'écran ! 11 : prgmUSEWLIB
- Inverser les pixels du buffer ! 12 : prgmUSEWLIB
Et voilà, le tout en 763 octets ! Joyeux Noël !
Maintenant, explications :
- Tous les sprites doivent être stockés en hexadécimal, similaire au format des sprites Axe ou Assembleur.
- Pareil pour les tilemaps, ce qui veut dire qu'une tilemap peut contenir maximum 16 tiles différentes (0 à F).
- Un slot est un truc interne à WLib, pis 'toute façon vous en avez pas l'usage actuellement. Vous en occupez pas pour le moment, mais ça viendra.
- Chaque paquet de plusieurs sprites doivent aller à la suite dans la même Str pour être chargé correctement !
- Idem pour les tilemaps, tout à la suite dans la même Str !
Testé sur 83+, je laisse aux possesseurs de TI non-flash le soin de tester, mais
attention, les zones mémoires que j'utilise dans WLib sont okay sur 83+, mais je ne connais pas leur utilité sur 82 stats. J'ai quand même vérifié par mes propres moyens que ça soit pas trop la merde, mais soyez prudents quand même, je ne sais pas l'effet que ça peut avoir.
Télécharger WLIBScreenshot pris sur une 83 émulée :
Faites-moi part des résultats des tests sur 83 surtout