1

Suite à l'AC2012 et à son concours de de coding, j'avais présenté un jeu Nyan Cat pour lynx.

Un Nyan Cat jouable où on contrôle le chat et où il faut attraper les étoiles quand elles explosent ; chaque étoile supplémentaire ajoute une couleur à l'arc-en-ciel, jusqu'à ce qu'il soit complet.
http://devlynx.ti-fr.com/AC2012/nyan.lnx
http://devlynx.ti-fr.com/AC2012/nyan_emu.avi


En bonus : la musique (exploitable avec la lib ABCmusic)
extern char nyan_main_droite[];
extern char nyan_main_gauche[];
extern char nyan_start[];
#asm
_nyan_start
            dc.b "O2X4I1V65T5R40H2K3" 
            dc.b "O2EFGzcFEFGcegagBcz GzEFGzc2dBcdfefcz"
            dc.b 0 

_nyan_main_droite
            dc.b "O2X4I1V65T5R40H2K3" 
            dc.b "|:G2A2=EE2D=EDC2C2D2"
            dc.b "=E2EDCDEGAEGDECDCE2G2AEGDEC=EE=EDCD=E2CDEGD=EDCD2C2D2"
            dc.b "G2A2=EE2D=EDC2C2D2=E2EDCDEGAEGDECDCE2G2AEGDEC=EE=EDCD"
            dc.b "=E2CDEGD=EDCD2C2C2C2O1GAc2GAcdecfefg c2c2GAcGfedcFEFG"
            dc.b "c2GAc2GAccdecGAGc2cBcGAcfefgc2B2c2GAc2GAcdecfefg"
            dc.b "c2c2GAcfedcFFc2GAc2GAccdecGAGc2cBcGAcfefgc2d2"
            dc.b ":"
            dc.b 0 
_nyan_main_gauche
            dc.b "O4X4I1V65T5R40H2K3" 
            dc.b "|:"
            dc.b "F2f2G2g2E2e2A2a2D2d2G2g2CcC2D2E2"
            dc.b ":"
            dc.b 0 
#endasm


et pour l'appeler, il suffit de se contenter d'un
abcmusic(0,nyan_start); //l'intro
  for(i=0;i<340;i++) Vsync();
  silence(); 
  abcmusic(0,nyan_main_droite);
  abcmusic(1,nyan_main_gauche);
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

2

Tiens! j'ai déjà vu cette animation...Mais où?

3

Ici ?



#trigangnam#
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

4

La musique, c'est Fadest qui l'a composé ?


(Je sais elle est facile celle la mais par principe je pouvais pas la laisser passer.... smile )



GT Pas musicien chante



avatar
Accrochez vous ca va être Cerebral !!

5

Ta version est inventive. top
avatar
Travaux, concept of proof, divers :
Megadrive
topics/172-143753-moved-juju-densetsu
Lynx
sections/255-developpeurs-lynx

6

Finalement, je release le source dans son intégralité : http://devlynx.ti-fr.com/AC2012/nyan.c

N'en faites pas de mal (par exemple, ne le releasez pas sur cartouche sans mon autorisation... suivez mon regard)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

7

(malheureusement, ceux qui font ce genre de trucs ne sont pas du genre à respecter les demandes polies...)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

8

(je sais, mais ils ne pourront pas se réfugier derrière un "t'avais pas précisé")
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

9

(pour ce qui est arrivé à Fadest, il me semble qu'il l'avait dit très clairement dans ses releases notes, et ça n'a rien empêché... sad)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

10

(ouais mais moi, je connais des dockers rugbymen grin)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

11

(ah ben voilà un argument convaincant tongue)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

12

C'est la première fois que je vois comment tu code, c'est émouvant. C'est très propre, je suis même admiratif. smile

Tu as intégré tout les images en data ? Tu procède toujours ainsi, et si oui, pourquoi ?
avatar
Travaux, concept of proof, divers :
Megadrive
topics/172-143753-moved-juju-densetsu
Lynx
sections/255-developpeurs-lynx

13

Les splashs screens sont externes.

J'inclus mes sprites en data parce que je les saisis avec notepad ^^
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

14

Merci pour ce code vince.

Je vais passer pour un con mais j'aurais deux questions :
1 j'avais pas fais gaffe avant mais la pause et le bouton A ce déclare de la même façon :
#define BUTTON_OUTER 0x01
#define BUTTON_PAUSE 0x01

Comment la console s'y retrouve ?


2 C'est quoi ces énormes pavés ???:

35,0x11,0x11,0x00,0x00,0x11,0x11,0x00,0x00,0x11,0x11,0x00,0x00,0x11,0x11,0x00,0x00,0x11,0x11,0x00,0x00,0x11,0x11,0x00,0x00,0x11,0x11,0x00,0x00,0x11,0x11,0x00,0x00,0x11,0x11,
35,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
35,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
35,0x22,0x22,0x11,0x11,0x22,0x22,0x11,0x11,0x22,0x22,0x11,0x11,0x22,0x22,0x11,0x11,0x22,0x22,0x11,0x11,0x22,0x22,0x11,0x11,0x22,0x22,0x11,0x11,0x22,0x22,0x11,0x11,0x22,0x22,
35,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
35,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
35,0x33,0x33,0x22,0x22,0x33,0x33,0x22,0x22,0x33,0x33,0x22,0x22,0x33,0x33,0x22,0x22,0x33,0x33,0x22,0x22,0x33,0x33,0x22,0x22,0x33,0x33,0x22,0x22,0x33,0x33,0x22,0x22,0x33,0x33,
35,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
35,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
35,0x44,0x44,0x33,0x33,0x44,0x44,0x33,0x33,0x44,0x44,0x33,0x33,0x44,0x44,0x33,0x33,0x44,0x44,0x33,0x33,0x44,0x44,0x33,0x33,0x44,0x44,0x33,0x33,0x44,0x44,0x33,0x33,0x44,0x44,
35,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
35,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
35,0x55,0x55,0x44,0x44,0x55,0x55,0x44,0x44,0x55,0x55,0x44,0x44,0x55,0x55,0x44,0x44,0x55,0x55,0x44,0x44,0x55,0x55,0x44,0x44,0x55,0x55,0x44,0x44,0x55,0x55,0x44,0x44,0x55,0x55,
35,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
35,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
35,0x66,0x66,0x55,0x55,0x66,0x66,0x55,0x55,0x66,0x66,0x55,0x55,0x66,0x66,0x55,0x55,0x66,0x66,0x55,0x55,0x66,0x66,0x55,0x55,0x66,0x66,0x55,0x55,0x66,0x66,0x55,0x55,0x66,0x66,
35,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
35,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
35,0x00,0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,0x00,
Mon site sur la LYNX :ZoneLynx

15

Vince> Le compilo n'implémente pas correctement le switch ?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

16

1) Ce n'est pas la même adresse mémoire qui est lue, donc on testera la même valeur, mais à deux endroits différents. Les boutons sont dans le registre JOYSTICK alors que pause est dans SWITCHES

