Cheksum Rom bell games

Aide, Dépannage, pour les flippers numérique ou alpha-numérique (lettre + chiffre)

Flipper concerné :

Si necessaire, merci de proposer un flipper en relation avec ce sujet.
Avatar du membre
Pet
Dept: 33
Rech/Achete: 0 flip
Messages : 2599
Enregistré le : 05/01/2010
Pas vu depuis 3 mois
Niveau : Expert
Pro / revendeur : non
Localisation : Léognan

Cheksum Rom bell games

Message par Pet » sam. 16 05, 2020 21:13

Deuxième fois que je me fait avoir par les roms bell games.

Le problème :
Le premier flash des roms bally corespond au checksum de la rom
Bell games a modifié la rom et en checksum a mis $5A5A a une certaine adresse ce qui veux dire pour bally n effectue pas le checksum
Donc si votre eprom est pourrit ou surtout comme moi si elle est mal adressé vous aurez quand même les 7 flashs mais le programme plante

Solution :
Modifier les eproms et mettant le bon checksum et envoyer tout ca à IPDB

Je veux bien le faire mais ca risque d être long, je n ai plus mes outils d installés pour faire ce genre de chose depuis 2 -3 ans.. (nouvelle machine)
Si une ame charitable qui a les connaissances et les outils pour le faire veux bien s y mettre ca serait :-%:

Sinon je le place sous la pile des trucs à faire.

Des faignasses ches Bell Games
Modifié en dernier par Pet le dim. 17 05, 2020 07:51, modifié 1 fois.
Un clavier AZERTY en vaut deux

Avatar du membre
lioevry
Dept: 91
Rech/Achete: 0 flip
aimable donateur
Messages : 2195
Enregistré le : 11/08/2015
Niveau : Confirmé
Pro / revendeur : non
Localisation : essonne 91130

Re: Cheksum Rom bell games

Message par lioevry » sam. 16 05, 2020 23:10

lorsque je retourne au boulot si tu me donne le fichier et le type d'EEprom je peux te faire ça
j'ai un PC avec un "SPRINT" d'époque encore fonctionnel
donc je peux éditer le contenu et le changer

L.P
si tu flippes ... le Flipper reste ton plus fidèle partenaire!
http://www.pinballowners.com/lioevry

Avatar du membre
Pet
Dept: 33
Rech/Achete: 0 flip
Messages : 2599
Enregistré le : 05/01/2010
Pas vu depuis 3 mois
Niveau : Expert
Pro / revendeur : non
Localisation : Léognan

Re: Cheksum Rom bell games

Message par Pet » dim. 17 05, 2020 07:58

Le souci c est de calculer le vrai checksum

Donc pour cela moi j utilisais pindebug (pinmame) qui permet de visualiser le 6800 et de l arréter au bon moment pour voir la valeur à modifier.
C est au debut du programme il faut mettre un point d arrêt lire la valeur de x et la placer a la bonne adresse (la c est pour un spectrum l adresse c est 5061 et la valeur je ne l ai pas sous la main)


Code : Tout sélectionner

;**********************************************************						
;        	Test avant démarrage 						
;		sur Bally 2835-17/35				
;**********************************************************						
		org $5A5E ; exemple pour U6 spectrum						
		sei  		; Désactiver interuptions				
						
;**********************************************************						
;              Initialisation						
;**********************************************************						
		lda  #$30	; eteindre 			
		sta  $91	; LED			
		ldx  #$55F0	; 88ms				
tpo1:		dex  		;		
		bne  tpo1	; tempo			
						
;**********************************************************						
;              TEST ROM						
;		@5061 == $5a5a ==> debug				
;**********************************************************						
		ldx  $5061  	; si @5061 					
		cmpx #$5A5A	; = $5A5A					
		beq  fint	; alors pas de test rom					
		
		ldx  #$6000	; Test jusqua @6000			
						
debt:		clra 						
		lds  #$0400	; par bloc de 400 (bi-octet)					
						
lop0:		dex  		; 				
		adda (x+$00)	;		
		des  		;				
		sts  $00	;					
		bne  lop0	;					
						
		coma 		;				
