MSX Village forum

La Place des Développeurs Questions sur les debuggers et l'assembleur z80

CRT Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 17/03/2018 à 12h50

Messages: 51

Le 02/04/2020 à 15h40
En fouillant dans les Disc Station , j'ai vu qu'il y a des bons jeux exclusif fait par Compile accessibles que par le menu , que j'aimerais bricolé une version standalone ...

Du coup j'ai lancé le debugger de BlueMSX , mais il y a pas de visualisation de la ram en temps réel ? (faut mettre l'emu en pause pour voir les valeurs en ram :fou )


edit: A quelles adresses en ram se voient les inputs du clavier et des joysticks ?
Edité par CRT Le 02/04/2020 à 19h53
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 02/04/2020 à 17h14
les inputs du clavier passent par le PPI et les Joysticks Par le PSG
as tu un bouquin qui explique l'architecture du MSX ?

2 liens pour t'aider
http://map.grauw.nl/resources/msx_io_ports.php
http://problemkaputt.de/portar.htm


:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 02/04/2020 à 17h19


:noel
Site web    
CRT Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 17/03/2018 à 12h50

Messages: 51

Le 02/04/2020 à 17h23
Je programme/hack sur des machines avec cpu 6502 et 65c816 en assembleur

Je voulais faire une petite routine en assembleur z80 pour voir un peu ce cpu

Je suis entrain de me renseigner depuis aujourd'hui sur le MSX et le Z80

Est-ce que dans OpenMSX on peut voir la ram en temps en reel?

je vais voir vos liens , merci
Edité par CRT Le 02/04/2020 à 17h29
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 02/04/2020 à 17h58
Le débugger de openMSX est plus compliqué je n'arrive pas a le maitriser

pour faire un peu d'assembleur il y a GEN80
https://hansotten.file-hunter.com/category/software/
cherche other assembler presque a la fin de la page

tu peux me tutoyer ;)


:noel
Site web    
CRT Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 17/03/2018 à 12h50

Messages: 51

Le 02/04/2020 à 19h10
J'ai réussis à me débrouiller sans visualiseur de ram en temps réel , en jouant du f7/f8 :fou

on fait comment un BNE "branch if not equal" en langage machine z80

par exemple en 65c816:
LDA $120000 charger adresse 000012 dans (l'accu) A
CMP 42 comparer A à 42
"BNE" 08 si pas egal à 42 faire un saut de 8 octets
...

en langage machine 65c816:
af 12 00 00 charger adresse 000012 dans l'accu A
c9 42 comparer A à 42
d0 08 si pas egal 42 faire un saut de 8 octets
xx xx xx
xx
xx xx xx xx
xx xx xx endroit du rejump Edité par CRT Le 02/04/2020 à 19h38
   
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 552

Le 02/04/2020 à 19h55
"NE" - > "NZ"

JP NZ,...
JR NZ,...
RET NZ
CALL NZ,...


LD A,($ABCD)
CP 42
JR NZ,$+8


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
CRT Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 17/03/2018 à 12h50

Messages: 51

Le 02/04/2020 à 19h57
Merci Sector je vais voir ce JR NZ ;)


edit :
Donc JR NZ c'est l'opcode 20
Edité par CRT Le 02/04/2020 à 20h04
   
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5776

Le 02/04/2020 à 22h27
CRT :
En fouillant dans les Disc Station , j'ai vu qu'il y a des bons jeux exclusif fait par Compile accessibles que par le menu , que j'aimerais bricolé une version standalone ...


Intéressant, y a pas mal de perles dans ces discs , Disc Station, Pink Sox et autres Peach Up, beaucoup de choses, codes musiques et autres graphiques a récupérer :glass
Pour l'assembleur je suis une quiche :oups mais c'est simplement pour préciser que certains discs, les premiers numéros en général avaient des LOADER et autres programmes en basic auquel je pouvais accéder en provoquant des erreurs, par exemple je retire la disquette en cours de lecture (diode lecteur éteinte) bien entendu cela n'est possible que sur un vrai Msx. Bref j'ai pu récupérer certains graphiques et certaines musiques FM comme cela pour mon propre magazine a l'époque :siffle :oups

A l'époque, grâce a Flashfred, j'ai même eu certains VRAI Disc Station avec les fascicules a prêté :glass Edité par TurboSEB Le 02/04/2020 à 22h29



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 552

Le 03/04/2020 à 03h18
par exemple,

ICI: JR NZ,ICI (BNE ICI)

c'est

$20,$FE ou $20,-2

pour calculer le saut relatif, il faut ajouter le déplacement à l'adresse qui suit l'instruction JR


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
CRT Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 17/03/2018 à 12h50

Messages: 51

Le 03/04/2020 à 14h16
si j'ai bien compris (parce que je connais pas du tout les syntaxes et termes pour le z80) :

LD A,(nn) = opcode 3A : c'est pour indiquer apres 3A une adresse à charger en A sur 2 octets , ex 3A 00 50 veut dire charger l'adresse 50 00 en A

CP (n) = opcode FE : c'est pour indiquer apres FE un nombre 8bit , ex FE 05 veut dire comparer à la valeur 05

JR Z (e) = opcode 28 : c'est un jump si egal ,ex 28 02 veut dire si egal sauter 2 octets plus loin

JR NZ (e) = opcode 20 : c'est un jump si pas egal , ex 20 05 veut dire si pas egal sauter 5 octets plus loin



(je vais faire ca en langage machine , je ne vais pas utiliser de logiciel assembleur) Edité par CRT Le 03/04/2020 à 15h02
   
CRT Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 17/03/2018 à 12h50

Messages: 51

Le 03/04/2020 à 14h19
l'algo est quasi fini , me reste à trouver comment simuler un input "space" ou sinon un input "touche 1" de la manette , puis à trouver où mettre ma routine dans le code Edité par CRT Le 03/04/2020 à 14h20
   
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 552

Le 03/04/2020 à 14h21
FE n ou CP n c'est soustraire n de l'accumulateur A sans modifier A, seuls les indicateurs sont modifiés.


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 552

Le 03/04/2020 à 14h23


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 03/04/2020 à 15h20
sans être indiscret tu travaille sur quel jeu ?

je te met 2 jeux qui ont étés bricolés Maze Runner et The KIng of Swamp , en fait les Disc Station 27-2 et 30-2 ont vu leur loader shuntés pour demarrer directement les jeux mais ils font toujours 720k

Downloads.rar


:noel
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie