Projet VG5000µ

Cette catégorie traite de développements récents destinés à nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 17418
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Projet VG5000µ

Message par Daniel »

Le fichier k7 est vide, et nous ne désassemblons pas de tête le code Z80 en hexadécimal. Alors, pour nous éviter de retaper le programme Basic et désassembler le code qu'il contient, il vaudrait mieux donner les sources en assembleur. Ou, au pire, le listing Basic en mode texte.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Projet VG5000µ

Message par rendomizer »

il est vide, tiens ? Je vous l'envoie en mrx et en k7 !
Pièces jointes
multicolor2.rar
(427 octets) Téléchargé 118 fois
multicolormrx.rar
(12.37 Kio) Téléchargé 115 fois
Daniel
Messages : 17418
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Projet VG5000µ

Message par Daniel »

Pour ceux qui ne lisent pas le code machine en hexadécimal, voici le programme désassemblé :

Code : Tout sélectionner

7000  211070    LD      HL,7010H
7003  CDEF02    CALL    02EFH
7006  18FE      JR      -02H

----------------------------------------------------------------------
7000 21 10 70 cd ef 02 18 fe 00 00 00 00 00 00 00 00  !.p.............
7010 24 20 81 29 00 20 82 29 0e 20 83 29 67 20 84 29  $ .). .). .)g .)
7020 93 20 87 29 08 21 41 22 c1 23 24 00 25 00 14 26  . .).!A".#$.%..&
7030 00 27 27 28 00                                   .''(.
----------------------------------------------------------------------
La routine en 02EFh envoie à l'EF9345 la séquence de 24h octets commençant en 7011h :

Code : Tout sélectionner

-----------------------------------
Envoi sequence de commandes EF9345
-----------------------------------
02ef 46        ld      b,(hl)        1er octet = longueur de la sequence       
02f0 23        inc     hl            hl pointe le premier octet de la sequence
02f1 cd8602    call    0286h <---    attente EF9345 pret
02f4 0e8f      ld      c,8fh     |
02f6 eda3      outi              |   adresse
02f8 0ecf      ld      c,0cfh    |   
02fa eda3      outi              |   données
02fc 20f3      jr      nz,02f1h -
02fe c9        ret     
L'EF9345 est un circuit complexe, il y a plus de dix ans que je ne l'ai pas pratiqué et j'ai tout oublié.
Je laisse les spécialistes analyser la séquence des octets envoyés.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Projet VG5000µ

Message par rendomizer »

Voici la séquence pour le mode quadrichrome ( 4couleurs ) par caractere


Image
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3054
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: Projet VG5000µ

Message par Papy.G »

Je n'ai que survolé le code, mais quelque chose m'échappe: Tu dois charger les dix octets/lignes (ou cinq en double hauteur) définissant le caractère que tu veux afficher, je ne les vois pas dans ton code.

J'aimerais beaucoup t'aider, car la manip que tu cherches à faire me passionne, malheureusement, je cours un peu en ce moment. :?

Avec DOR=93, il faut être sûr que les 8kO de VRAM soient dupliqués dans la partie haute de l'adressage, sinon, tu vas pointer dans le vide, 13 serait peut-être plus sage.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Projet VG5000µ

Message par rendomizer »

Papy.G a écrit :Je n'ai que survolé le code, mais quelque chose m'échappe: Tu dois charger les dix octets/lignes (ou cinq en double hauteur) définissant le caractère que tu veux afficher, je ne les vois pas dans ton code.
Tu le redéfini simplement par setet car pour le faire avec la séquence ça me parait trop chiant...Sinon pourquoi DOR = 93, car le bit 8 est le mode quadrichrome. Ainsi le setet se défini comme ce qui suit pour coder les 4 couleurs.Les pixels sont deux fois plus long et oui car codé sur 2bit ! Ainsi pour voir les 4 couleurs différents il faut les organiser par deux ce qui donne 4 possibilités sur 1 octet ! mon setet est comme suit: setet 65,"186F6DB4D1471E79F924", le caractère au lieu de comporter 8x10 pixels il doit en comporter plus que 4x10.Un test sur le VG5000µ serait un plus car l'émulateur n'affiche qu'un caractère plein...à tester donc.Photo d'écran a l'appui si résulta positif.
Je ne suis qu'un utilisateur pas un pro
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: Projet VG5000µ

Message par joaopa »

Je vois l'erreur, mais tant que je n'ai pas le code source Z80 (comme dejà demandé 10 fois, sans compté les demandes de Daniel), je la garde pour moi.
Daniel
Messages : 17418
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Projet VG5000µ

Message par Daniel »

L'instruction SETET du Basic VG5000 ne permet pas de définir un caractère quadrichrome.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13297
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Projet VG5000µ

Message par Carl »

En effet SETET comme SETEG ne permettent pas cela....
Je prends le sujet en cours....de quelle source parlons nous ?
Carl
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: Projet VG5000µ

Message par joaopa »

Carl, l'auteur du fil a la mauvaise habitude d'envoyer tous ses listings en hexa. On demande le code source en mnemonic, mais on ne les reçoit jamais.
Daniel
Messages : 17418
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Projet VG5000µ

Message par Daniel »

Non seulement les programmes postés sont en Basic avec le langage machine en hexadécimal, malgré nos demandes des sources en assembleur, mais en plus ce sont des images JPEG. Il est impossible d'en extraire le texte. Il faudrait tout retaper à la main, comme avec Hebdogiciel. C'est totalement décourageant pour ceux qui veulent aider.

Tous les développeurs savent que l'EF9345 est complexe, plein de subtilités et d'astuces. Nous avons passé des heures à décortiquer la documentation et à faire des essais pour essayer de le comprendre. Ce n'est pas facile, et le moindre petit détail incompris conduit inexorablement à l'échec. C'est en analysant les programmes existants et en adaptant leur code que l'on peut progresser le plus rapidement. Salut l'Artiste et La Moto Infernale, en particulier, sont de bonnes bases de départ.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Projet VG5000µ

Message par rendomizer »

joaopa a écrit :Carl, l'auteur du fil a la mauvaise habitude d'envoyer tous ses listings en hexa. On demande le code source en mnemonic, mais on ne les reçoit jamais.
Je vais faire un effort de les rendre plus lisible en assembleur !
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13297
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Projet VG5000µ

Message par Carl »

Tu peux utiliser LLIST pour copier le listing basic vers un fichier TXT depuis l'émulateur de Daniel.

Carl
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Projet VG5000µ

Message par rendomizer »

Carl a écrit :[supp modo : quote inutile]

Code : Tout sélectionner

0 SETET 65,"186F6DB4D1471E79F924"
10 CLEAR 200:A=&"7000"
20 REM MACHINE CODE
21 P$="211070CDEF0218FE000000000000000020208129002082290E208329672084299320872908214122C12324260027272800"
30 REM EXE  BASIC
31 FORI=1TOLEN(P$)STEP2
32 GOSUB 91:POKEA,N:A=A+1
33 NEXT I:CALL &"7000":END
90 REM HEX TO DEC
91 N1=ASC(MID$(P$,I,1))-48
92 IF N1>9 THEN N1=N1-7
93 N2=ASC(MID$(P$,I+1,1))-48
94 IF N2>9 THEN N2=N2-7
95 N=16*N1+N2:RETURN

Merci Carl !
Je ne suis qu'un utilisateur pas un pro
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: Projet VG5000µ

Message par joaopa »

On n'a toujours pas les mnemonics Z80.
Page 138 du livre Astuces pour l'Alice.
Répondre