dead:		bne  dead	; Test Nok ==> dead					
						
		cmpx #$1000	; si @$1000					
		beq  fint	; alors fin				
						
		cmpx #$5000	; si @5000					
		bne  debt	; on continu pour 400				
						
		ldx  $5061	; si Result = @$5061				***point d arrêt ici***
		beq  fint	; alors Test Ok ==> fin					
						
		bra  debt	;					
						
fint:		lds  #$007F  	; initialisation de la pile						
tst1:		bsr  L_01 	; Test OK ==> Led
	

........
_________PLUS LOIN__________
........

Code : Tout sélectionner

				
;**********************************************************						
; Routine : LED ON 120ms OFF 88ms						
;**********************************************************						
L_01:		lda  #$38	; Led On					
		sta  $91	; PIA					
		ldx  #$7530	; 120ms			
tpo2:		dex  						
		bne  tpo2	; Tempo					
		lda  #$30	; Led Off					
		sta  $91	; PIA					
		ldx  #$55F0	; 88ms			
tpo3:		dex  						
		bne  tpo3	; Tempo					
		rts  						
						
Un clavier AZERTY en vaut deux

Avatar du membre
lioevry
Dept: 91
Rech/Achete: 0 flip
aimable donateur
Messages : 2195
Enregistré le : 11/08/2015
Niveau : Confirmé
Pro / revendeur : non
Localisation : essonne 91130

Re: Cheksum Rom bell games

Message par lioevry » dim. 17 05, 2020 12:12

