Salut et bienvenue,
Si je comprends bien, tu es plus orienté programmation assembleur que C ?
Pour les archives de yaronet, je ne sais pas trop...
Pour AOL,c'est un coup dur, c'est sur.
Tu devrais trouver pas mal d'infos sur les sites internationaux, en particulier allemand (je pense que quelques liens sont sur un autre topic ici).
en particulier sur AtariAge.
Sinon, tu peux jeter un oeil à ce truc que j'avais commencé et pas continué :
http://fadest.free.fr/spip
En assembleur, tu devrais moins souffrir qu'avec le C pour te faire un environnement de développement, mais attention, ce n'est pas le même programme pour compiler que l'assembleur du kit C.
Ensuite, les concepts de tout est sprite, de structures de sprites & co sont identiques en C et assembleur, donc une partie de ce topic pourra t'aider sur un point de vue théorique.
Tu dois utiliser lyxass et non ra65.
Pour SPRPCK, il ne faut plus utiliser l'option -p0 (qui génère les objets au format C)
SPRPCK -t6 image.bmp pour générer un objet sprite au format assembleur (format .spr)
Je te mets un exemple non fonctionnel (j'ai viré le pavé central qui en plus est très mal programmé en assembleur) pour te montrer un peu la phase init et comment afficher un sprite.
***************
* 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
ici, c'est la partie coupée, je fais mes tests de touches pour le menus, en particulier la gestion des tips pour les jeux cachés...
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"
Voilà, j'espère que ça pourra t'aider pour faire un premier programme.
derrière, si tu maitrises le 6502, ça devrait aller "vite".
Pour changer la coordonnée du sprite STAR, il suffit de faire
lda #80
sta STARX
lda #12
sta STARY
vu que les variables STARX et STARY sont déclarées au niveau du SCB de STAR
Il manque aussi la gestion des écrans logiques et de collision (plus dispensable) et je ne sais pas faire.
Malheureusement, comme tu peux le deviner, je ne suis pas expert en assembleur, j'ai réussià adapter un truc pour mes besoins pour le menu.
De plus, je pars en vacances, donc je devrais peu être présent d'ici le début 2009, mais j'espère que ça aura pu t'aider un peu.