http://www.cc65.org
Fadest (./154) :Forcément, tu joues sans le son...
Et je n'ai pas remarqué que la musique de Space Lock stoppait au bout d'un moment

Fadest (./154) :
Je crois que le début de boucle, c'est : "|:"
Par exemple, une piste de Space Lock :
_abcmusic3
dc.b "O2 X7 I0 V45 T20 R80 H8 K1"
dc.b " z4z4z4"
dc.b "|:CBAABAGGAGFFEDEE"
dc.b " ECDDFDEEGEFGABCC"
dc.b " CDEEDEFFEFGEFDFF"
dc.b " CBAABAFFAGDDEDCC"
dc.b " ECDDFDEEGEFGABCC"
dc.b " CDEEDEFFEFGEFDCC:"
dc.b 0
Et je n'ai pas remarqué que la musique de Space Lock stoppait au bout d'un moment
Fichier joint : test.o

).
***************
* RAW.ASM
* simple body of a Lynx-program
****************
NEWHEAD set 1
LoadPckUser set 1
LoadPrgUser set 1
path "f:\lynx\bll\macros"
include <hardware.asm>
* macros
include <help.mac>
include <if_while.mac>
include <mikey.mac>
include <suzy.mac>
include <file.mac>
include <irq.mac>
path
path "f:\lynx\bll\vardefs"
* variables
include <help.var>
include <mikey.var>
include <suzy.var>
include <file.var>
include <irq.var>
path
*
* vars only for this program
*
MACRO SHOW
LDAY \0
jsr DrawSprite
ENDM
BEGIN_ZP
selected ds 1
tempo ds 2
tempb ds 1
irq_vektoren ds 16
END_ZP
BEGIN_MEM
ALIGN #4
screen0 ds SCREEN.LEN
END_MEM
run $E000 ; code somewhere
Start:: ; Start-Label needed for reStart
INITMIKEY
INITSUZY
CLEAR_MEM
CLEAR_ZP +STACK ; clear stack ($100) too
INITIRQ irq_vektoren
SCRBASE screen0
FRAMERATE 60
SETRGB pal
lda #0
sta selected
lda #0
sta tempo
.loop
lsr cls ; clear screen with color #0
jmp .menu
.keyloop
lda $fcb0 ; joystick
beq .keyloop
bit #$01 ; test bouton A
WAITNOKEY
jmp .loop
.menu
SHOW menu_SCB
.menu2
SHOW star_SCB
jmp .keyloop
****************
cls::
LDAY clsSCB
jmp DrawSprite
clsSCB dc.b $c0,$90,$00
dc.w 0,cls_data
dc.w 0,0 ; X,Y
dc.w 160*$100,102*$100 ; size_x,size_y
cls_color dc.b $00
cls_data dc.b 2,$10,0
****************
* INCLUDES
path
path "f:\lynx\bll\includes"
include <irq.inc>
include <file.inc>
include <draw_spr.inc>
pal: DP FEF,9BD,CFF,086,DDD,6FB,9FC,4B7,294,6D6,9D9,AD9,CE7,229,F0F,000
pal2 DP 164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164
* Spritedaten
path
path "f:\yastuna0\menu"
menu_SCB
dc.b $C0,$10,$00
dc.w 0
dc.w menu_data ; pointer to spritedata
dc.w 0 ; X position
dc.w 0 ; Y "
dc.w $100 ; X scale by faktor 1,0
dc.w $100 ; Y 1,? - fraction is changed
dc.b $01,$23,$45,$67,$89,$AB,$CD,$EF
star_SCB
dc.b $C7,$10,$00
dc.w 0
dc.w star_data ; pointer to spritedata
STARX dc.w 10 ; X position
STARY dc.w 20 ; Y "
dc.w $100 ; X scale by faktor 1,0
dc.w $100 ; Y 1,? - fraction is changed
dc.b $01,$23,$45,$67,$89,$AB,$CD,$EF
menu_data ibytes "menu.spr"
star_data ibytes "star.spr"
dvallet (./168) :Euh si, normalement, tout est accessible
J'ai découvert que les archives de yaronet n'etait pas accessibles sic

Fichier joint : explode1.zip

Fadest (./11) :
Vu que tu n'as qu'une image, on va la convertir à la main avec SPRPCK (il y a moyen d'automatiser tout ça)
SPRPCK est l'outil qui te permet de convertir des fichiers graphiques en fichiers objets lisibles par la Lynx.
Il est dans Newcc65/bin
Note, tu utiliseras une session MS-DOS pour programmer la Lynx
J'espère que tu aies plus familier avec MS DOS que moi
La commande est :
SPRPCK -t6 -S160102 -p0 fond.bmp
(attention aux minuscules/majuscules, et c'est bien pzéro : -p0)
Ca va te générer un fichier fond.pal (que je mets dans INC pour ma part) et un fichier fond.obj (que je mets dans OBJ)
set image01=fond.bmp
SPRPCK -t6 -S160102 -p0 %image01%
cmd
vince (./176) :mais avant de le trouver test.olb, il faut bien qu'il soit fabriqué ? C'est rageant car j'ai réussis à le fabriquer 1 fois, c'est étrange que je n'arrive pas à nouveau, je n'ai pourtant pas modifié les Batch File. Je vérifie encore, et encore, mais tout est en place, je ne comprend pas. J'ai redémarré le PC au cas où le MS_DOS ferait des siennes, mais rien y fait.
ça doit pas être grand chose pourtant : ce message t'indique juste que link65.exe n'est pas parvenu à trouver test.olb (qui devait être passé en paramètre) peut être que tu as changé son nom ou son chemin et quil' ne le retrouve plus... ça reste assez simple à corriger normalement...
Fadest (./11) :
[...]
Le fichier .pal sera inclus dans le source, alors que le fichier .obj sera ajouté à ton programme après compilation pour former le programme exécutable format BLL (autonome = programme + données). Personnellement, j'aime bien inclure tous mes objets dans une librairie, c'est plus facile pour la programmation.
Dans le répertoire OBJ, je crées donc un fichier batch que j'appelle MAKELIBR.BAT :del test.olb libr65 a test.olb fond.OBJ move test.olb ..
Il faut une ligne
libr65 a test.olb fond.OBJ
par objet à inclure dans la librairie
C'est brute comme méthode vu que ça regénère la librairie à chaque fois qu'on le veut (même si on vient de changer 1 seul objet)
Le nom de la librairie doit être celui du dossier (donc test.olb dans notre exemple).
Exécutes ce batch, ça te créeras la librairie au bon endroit
[...]
vince (./178) :pour obtenir test.o, la présence du fichier test.olb est indispensable, sinon il y a un message d'erreur sous MS_DOS : Can't open 'test.olb'
d'un autre coté, il n'est pas forcément indispensable... le message d'erreur t'indique qu'un fichier nommé test.olb n'a pas été trouvé mais c'est surtout d'un fichier obj dont tu vas avoir besoin pour le link... le fichier olb va contenir des données supplémentaire si il y en a
cls
set PATH=c:\lynx\newcc65\bin
cd "%1"
cc65 -Ic:\lynx\newcc65\include\ "%1.c"
xopt "%1.m65"
ra65 "%1.m65" -o "c:\lynx\Projet_1\%1\%1.obj"
del "%1.m65"
link65 "%1.obj" "%1.olb" "c:\lynx\newcc65\lib\c.olb" "c:\lynx\newcc65\lib\lynx.olb" -o "..\%1.o"
del "%1.obj"
cd ..