OK je vois un peu plus compliqué...trois solutions;
soit un vrai émulateur sur une carte CPU existante soit une simulation soit encore calculer le checksum via le logiciel "Sprint" en lui donnant l'adresse début et fin
(si le calcul c'est un XOR entre chaque octet?) mon assembleur est loin... :|(: dis-moi ce que fait le programme?
je ne connais pas PinMame mais on voit que ça semble toujours actif http://www.emu-france.com/emulateurs/12 ... 8-pinmame/
il faut apprendre a y charger un contenu EPROM et lancer l"émulateur
ça a l'air sympa en tout cas...

L.P
si tu flippes ... le Flipper reste ton plus fidèle partenaire!
http://www.pinballowners.com/lioevry

Avatar du membre
flip78
Dept: 78
Rech/Achete: 0 flip
Messages : 1709
Enregistré le : 26/05/2008
Niveau : Expert
Localisation : Verneuil sur Seine
Contact :

Re: Cheksum Rom bell games

Message par flip78 » sam. 23 05, 2020 00:21

Mon checksum calculator a bien avancé !

Le calcul se fait par blocs, comme le programme de vérification en fait !
Un peu tordu, mais explicable à cause des variantes de capacité d'eproms à traiter, pas un simple calcul sur la totalité de l'eprom cela aurait été trop simple !

Je découvre l'univers BALLY, je pensais que U6 était toujours identique (BIOS+Fonctions) et U2 variable (Game), mais en fait non il y a eu plusieurs versions. (Et pas seulement 6 et 7 digits comme GOTTLIEB pour U2/U3 ou U2A/U3A).

Pour info la valeur est placée en $5061 dans le SPECTRUM = 2000
et en $5051 dans le XENON = 2000.

J'ai remarqué que sur TIGER RAG c'est bon les checksums internes sont bons, et il n'y a pas 5A5A mais 26FC, donc le programme va vérifier les checksums.

Par contre pour le space hawk il n'y a plus du tout la même routine, c'est complètement différent !
(La je ne sais pas calculer le checksum !)

Quelle eprom de BELL GAMES pose un problème ?
Expert en flippers électroniques GOTTLIEB des SYS80 aux SYS3 :s1:

Hmm, Hmmm, Qu'a dit le monstre à trois têtes ? Ne vous mêlez pas de choses que vous ne comprenez pas. (IRON MAIDEN --- PIECE OF MIND)

Retrouvez nous également ici : http://www.flipprojets.fr/

Avatar du membre
Pet
Dept: 33
Rech/Achete: 0 flip
Messages : 2599
Enregistré le : 05/01/2010
Pas vu depuis 3 mois
Niveau : Expert
Pro / revendeur : non
Localisation : Léognan

Re: Cheksum Rom bell games

Message par Pet » sam. 23 05, 2020 08:52

Ben.....
Space hawk!
Le code n est pas (quasi) identique au cybernaut?
Un clavier AZERTY en vaut deux

Avatar du membre
flip78
Dept: 78
Rech/Achete: 0 flip
Messages : 1709
Enregistré le : 26/05/2008
Niveau : Expert
Localisation : Verneuil sur Seine
Contact :

Re: Cheksum Rom bell games

Message par flip78 » sam. 23 05, 2020 10:03

Le code comporte pas mal de différences que ce soit dans U2 ou dans U6.

Le problème dans le cas du SPACE HAWK, est que le "5A5A" n'est présent qu'une seule fois, pour la comparaison avec le CMPX.

En $5061 il y a bien la valeur $2000, (Comme SPECTRUM et CYBERNAUT), donc c'est tout bon autoriser le test du checksum, mais qui en toute logique ne devrait plus être bon.
(Et effectivement les checksums sont faux)

Donc pourquoi passe t-il le test ? (Si en $5061 on avait $5A5A, ok la mais on a $2000 :#): )
Expert en flippers électroniques GOTTLIEB des SYS80 aux SYS3 :s1:

Hmm, Hmmm, Qu'a dit le monstre à trois têtes ? Ne vous mêlez pas de choses que vous ne comprenez pas. (IRON MAIDEN --- PIECE OF MIND)

Retrouvez nous également ici : http://www.flipprojets.fr/

Avatar du membre
Pet
Dept: 33
Rech/Achete: 0 flip
Messages : 2599
Enregistré le : 05/01/2010
Pas vu depuis 3 mois
Niveau : Expert
Pro / revendeur : non
Localisation : Léognan

Re: Cheksum Rom bell games

Message par Pet » sam. 23 05, 2020 12:47

Vu!... :idea:
Ils ont remplacés à l adresse

Code : Tout sélectionner

$5A81 $26FE
$5A81 : dead:		bne  dead	; Test Nok ==> dead 
Par

Code : Tout sélectionner

$5A81 $0101
$5A81 :		nop
$5A82:		nop 
::o:

Donc ne tiennent pas compte du résultat!
Un clavier AZERTY en vaut deux

Avatar du membre
flip78
Dept: 78
Rech/Achete: 0 flip
Messages : 1709
Enregistré le : 26/05/2008
Niveau : Expert
Localisation : Verneuil sur Seine
Contact :

Re: Cheksum Rom bell games

Message par flip78 » sam. 23 05, 2020 21:48

Bien vu !

Ils ont bricolé chez BELL GAMES !

J'espère qu'ils n'ont pas patché de code sur les adresses qui contiennent les checksums par bloc !
(Mettre du code quoi, car quand je vais corriger aux bonnes adresses, je ne suis sensé toucher que de la donnée ...)

Encore un peu de taf et cela fonctionnera ... Peut être !

On verra ce que cela donne
Expert en flippers électroniques GOTTLIEB des SYS80 aux SYS3 :s1:

Hmm, Hmmm, Qu'a dit le monstre à trois têtes ? Ne vous mêlez pas de choses que vous ne comprenez pas. (IRON MAIDEN --- PIECE OF MIND)

Retrouvez nous également ici : http://www.flipprojets.fr/

Avatar du membre
Pet
Dept: 33
Rech/Achete: 0 flip
Messages : 2599
Enregistré le : 05/01/2010
Pas vu depuis 3 mois
Niveau : Expert
Pro / revendeur : non
Localisation : Léognan

Re: Cheksum Rom bell games

Message par Pet » dim. 24 05, 2020 13:39

Un essai de l Eprom refaite par François et......Bon ben gagné!
Ils ont ecrit du code sur les cheksums (premier ou dernier octet de U1 U2 U5 U6) et dans les constantes ($5061)
Donc pas mal de choses à rebidouiller
C est vrai que l assembleur c est travailler avec trés peu de variable et de place .... tout dans la magouille :,):

Je reinstalle mes outils et me lance dans le Space Hawk.
Un clavier AZERTY en vaut deux

Répondre