Vince est le plus fort(voilà, ça, c'est dit ^^)
Alors, parce que je suis super cool

Un petit programme pour afficher du texte depuis la ROM.
LOREM.C
#include <lynx.h> #include <lynxlib.h> char SCREEN[8160] at (MEMTOP-16320); char RENDER[8160] at (MEMTOP-8160); char drawPending;//FileEntry est la "structure" utilisée pour l'accès aux fichiers dans la cartoucheextern char FileEntry[8]; //Texte est le tableau qui contiendra nos fichiers depuis la cartouchechar texte[1024];VBL() interrupt { if (drawPending) { SwapBuffers(); drawPending = 0; } } char pal[] = {0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x08,0x0F,0x08,0x00,0x0F,0x00,0x00,0x00, //0G0x00,0x0F,0x4F,0x0F,0x00,0xF0,0xF8,0x00,0x88,0x8F,0xFF,0xFF,0xFF,0x80,0x00,0x00 //BR};void Vsync() { #asm vretrace: lda $fd0a bne vretrace #endasm } char WaitButton(){ char key; while ( (key = joystick) == 0); while ( joystick ); return key;}char main(){ InitIRQ(); CLI; SetBuffers(SCREEN, RENDER ,0); InstallIRQ(2,VBL); EnableIRQ(2); SetRGB(pal); //On charge le fichier numéro 2 depuis la cartouche (le numéro 0, c'est insert.o et le numéro 1, c'est votre programme) LoadCartDir(2); //On charge un bloc de 1024 octets (pourquoi 1024 ? cf la doc technique, les blocs en rom font 1024 octets) LoadCartBlock(FileEntry[0], texte); //Un joli fond jaune flashy pour s'arracher les oeils DrawFBox(0,0,160,102,3); //On affiche le contenu de texte, il va s'arrêter au premier octet à 0 TextOut(37, 10, 1, 0, texte); //On affiche le contenu de texte à partir du 0xCième octet (12ème) TextOut(60, 24, 1, 0, texte+0xc); //On déclenche un swapbuffers drawPending=1; while(1){ }}
Maintenant, il nous faut le texte à afficher
LOREM.TXT
Lorem ipsum*RYGAR* Attention, là où j'ai mis les étoiles, il faut utiliser un éditeur hexadicémal pour mettre 00 à la place.
En gros, votre fichier (en hexa) contient :
4c 6f 72 65 6d 20 69 70 73 75 6d 00 52 59 47 41 52 00Après, il faut votre fichier LOREM.MAK
insert.o
lorem.o
#ALIGN
lorem.txt
le #ALIGN permet de demander à ce que l'élément suivant soit aligné sur un bloc
Et enfin, il suffit de "compiler"... (fichier LOREM.CMD, tout est dans C:LYNX)
cd c:lynx
set PATH=%path%;c:lynxnewcc65bin;c:lynxnewcc65lib;c:lynxnewcc65include;c:lynxdvptlynxer50
cc65 -Ic:lynxnewcc65include "lorem.c"
xopt "lorem.m65"
ra65 "lorem.m65" -o "c:lynxlorem.obj"
del "lorem.m65"
link65 -r "c:lynxNEWCC65libRUNTIME.RUN" "lorem.obj" "c:lynxnewcc65libc.olb" "c:lynxnewcc65liblynx.olb" -o "lorem.o"
del "lorem.obj"
rem cd ..
lynxer.exe lorem.mak
make_lnx lorem.lyx -g "lorem" -m "Vince" -b0 256k
cd Handy-0.95
pause
start handy.exe ..lorem.lnx
cd ..
ATTENTION : si vous testez LOREM.O directement, ça ne marchera pas, il faut le contenu de la cartouche DONC le fichier LNX