GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

comment programmer des sprites sur msx en assembleur ( resolu )

2 participants

Aller en bas

comment programmer des sprites sur msx en assembleur ( resolu ) Empty comment programmer des sprites sur msx en assembleur ( resolu )

Message par rendomizer Mar 11 Aoû 2020 - 16:19

facebook msx page
Voir la demo en ligne sur l'éditeur/émulateur du msx si dessous.
https://msxpen.com/?code=-MEOWC47p49XBipJthNJ&fbclid=IwAR04p78y-aoBzLtWsbPIPoLnwijTuj5pN5_n8Arhaw9VYhj-iTMHewwQVaM

Pour le vrai msx aussi il y a le lien si dessous. Il faut les passer par msx2cas sur votre tablet ou telephone: lien si dessous.
application qui remplace le magnetophone
download programme + sources


comment programmer des sprites sur msx en assembleur ( resolu ) Capture%20d%E2%80%99%C3%A9cran%20de%202020-08-11%2008-55-36
comment programmer des sprites sur msx en assembleur ( resolu ) Capture%20d%E2%80%99%C3%A9cran%20de%202020-08-11%2006-06-51



org $c000
ld a,$02; screen mode 2
call $005F
ld b,$c2; sprite 16x16
ld c,$01; register 1
call $0047
debut:


ld hl,$1B00
ld (tas),hl
ld hl,$3800
ld (pixel),hl
ld bc, message
mainLoop:

ld a,(bc);stock
ld hl, (pixel); 1 octet
call $004d
inc hl
ld (pixel),hl; build sprites
ld a, (bc)
cp 254
jp z,move
inc bc
jp mainLoop


message:;sprite 1
db %10101010
db %10101010
db %10101010
db %10101010
db %10101010
db %10101010
db %10101010
db %10101010
db %11111111
db %00000000
db %11111111
db %00000000
db %11111111
db %00000000
db %11111111
db %00000000
db %11111111
db %10000001
db %10000001
db %10000001
db %10000001
db %10000001
db %10000001
db %11111111
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
;sprite 2
db %01010101
db %01010101
db %01010101
db %01010101
db %01010101
db %01010101
db %01010101
db %01010101

db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %01111110
db %01111110
db %01111110
db %01111110
db %01111110
db %01111110
db %00000000
db %11111111
db %10000001
db %10000001
db %10000001
db %10000001
db %10000001
db %10000001
db %11111111
;sprite 3
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
;sprite 4
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
move:
ld hl,$1B00
ld (tas),hl
;-----------sprite 1----------
;1 er sprite
ld a,(y)
ld b,a
ld hl,(tas) ; locate y sprite 1
call $004d
inc hl
ld (tas),hl
ld a,(x)
inc a
ld (x),a
ld hl,(tas) ; locate x sprite 1
call $004d
inc hl
ld (tas),hl
ld a,0; nuber of sprite 1
ld hl,(tas) ; tgs sprite 1
call $004d
inc hl
ld (tas),hl
ld a,$0f
ld hl,(tas) ; color sprite 1
call $004d
inc hl
ld (tas),hl
;-----------sprite 2----------
;
ld a,(y)
ld hl,(tas) ; locate y sprite 2
call $004d
inc hl
ld (tas),hl
ld a,(x2)
inc a
ld (x2),a
ld hl,(tas) ; locate x sprite 2
call $004d
inc hl
ld (tas),hl
ld a,4; nuber of sprite 2
ld hl,(tas) ; tgs sprite 2
call $004d
inc hl
ld (tas),hl
ld a,$08
ld hl,(tas) ; color sprite 2
call $004d
inc hl
ld (tas),hl
;-----------sprite 3----------
;
ld a,(y)
ld hl,(tas) ; locate y sprite 3
call $004d
inc hl
ld (tas),hl
ld a,(x3)
inc a
ld (x3),a
ld hl,(tas) ; locate x sprite 3
call $004d
inc hl
ld (tas),hl
ld a,8; number of sprite 3
ld hl,(tas) ; tgs
call $004d
inc hl
ld (tas),hl
ld a,$0c
ld hl,(tas) ; color sprite 3
call $004d
inc hl
ld (tas),hl
;-----------sprite 4----------
;
ld a,(y4)
ld hl,(tas) ; locate y sprite 4
call $004d
inc hl
ld (tas),hl
ld a,(x4)
inc a
ld (x4),a
ld hl,(tas) ; locate x sprite 4
call $004d
inc hl
ld (tas),hl
ld a,12; number of sprite 4
ld hl,(tas) ; tgs
call $004d
inc hl
ld (tas),hl
ld a,$01
ld hl,(tas) ; color sprite 4
call $004d
inc hl
ld (tas),hl
; timer
ld de,(counter)
boucle:
inc de
ld (counter),de
ld a,d
or e
cp 255
jp z,suite
jr boucle
suite:
ld de,0
ld (counter),de
ld de,(counter2)
continue2:
inc de
ld (counter2),de
ld a,d
or e
cp 45
jp z,continue
jr boucle
continue:
ld de,0
ld (counter2),de
jp move



counter: dw $0000
counter2: dw $0000
tas: dw $0001
pixel: dw $0001

x: db 0
x2: db 0
x3: db 0
x4: db 0
y: db 16
y2: db 16
y3: db 16
y4: db 16


Dernière édition par rendomizer le Sam 15 Aoû 2020 - 8:39, édité 8 fois
rendomizer
rendomizer
Patient contaminé

Masculin Nombre de messages : 243
Age : 51
Localisation : montpellier
Date d'inscription : 19/04/2015

http://vg5000.webnode.fr/

Revenir en haut Aller en bas

comment programmer des sprites sur msx en assembleur ( resolu ) Empty Re: comment programmer des sprites sur msx en assembleur ( resolu )

Message par Invité Mar 11 Aoû 2020 - 16:41

N'oublie pas qu'il y'a la balise code sur ce fofo Wink

Sinon plus que le code , tu me fais découvrir qu'il y'a un émulateur en ligne du MSX , et qu'on peut écrire direct en ASM , belle découverte pour moi ^^
( on arrête pas le progrès Razz )


Dernière édition par Kannagi le Mar 11 Aoû 2020 - 16:57, édité 1 fois
avatar
Invité
Invité


Revenir en haut Aller en bas

comment programmer des sprites sur msx en assembleur ( resolu ) Empty Re: comment programmer des sprites sur msx en assembleur ( resolu )

Message par rendomizer Mar 11 Aoû 2020 - 16:55

le partage des connaissances Kannagi !
rendomizer
rendomizer
Patient contaminé

Masculin Nombre de messages : 243
Age : 51
Localisation : montpellier
Date d'inscription : 19/04/2015

http://vg5000.webnode.fr/

Revenir en haut Aller en bas

comment programmer des sprites sur msx en assembleur ( resolu ) Empty Re: comment programmer des sprites sur msx en assembleur ( resolu )

Message par legrand Mar 8 Déc 2020 - 17:19

Très intéressant, faut vraiment que je me trouve un MSX.
legrand
legrand
Patient en incubation

Masculin Nombre de messages : 10
Age : 40
Localisation : PARIS
Date d'inscription : 08/12/2020

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum