Page 5 sur 21

Re: Développer sur PC Engine en 2018 ?

Publié : lun. 13 août 2018 16:53
par touko
Merci je vais voir ça :wink:
EDIT: il manque les fichiers dans gfxs(y'a que les bmp,et sur GIT aussi) et snginit.c

// wait key released
while ( (tchpad & (sp_FIRE|sp_START)) != 0) { joyfunc(); vsync(1);
Normalement tu n'as pas à te soucier si le joueur a lâché le bouton, tu as la variable joytrg pour ça,contrairement à joy .

#define fade_out fade_palette_out( BG_PAL0, 4, SPR_PAL0, 2 , 1 ) , astucieux, mais chui pas certain que ça marche à tout les coup :P

EDIT2: j'ai réussi a compiler, mais la rom ne semble plus être la même que celle que tu m'as envoyée, j'ai une musique d'intro, et au lieu de passer de l'écran mojon twin à la vache, j'ai l'écran uwol press bouton.

EDIT3: je confirme c'est bien le redefine de fonctions qui merde .

J'ai supprimer le define fade_out,et utilisé cette fonction:

Code : Tout sélectionner

void fade_palette_out( unsigned int _bg_pal_deb, unsigned char _nb_bg_pals, unsigned int _spr_pal_deb, unsigned char _nb_spr_pals , unsigned char _speed )
{	
	bg_pal_deb = _bg_pal_deb;
	nb_bg_pals = _nb_bg_pals;
	spr_pal_deb = _spr_pal_deb;	
	nb_spr_pals = _nb_spr_pals;
	speed = _speed;
	
	#asm	 
			lda 	#7
			sta 	_fin_fade
		
		.start_fade:
			lda		_nb_spr_pals			
			and		#%0000_1111
			sta		_nb_spr_pals		
			
			lda		_bg_pal_deb			
			sta		$402								; // Séléction de la palette dans le VCE
			sta		<__ax			
			
			lda		_bg_pal_deb + 1
			sta		$403								
			sta		<__ax + 1			
			
			lda		_speed
			jsr		wait_vsync
			
		; // Si nb_bg_pals = 0 on passe à celles des sprites
			lda		_nb_bg_pals
			beq		.init_spr_fade_pals
			sta		<__cl	
	
		.init_fade:						
			clx
			
		.palette_fade:				
			ldy 	$404		
			tya											; // Récupère la composante BLEU 1
			
			and		#%0000_0111			
			beq		.pas_dec_blue		 
			dec		A			
								
		  .pas_dec_blue:
			sta		<__bl
			
			tya
			and		#%0011_1000							; // Récupère la composante ROUGE 1
			beq		.pas_dec_red		
			sec
			sbc		#8			
			
		  .pas_dec_red:
			sta		<__bh
			
			lda		$405								; // Lecture du bit 9 dans le VCE		
			lsr		A									; // Mise du bit 9 dans la carry
						
			tya			
			and		#%1100_0000							; // Récupère la composante VERTE 1			
			ror		A									; // Récupération du bit 9 dans REG A
			beq		.end_fade							
			sec
			sbc		#32			 		
			asl		A									; // Remise du bit 9 dans la carry
					
		  .end_fade:									; // Dans REG A on a déjà la val de _g
		  	rol		_pals + 1 , X 						; // Récupération du bit 9 dans la palette provisoire				 
		; // On reforme la couleur avec les 3 vals RVB
			ora 	<__bl												
			ora 	<__bh
			sta 	_pals , X			
		
			inx			
			inx			
			
		; // On teste si fin de palette X = 32
			cpx		#32
			bne		.palette_fade						; // 85 cycles max par boucle .
			
		; // On met en place la palette courante
			stw		<__ax , $402						; // Séléction de la palette dans le VCE
			tia		_pals , $404 , 32					; // Copie la palette courante dans le VCE
			
			addw	#16 , <__ax
			
			dec		<__cl
			bne  		.init_fade
			
		   .init_spr_fade_pals:
		; // Gestion du fade des palettes des sprites		
			lda		_nb_spr_pals			
			beq		.pas_fade_spr_pals
			bmi		.pas_fade_spr_pals
			sta		<__cl
			
			ora		#128
			sta		_nb_spr_pals	
			
			lda		_spr_pal_deb
			sta		$402								; // Séléction de la palette dans le VCE
			sta		<__ax			
			
			lda		_spr_pal_deb + 1
			sta		$403								
			sta		<__ax + 1		
			
			jmp		.init_fade							; // On relance le fade des pals des sprites
			
		   .pas_fade_spr_pals:			
			dec 	_fin_fade
			lbne  		.start_fade			
	#endasm	
}
Et ça pour l'appeler lors des fades de tes images d'intros:
fade_palette_out( BG_PAL0, 1, SPR_PAL0, 0 , 1 );

Tout est niquel du coup

Re: Développer sur PC Engine en 2018 ?

Publié : mar. 14 août 2018 05:52
par alekmaul
ok, super de voir que tu as recompilé sans pb.
Pour le define, merci huc si effectivement cela ne fonctionne pas ...
Je vais tester dans la journée sans le define. Je verrai si j'ai les mêmes soucis de transitions (un peu capricieux quand même HUC ...).

Sinon, sous bmp, il ne manque pas de fichiers, le makefile fait tout, il créé aussi le sngInit.c (y'a juste un soucis après la création de sngInit, il faut relancer le makefile pour terminer la compilation, j'ai pas eu le temps pour l'instant de régler le pb). C'est pour cela que j'ai mis le répertoire tools avec 2 exe pour les bmp et le son.

*EDIT* testé sans le define et cela fonctionne ... le soucis venait bien de là.

Re: Développer sur PC Engine en 2018 ?

Publié : mar. 14 août 2018 09:08
par pnauts
En tout cas ça fait plaisir de revoir du monde s'investir, les développeurs PCE étant moins représentés j'espère que ça laissera augurer de belles choses, ne serait-ce que des trads.
:bomberhi:

Re: Développer sur PC Engine en 2018 ?

Publié : mar. 14 août 2018 09:27
par touko
@alek: cool que ça marche :wink:
Pour les fichiers gfx,map,pal j'ai reconnu l'outil d'orion, donc je les ai facilement refait, et le snginit j'en ai récupéré un sur la version 3.0 de squirrel :mrgreen:

Juste une dernière modif pour corriger un petit bug(rare), il faut deplacer:
rol _pals + 1 , X juste après le label .end_fade: ça supprime le bug de la couleur verte en fin de fade qu'il peut y avoir des fois .

Je l'ai modifié dans la copie de la fonction plus haut, et j'ai du coup supprimé aussi le disp_off+vsync à la fin,ça permettra de faire un fade du Bg par exemple en gardant les sprites pour donner un effet par exemple, libre au codeur de faire un disp_off ou pas ..

@pnauts: ouai c'est cool de voir des personnes comme alekmaul s'intéresser à la machine,et il a de supers jeux à adapter dessus .

Re: Développer sur PC Engine en 2018 ?

Publié : mar. 14 août 2018 17:08
par franz
pnauts a écrit : mar. 14 août 2018 09:08 ne serait-ce que des trads.
OUIIIIIIIIIIIIIIIIIIII !!!!
Tellement de merveilles encore non traduites sur cette fabuleuse console!
Allez voir le topic dédié!

Re: Développer sur PC Engine en 2018 ?

Publié : jeu. 30 août 2018 09:06
par touko
Juste une version bien plus rapide de set_dark au cas où :wink:

Code : Tout sélectionner

void set_dark() 
{
	#asm
		stw		#BG_PAL1 , $402							; // Init du VCE sur palette 0 du BG
		stw		#BG_PAL1 , <__ax		
		stb		#4 , <__cl
		
	; // Mise à 0 de la palette provisoire .
		stz		_pals
		tii		_pals , _pals + 1 , 31
		
		lda		#1
		sta		_nb_spr_pals
		
		lda		#2
		jsr		wait_vsync		
		
	  .init_colors_black:	   
	; // BG & SPR
	
		clx		
	  .init_pal:			
		ldy 	$404
		lda		$405								; // Lecture du bit 9 dans le VCE		
		lsr		A									; // Mise du bit 9 dans la carry
		
		tya
		ror		A		
		asl		A
		and		#%0100_1001
		
	; // On reforme la couleur avec les 3 vals RVB, bit 9 du VERT 
	; // est tjrs = 0
		sta 	_pals , X	
				
		inx
		inx
		
	; // On teste si fin de palette X = 32
		cpx		#32
		bne		.init_pal
		
	; // On met en place la palette courante
		stw		<__ax , $402						; // Séléction de la palette dans le VCE
		tia		_pals , $404 , 32					; // Copie palette courante dans le VCE
			
		addw	#16 , <__ax
		
		dec		<__cl
		bne		.init_colors_black
		
	; // On assombri la palette des sprites
		lda		_nb_spr_pals			
		beq		.pas_black_spr_pals
		bmi		.pas_black_spr_pals
		sta		<__cl
			
		ora		#128
		sta		_nb_spr_pals	
			
		lda		LOW_BYTE #SPR_PAL0		;_spr_pal_deb
		sta		$402								; // Séléction de la palette dans le VCE
		sta		<__ax			
			
		lda		HIGH_BYTE #SPR_PAL0   ;_spr_pal_deb
		sta		$403								
		sta		<__ax + 1		
			
		bra		.init_colors_black					; // On relance le fade des pals des sprites
	
	  .pas_black_spr_pals:
	#endasm
}

Re: Développer sur PC Engine en 2018 ?

Publié : jeu. 30 août 2018 19:14
par alekmaul
Merci chef ;) !

Re: Développer sur PC Engine en 2020 ?

Publié : dim. 17 mai 2020 07:46
par Necfan
Du coté de la PC Engine c'est étrange qu'il existe peu de homebrew et peu de traduction on va dire le meilleur est pour la fin, enfin espérons ...

Re: Développer sur PC Engine en 2020 ?

Publié : dim. 17 mai 2020 15:31
par franz
Oui c'est vrai qu'en homebrew c'est quasi le désert.
Par contre en traduction, y'a de quoi faire pour un type qui découvre la PCE!
Rien qu'avec Bubblegum Crash, Valkyrie et Maison Ikkoku, il y a de quoi faire!
Ce que je trouve dommage, c'est que des genres entiers sont délaissés, alors qu'ils font parti de l'ADN de la console, de ce qui fait sa spécificité toute japonaise. Je pense en particulier aux RPGs et action- RPGs, qui restent intéressants pour nous, occidentaux, ce qui n'est pas forcément le cas des jeux de Sahngaï, de Pachinko, des digicos...

Re: Développer sur PC Engine en 2020 ?

Publié : jeu. 18 juin 2020 18:27
par Hibou59300
Petite question pour les fous de programmation qui fréquentent ce forum. Je me lancerais bien dans le coding sur PCE qui est quand même une superbe plateforme pour ça.
Pour commencer en douceur j'aimerais d'abord faire du C, plus simple à appréhender que l'assembleur. Ma question est de savoir jusqu'où on peut aller sur PCE avec "juste" le C. Dit autrement, cela permet il déjà de faire des jeux sympas?

Re: Développer sur PC Engine en 2020 ?

Publié : mer. 24 juin 2020 09:55
par touko
Du coté de la PC Engine c'est étrange qu'il existe peu de homebrew et peu de traduction on va dire le meilleur est pour la fin, enfin espérons ...
Les problèmes du HB PCe sont multiples, pas de devkit C permettant de faire du hombrew de haut niveau, faut toujours de l'ASM quoi qu'il arrive,outils de dev limités (pas de driver son digne de ce nom) hucard trop complexes à faire de façon industrielle, scène réduite, et prix exorbitant du hardware .
La MD est clairement la mieux lotie, mais c'est grâce surtout à son devkit .
Ma question est de savoir jusqu'où on peut aller sur PCE avec "juste" le C. Dit autrement, cela permet il déjà de faire des jeux sympas?
Tu peux tout faire, cependant tu seras limité par la taille 1 Mo et le C consomme plus de place,le nombre de sprites/effets à l'écran, et les possibilités que Huc(le compilo C) n'offre pas,les perfs en C avec les 65xxx ne sont pas fameuses et en plus le devkit est peu optimisé .
Par contre très bon point pour lui, insérer de l'ASM est un jeu d'enfant,donc très simple de faire une transition douce .
Dommage que xav ne vienne plus, lui il faisait bcp de belles choses en C .

L'ideal est de se familiariser avec la console grâce au C, et d'utiliser petit à petit de l'ASM,c'est dans cet optique que huc a été crée à la base .

Re: Développer sur PC Engine en 2020 ?

Publié : sam. 27 juin 2020 18:06
par Hibou59300
Merci pour ta réponse. Du coup la philosophie de Huc me convient parfaitement. Y'a plus qu'à tester des trucs simples pour commencer.

Re: Développer sur PC Engine en 2020 ?

Publié : lun. 29 juin 2020 15:03
par touko
Oui faut commencer par les bases, huc est très simple d'accès, et si tu as quelques connaissances, tu progresseras vite .
De plus faut pas hésiter à demander de l'aide,si on peut t'éviter de perdre du temps à chercher des réponses :bomberjob:

Re: Développer sur PC Engine en 2020 ?

Publié : jeu. 02 juil. 2020 21:04
par Hibou59300
Bien aimable mon brave :bomberjob: . Alors j'ai une première question. Y a-t-il un lien qui liste les éléments de la syntaxe ? Je me souviens avoir vu une sorte de wiki en anglais mais je ne parviens pas à le retrouver.

Re: Développer sur PC Engine en 2020 ?

Publié : ven. 03 juil. 2020 18:55
par touko