2) Les pavés, ce sont les sprites, celui là c'est la queue arc-en-ciel du chat
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

17

joli code.

6; } else { SCBDATA(SCB_STAR) = spr_etoile1; } } } } } }
Sinon que penses tu des différences (par ex. pour la lisibilité ou de l'asm généré) entre 	if(val == 0){
		SCBDATA(SCB_STAR) = spr_etoile1; 
	} else {
		if(val == 1){
			SCBDATA(SCB_STAR) = spr_etoile2; 
		} else {
			if(val == 2){
				SCBDATA(SCB_STAR) = spr_etoile3; 
			} else {
				if(val == 3){
					SCBDATA(SCB_STAR) = spr_etoile4; 
				} else {
					if(val == 4){
						SCBDATA(SCB_STAR) = spr_etoile5; 
					} else {
						if(val == 5){
							SCBDATA(SCB_STAR) = spr_etoile
}
 et 
	if(val == 0){
		SCBDATA(SCB_STAR) = spr_etoile1; 
	} else if(val == 1){
		SCBDATA(SCB_STAR) = spr_etoile2; 
	} else if(val == 2){
		SCBDATA(SCB_STAR) = spr_etoile3; 
	} else if(val == 3){
		SCBDATA(SCB_STAR) = spr_etoile4; 
	} else if(val == 4){
		SCBDATA(SCB_STAR) = spr_etoile5; 
	} else if(val == 5){
		SCBDATA(SCB_STAR) = spr_etoile6;
	} else {
		SCBDATA(SCB_STAR) = spr_etoile1;

?

18

(façon plus élégante de lui demander si le compilo ne gère pas le switch en effet ^^)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

19

bah c'est pas un switch, c'est juste le retrait d'accolades dans les else embarrassed

20

En fait je pensais à un autre bout de code où il a fait pareil avec un modulo 7 je crois.
Mais ouais je me demande si c'est un genre de compilo "fiable", ou une bidouille comme j'avais essayé sur Game Boy (où te retrouvais à devoir faire des lignes n'ayant pas plus d'effet qu'une ligne d'ASM sous peine de gros bugs).
Syntaxiquement la construction est équivalente en tous cas (le else if c'est un else suivi d'une seule instruction if), mais les compilos ne le traitent pas tous de la même manière.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

21

Je sais pas pour les switch(), mais le compilo Lynx est très, très rustique (il ne supporte même pas la syntaxe K&R...).
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

22

le elseif n'est pas géré, et le switch est mal optimisé...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

23

elseif? mais c'est juste que l'instruction qui suit else est un if*, il gère même pas ça? ok, bon, je critique pas, c'est déja bien d'avoir un compilo.

quel cpu par curiosité?

(*c'est comme quand on écrit for(i=0;i<10;i++) toto(); )

24

c'est un 65c02 à peu près standard mais y'a un copro à coté aussi
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

25

accessible par registres?

c'est lui que t'utilises? http://www.cc65.org/

26

une de ses anciennes versions modifiées (il s'appelle newcc65 à tort vu qu'il est plus vieux que les dernières versions de cc65)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

27

et j'imagine que pour des raisons techniques obscures les nouvelles versions sont inutilisables sorry

Pas évident, je vois aussi mention d'un produit 'Aztec' mais pas grand chose d'autre.

28

En fait, j'ai un compilo qui marche à peu près, je sais que comme ci, ça marche alors que ça déconne en faisant comme ça, donc je fais comme ci et je ne me pose pas de questions.

On rejoint une fois de plus ma volonté habituelle de non release. Là c'est parce que quelqu'un me l'a demandé (sur AtariAge) en privé que je me suis dit que plutôt de 'lenvoyer à une personne je pourrai en faire profiter tout le monde... Je ne suis jamais parvenu à faire une release sans que mon travail soit aussitôt critiqué... sorry
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

29

je ne t'ai pas critiqué, ne le prends pas mal.

Tout le mérite est d'avoir réussi à faire une démo sympa.

Je pose juste des questions de noob parce que j'ai pas l'habitude, ni la connaissance, des techniques de programmation sur cette machine.

loin de moi l'idée de critiquer quoi que ce soit. J'espère que d'autres personnes ne se permettent pas des commentaires encore plus déplacés que les miens.

30

Désolé, je demandais comme ça, je me doutais que ça devait être à cause du compilo (cf. mon précédent message). Si tu y vois une critique pète un coup, ça ira mieux.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741