Développer sur PC Engine en 2026 ?

Le coin des demomakers et des programmeurs en herbe.

Modérateurs : SirG, Redfield1, shubibiman, Laucops

Répondre
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Développer sur PC Engine en 2018 ?

Message 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
Dernière modification par touko le mar. 14 août 2018 09:28, modifié 1 fois.
alekmaul
Please Insert Disc!
Messages : 49
Inscription : dim. 15 juil. 2018 10:27

Re: Développer sur PC Engine en 2018 ?

Message 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à.
Avatar de l’utilisateur
pnauts
NECromancer
Messages : 4996
Inscription : ven. 03 mai 2013 14:05
Localisation : pas loin de Nîmes.

Re: Développer sur PC Engine en 2018 ?

Message 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:
Image
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Développer sur PC Engine en 2018 ?

Message 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 .
Avatar de l’utilisateur
franz
NECromancer
Messages : 4156
Inscription : jeu. 26 janv. 2006 09:33
Localisation : Montpellier

Re: Développer sur PC Engine en 2018 ?

Message 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é!
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Développer sur PC Engine en 2018 ?

Message 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
}
alekmaul
Please Insert Disc!
Messages : 49
Inscription : dim. 15 juil. 2018 10:27

Re: Développer sur PC Engine en 2018 ?

Message par alekmaul »

Merci chef ;) !
Avatar de l’utilisateur
Necfan
Push Run Button!
Messages : 68
Inscription : mar. 12 mai 2020 17:24

Re: Développer sur PC Engine en 2020 ?

Message 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 ...
Avatar de l’utilisateur
franz
NECromancer
Messages : 4156
Inscription : jeu. 26 janv. 2006 09:33
Localisation : Montpellier

Re: Développer sur PC Engine en 2020 ?

Message 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...
Hibou59300
Push Run Button!
Messages : 52
Inscription : dim. 15 avr. 2018 10:20

Re: Développer sur PC Engine en 2020 ?

Message 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?
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Développer sur PC Engine en 2020 ?

Message 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 .
Hibou59300
Push Run Button!
Messages : 52
Inscription : dim. 15 avr. 2018 10:20

Re: Développer sur PC Engine en 2020 ?

Message 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.
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Développer sur PC Engine en 2020 ?

Message 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:
Hibou59300
Push Run Button!
Messages : 52
Inscription : dim. 15 avr. 2018 10:20

Re: Développer sur PC Engine en 2020 ?

Message 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.
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Développer sur PC Engine en 2020 ?

Message par touko »

Répondre