Conversion cassettes MO5 en disquettes et fichiers .sd

Cette catégorie traite de développements récents pour 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

Avatar de l’utilisateur
Orion_
Messages : 176
Inscription : 07 août 2014 16:29
Localisation : Perpignan
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Orion_ »

Daniel a écrit : 15 août 2019 19:05 Une solution simple serait de créer un loader dans le secteur de boot pour initialiser la RAM à partir de secteurs physiques de la disquette, puis de lancer l'exécution. Si j'ai le temps j'essaierai de le faire.
me vole pas mon projet, je voulais essayer de le faire :p
Programmation rétro ! Orion_'s website
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Daniel »

C'est encore mieux !

J'ai hâte de lancer cette démo avec le vrai MO5 pour voir comment elle utilise le synthétiseur MEA8000. Il y a plusieurs années j'ai eu le projet de l'émuler dans dcmoto mais ce n'est toujours pas fait. Je n'ai plus le courage.

Une autre solution pour la conversion : faire une disquette classique bootable avec le DOS et contenant trois fichiers :
- LOADER.BIN : programme en assembleur qui translate les octets $5000-$9472 en $3000-$7472 et lance l'exécution en $3371
- YOUNG.BIN contenant le programme décompacté avec une entête pour le charger en $5000-$9472
- AUTO.BAT pour charger YOUNG.BIN et lancer LOADER.BIN

Code : Tout sélectionner

10 LOADM"YOUNG"
20 LOADM"LOADER",,R
LOADER.BIN doit être chargé après YOUNG.BIN, par exemple en $9473
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par __sam__ »

Orion_ a écrit : 15 août 2019 16:53 Par contre, en traçant un peu du code de boot sur divers jeux, je comprend moins pourquoi on a que 255 octets par secteur (et pas 256)
Parce que le DOS du thomson a été fait à l'arrache et avec les pieds. En attaquant en niveau en dessous (secteur/piste) on récupère l'intégralité du secteur, mais sous les API DOS "mini" ou "extramoniteur" on perd systématiquement le dernier octet du secteur sur les diskettes "haute densité". La cause en est que la boucle de recopie d'un secteur est du type

Code : Tout sélectionner

	ldb #128 ou 255 
loop:
	lda ,x+
	sta ,y+
	decb
	bne loop
et que les codeurs de cette routine n'ont jamais compris qu'ils pouvaient mettre 0 dans B pour copier les 256 octets du secteur (ils ont du penser que mettre 0 dans B ne copiait rien.. quelles buzes). Comme je l'ai dit: ils ont fait ca avec les pieds :evil:
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Daniel »

Je n'ai pas pu résister, j'ai fait un fichier .sd pour la démo ForeverYoung. Je ne le diffuse pas pour laisser à Orion_ le plaisir de créer le sien.
Un peu déçu, car il n'y a pas de son avec le synthétiseur vocal Cedic Nathan.

Sur le site de pulkomandy http://pulko.mandy.pagesperso-orange.fr ... thom.shtml il est écrit ceci :
It has non-working code for making noises using the vocal synthetizer
Donc ça ne marche pas ? Que manque-t-il ? Serait-il possible de corriger le code ou est-ce sans espoir ?
Je n'ai pas trouvé les sources, sont-elles disponibles ?

Ci dessous mon programme LOADER (pas du tout optimisé) pour translater le fichier binaire :

Code : Tout sélectionner

/**************************************************\
* TRANSLATE - DC - 2019.08.16                      *
\**************************************************/
* Translation de $5000-$9473 en $3000-$7473
* Execution en $3371 de la demo ForeverYoung

  ORG   $9474 
  LDX   #$3000         adresse de destination
LOOP
  LDD   $2000,X        lecture source
  STD   ,X             ecriture cible
  LEAX  2,X            adresse suivante
  CMPX  $7474          test de fin
  BNE   LOOP           nouvelle boucle
  JMP   $3371          execution

  END
Et l'AUTO.BAT :

Code : Tout sélectionner

10 LOADM"YOUNG"
20 LOADM"LOADER",,R
02.png
02.png (1.11 Kio) Consulté 7220 fois
03.png
03.png (6.53 Kio) Consulté 7220 fois

Sur le site de Pulkomandy, il y a une autre démonstration au format .fd : Alien Message http://pulko.mandy.pagesperso-orange.fr ... MESSAGE.fd
Je l'ai convertie au format .sd et exécutée avec un MO5 et le synthétiseur de parole Cédic Nathan.
Toujours pas de son. Peut-être est-elle programmée pour un autre synthétiseur ? Technimusique ?
Je vais regarder le code et éventuellement l'adapter pour le synthétiseur officiel Thomson.

Image
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par __sam__ »

Je me souviens en avoir parlé avec pulkomandy après avoir essayé sous MESS et n'avoir pas obtenu de son non plus. Il me semblez que pulko a dit qu'il n'avait pas testé le code pour Cedic-Nathan et qu'il n'a pu le faire marcher que pour Technimusique (mais le résultat est décevant). Le code source est du C dispo sur le site de pulko: http://pulkomandy.tk/projects/thomson/b ... code/C/F14
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Daniel »

Je viens de désassembler Alien Message, il n'y a aucune trace d'accès au MEA8000. Il est donc normal qu'il soit muet.

Code : Tout sélectionner

--------------------------------
TEST.BIN
--------------------------------
5000 3460       PSHS   U,Y                
5002 3272       LEAS   -$0E,S             
5004 33E4       LEAU   ,S        U=$9EBB          
5006 8E517F     LDX    #$517F             
5009 BD529D     JSR    $529D              
500C 8E001A     LDX    #$001A             
500F 2001       BRA    $5012 ---             
5011 13         SYNC      <-----|-                
5012 301F       LEAX   -$01,X <-  |          
5014 8C0000     CMPX   #$0000     |        
5017 26F8       BNE    $5011 -----             
5019 8E51A9     LDX    #$51A9             
501C BD529D     JSR    $529D              
501F 8E001A     LDX    #$001A             
5022 2001       BRA    $5025 ---             
5024 13         SYNC      <-----|-          
5025 301F       LEAX   -$01,X <-  |          
5027 8C0000     CMPX   #$0000     |        
502A 26F8       BNE    $5024 -----             
502C 8E51BE     LDX    #$51BE             
502F BD529D     JSR    $529D              
5032 8E001A     LDX    #$001A             
5035 2001       BRA    $5038 ---             
5037 13         SYNC      <-----|-                
5038 301F       LEAX   -$01,X <-  |        
503A 8C0000     CMPX   #$0000     |        
503D 26F8       BNE    $5037 -----             
503F 8E51E3     LDX    #$51E3             
5042 BD529D     JSR    $529D              
5045 8E001A     LDX    #$001A             
5048 2001       BRA    $504B ---              
504A 13         SYNC      <-----|-                
504B 301F       LEAX   -$01,X <-- |            
504D 8C0000     CMPX   #$0000     |        
5050 26F8       BNE    $504A -----             
5052 8E5204     LDX    #$5204             
5055 BD529D     JSR    $529D              
5058 8E001A     LDX    #$001A             
505B 2001       BRA    $505E ---              
505D 13         SYNC      <-----|-                
505E 301F       LEAX   -$01,X <-  |            
5060 8C0000     CMPX   #$0000     |        
5063 26F8       BNE    $505D -----             
5065 1A50       ORCC   #$50               
5067 C61C       LDB    #$1C               
5069 F7A7CF     STB    $A7CF              
506C 3F04       SWI    #$04               
506E 108E0B68   LDY    #$0B68             
5072 CC0071     LDD    #$0071             
5075 ED4C       STD    $0C,U              
5077 EC4C       LDD    $0C,U <-             
5079 47         ASRA           |          
507A 56         RORB           |          
507B 47         ASRA           |          
507C 56         RORB           |          
507D 47         ASRA           |          
507E 56         RORB           |          
507F 47         ASRA           |          
5080 56         RORB           |          
5081 E749       STB    $09,U   |          
5083 E7A4       STB    ,Y      |          
5085 30A827     LEAX   $27,Y   |          
5088 6849       ASL    $09,U   |          
508A 6849       ASL    $09,U   |          
508C 6849       ASL    $09,U   |          
508E 6849       ASL    $09,U   |          
5090 E649       LDB    $09,U   |          
5092 E784       STB    ,X      |          
5094 EC4C       LDD    $0C,U   |          
5096 C30001     ADDD   #$0001  |          
5099 ED4C       STD    $0C,U   |          
509B 31A828     LEAY   $28,Y   |          
509E 108300F1   CMPD   #$00F1  |          
50A2 26D3       BNE    $5077 --             
50A4 C6FF       LDB    #$FF               
50A6 F7A7CE     STB    $A7CE              
50A9 C614       LDB    #$14               
50AB E748       STB    $08,U              
50AD C601       LDB    #$01               
50AF E744       STB    $04,U              
50B1 6F47       CLR    $07,U              
50B3 6F49       CLR    $09,U              
50B5 6F4C       CLR    $0C,U              
50B7 E649       LDB    $09,U <-------             
50B9 4F         CLRA                 |     
50BA 58         ASLB                 |     
50BB 49         ROLA                 |     
50BC 58         ASLB                 |     
50BD 49         ROLA                 |     
50BE ED4A       STD    $0A,U         |     
50C0 108E0000   LDY    #$0000        |     
50C4 EC4A       LDD    $0A,U <-      |       
50C6 3420       PSHS   Y       |     |      
50C8 AAE0       ORA    ,S+     |     |      
50CA EAE0       ORB    ,S+     |     |      
50CC 1F01       TFR    D,X     |     |      
50CE E689521D   LDB    $521D,X |     |      
50D2 F7A7CE     STB    $A7CE   |     |      
50D5 3121       LEAY   $01,Y   |     |      
50D7 108C0004   CMPY   #$0004  |     |      
50DB 26E7       BNE    $50C4 --      |       
50DD 6C4C       INC    $0C,U         |     
50DF E64C       LDB    $0C,U         |     
50E1 C106       CMPB   #$06          |     
50E3 230C       BLS    $50F1 ----    |         
50E5 6C49       INC    $09,U     |   |      
50E7 E649       LDB    $09,U     |   |      
50E9 C11F       CMPB   #$1F      |   |      
50EB 2302       BLS    $50EF --  |   |        
50ED 6F49       CLR    $09,U   | |   |       
50EF 6F4C       CLR    $0C,U <-  |   |        
50F1 108E0B68   LDY    #$0B68 <--    |        
50F5 8E0049     LDX    #$0049        |     
50F8 AF45       STX    $05,U         |     
50FA 8EA7C0     LDX    #$A7C0 <-     |       
50FD 8651       LDA    #$51     |    |     
50FF A784       STA    ,X       |    |     
5101 EC45       LDD    $05,U    |    |     
5103 E74A       STB    $0A,U    |    |     
5105 E64A       LDB    $0A,U    |    |     
5107 EB47       ADDB   $07,U    |    |     
5109 E7A4       STB    ,Y       |    |     
510B 303F       LEAX   -$01,Y   |    |     
510D E64A       LDB    $0A,U    |    |     
510F E047       SUBB   $07,U    |    |     
5111 E784       STB    ,X       |    |     
5113 8EA7C0     LDX    #$A7C0   |    |     
5116 8650       LDA    #$50     |    |     
5118 A784       STA    ,X       |    |     
511A E64A       LDB    $0A,U    |    |     
511C C407       ANDB   #$07     |    |     
511E EB48       ADDB   $08,U    |    |     
5120 E74A       STB    $0A,U    |    |     
5122 4F         CLRA            |    |     
5123 EDC4       STD    ,U       |    |     
5125 1F20       TFR    Y,D      |    |     
5127 A3C4       SUBD   ,U       |    |     
5129 1F01       TFR    D,X      |    |     
512B C67F       LDB    #$7F     |    |     
512D E784       STB    ,X       |    |     
512F ECC4       LDD    ,U       |    |     
5131 30AB       LEAX   D,Y      |    |     
5133 C67F       LDB    #$7F     |    |     
5135 E784       STB    ,X       |    |     
5137 E64A       LDB    $0A,U    |    |     
5139 5C         INCB            |    |     
513A 4F         CLRA            |    |     
513B ED4A       STD    $0A,U    |    |     
513D 1F20       TFR    Y,D      |    |     
513F A34A       SUBD   $0A,U    |    |     
5141 1F01       TFR    D,X      |    |     
5143 C630       LDB    #$30     |    |     
5145 E784       STB    ,X       |    |     
5147 EC4A       LDD    $0A,U    |    |     
5149 30AB       LEAX   D,Y      |    |     
514B C630       LDB    #$30     |    |     
514D E784       STB    ,X       |    |     
514F EC45       LDD    $05,U    |    |     
5151 C30001     ADDD   #$0001   |    |     
5154 ED45       STD    $05,U    |    |     
5156 31A828     LEAY   $28,Y    |    |     
5159 108300C9   CMPD   #$00C9   |    |     
515D 1026FF99   LBNE   $50FA ---     |        
5161 6C47       INC    $07,U         |     
5163 E648       LDB    $08,U         |     
5165 EB44       ADDB   $04,U         |     
5167 E748       STB    $08,U         |     
5169 C119       CMPB   #$19          |     
516B 2206       BHI    $5173 --      |       
516D C108       CMPB   #$08    |     |       
516F 2306       BLS    $5177 --|-    |        
5171 2008       BRA    $517B --|-|-  |           
5173 C6FF       LDB    #$FF <--  | | |          
5175 2002       BRA    $5179 --  | | |       
5177 C601       LDB    #$01 <--|-  | |           
5179 E744       STB    $04,U <-    | |        
517B 13         SYNC     <---------  |               
517C 7E50B7     JMP    $50B7 --------             

----------------------------------------------------------------------
5170 06 20 08 c6 ff 20 02 c6 01 e7 44 13 7e 50 b7 1f  . ... ....D.~P..
5180 20 29 1b 20 43 1b 20 50 0c 0a 0a 0a 20 20 20 20   ). C. P....    
5190 20 20 20 20 20 20 20 20 49 4e 20 54 48 45 20 59          IN THE Y
51A0 45 41 52 20 32 30 31 32 00 1b 73 0d 0a 0a 20 20  EAR 2012..s...  
51B0 20 20 20 20 20 53 68 69 6e 72 61 0d 0a 00 1b 70       Shinra....p
51C0 20 20 20 20 20 20 20 20 20 49 53 20 50 52 4f 55           IS PROU
51D0 44 20 54 4f 20 50 52 45 53 45 4e 54 20 59 4f 55  D TO PRESENT YOU
51E0 0d 0a 00 20 20 20 20 20 20 20 20 20 41 4e 4f 54  ...         ANOT
51F0 48 45 52 20 50 41 52 54 59 4d 41 44 45 20 50 52  HER PARTYMADE PR
5200 4f 44 21 00 1b 73 0d 0a 0a 20 20 20 41 4c 49 45  OD!..s...   ALIE
5210 4e 20 20 4d 45 53 53 41 47 45 0d 0a 00 ff 80 07  N  MESSAGE......
5220 80 00 53 37 90 ff 80 07 80 55 53 37 90 ff 80 07  ..S7.....US7....
5230 80 66 53 37 90 ff 80 07 80 bb 53 37 90 ff d2 07  .fS7......S7....
5240 86 00 53 37 90 ff d2 07 80 55 53 37 90 ff d2 07  ..S7.....US7....
5250 80 66 53 37 90 ff d2 07 80 bb 53 37 90 ff d2 07  .fS7......S7....
5260 9b 00 53 37 90 ff d2 07 80 55 53 37 90 ff d2 07  ..S7.....US7....
5270 80 66 53 37 90 ff d2 07 80 bb 53 37 90 ff d2 07  .fS7......S7....
5280 80 00 53 37 90 ff d2 07 88 55 53 37 80 ff d2 07  ..S7.....US7....
5290 98 66 53 37 80 ff d2 07 80 bb 53 37 83 34 40 33  .fS7......S7.4@3
----------------------------------------------------------------------

-------------------------------
Affichage d'une chaine
-------------------------------
529D 3440       PSHS   U                  
529F 33E4       LEAU   ,S                 
52A1 2002       BRA    $52A5 -             
52A3 3F02       SWI    #$02 <-|-           
52A5 E680       LDB    ,X+ <--  |           
52A7 26FA       BNE    $52A3 ---             
52A9 35C0       PULS   U,PC               
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Orion_
Messages : 176
Inscription : 07 août 2014 16:29
Localisation : Perpignan
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Orion_ »

bon, j'ai fait mon loader via un secteur de boot, je charge bien toute les données a la bonne place
(2600-26B5 et 2752-64A1) (vérifié en RAM via DCmoto)
la démo démarre mais j'ai des glitch graphiques, et a la fin le texte ne s'affiche pas
je suppose que la démo part du principe qu'elle démarre depuis le BASIC, et donc comme moi je démarre du secteur de boot, le basic n'est pas chargé donc il y a surement des valeurs en RAM qui ne sont pas initialisés correctement pour la démo :/

au passage, la dernière fois que j'ai touché au MO5 c'était il y a 5 ans (déja ...) et entre temps DCmoto c'est vraiment bien amélioré pour les développeurs, la fonction que j'espérais tant à l'époque est enfin apparue, pouvoir charger/sauvegarder une partie de la mémoire depuis le debugger, vraiment pratique !
Programmation rétro ! Orion_'s website
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Daniel »

Avec un vrai MO5 et un vrai moniteur le passage d'un pixel en couleur de forme à un pixel en couleur de fond est parfois visible, même si c'est la même couleur. Avec un émulateur on ne voit rien. C'est peut-être l'explication des glitchs. Sinon il faudrait faire une photo de l'écran.

La démo n'utilise pas le BASIC, elle doit donc fonctionner sans erreur. Si la pile système n'est pas au bon endroit un écrasement est possible. Comme le BASIC n'est jamais initialisé, la pile système est probablement dans les zones de travail du moniteur système. Il faudrait la mettre en fin de RAM ($9FFF).
Daniel
L'obstacle augmente mon ardeur.
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par jasz »

Mais est-ce que le programme ne positionne pas lui-même les piles en RAM? En début de démo la pile S est en $9EBB.

J'ai remarqué que pour l'écran de fin (et sans doute les autres aussi) Il se sert de U comme d'un registre de position à l'écran pour l'affichage des caractères (X devant être l'adresse du text, Y l'adresse des gfx)
Avatar de l’utilisateur
Orion_
Messages : 176
Inscription : 07 août 2014 16:29
Localisation : Perpignan
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Orion_ »

bon, en chargeant la démo pre-décompressé, je n'ai plus les glitchs au début, par contre, toujours pas de texte à la fin.
donc tant pis, je laisse tomber, Daniel tu peu mettre ta version a disposition :D
ça n'est pas grave, c'était juste un exercice pour moi afin de me permettre de comprendre comment faire un secteur de boot et surtout comment charger des données depuis la disquette, c'est chose faite !

Voila mon code si éventuellement vous voyez des truc bizarre

Code : Tout sélectionner

CALL	macro
	SWI
	FCB	\1
	ENDM

DISK	EQU	$26

	ORG	$2200	; Boot Sector Loaded Here (after monitor/basic page)

;	LDS	#$A000	; Stack at end of RAM to make sure no data corruption

DK_READ	EQU	$02
DK_CMD	EQU	$2048
DK_DRV	EQU	$2049
DK_TRK	EQU	$204A
DK_SECT	EQU	$204C
DK_BUF	EQU	$204F

	CLR	<DK_DRV		; Init
	CLR	<DK_TRK
	LDA	#DK_READ
	STA	<DK_CMD

	LDA	#$45		; Size / 256
	LDX	#$0002		; Track/Sector
	LDY	#$3000		; Buffer
	BSR	LoadDisk

	JMP	$3371		; Demo starts there

LoadDisk
	STX	<DK_TRK+1	; Store Track/Sector in 16bits because DK_SECT is following DK_TRK+1
	STY	<DK_BUF
	LDB	<DK_SECT
	ADDA	<DK_BUF		; Add Buffer Start Address, to get Buffer End Address
Load	CALL	DISK		; Read One Sector
	CMPB	#16		; 16 Sector per Track
	BNE	NextSector
	CLRB
	INC	<DK_TRK+1	; Track++
NextSector
	INCB			; Sector++
	STB	<DK_SECT
	INC	<DK_BUF		; Buffer += 256
	CMPA	<DK_BUF		; Check if end of buffer
	BNE	Load		; Else load next sector
	RTS
Programmation rétro ! Orion_'s website
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Daniel »

En exécutant à nouveau ma version du fichier .sd je viens de m'apercevoir que le texte final ne s'affiche pas dans le logo Thomson. Donc nos deux versions différentes donnent le même (mauvais) résultat. Reste à trouver la cause de l'anomalie...

Sinon le code pour charger les secteurs physiques semble excellent à première lecture. Le bug est ailleurs. Une mauvaise initialisation de l'adresse de la table de caractères est une piste possible. Il faut chercher, nous finirons bien par trouver...

Je donne quand même mon fichier .sd erroné :
foreveryoung-essai1_mo5sd.zip
(39.34 Kio) Téléchargé 146 fois
Il a l'inconvénient de se lancer moins vite, car le chargement du DOS prend un peu de temps. La lecture des secteurs physiques est plus rapide.
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Daniel »

Le programme de décompactage ne doit pas se contenter de décompresser le programme. Je pense qu'il doit faire d'autres initialisations, en particulier pour l'affichage des caractères en fin de démo.

Plutôt que de passer du temps à chercher j'ai opté pour la facilité : utiliser la fonction de création de fichier .sd de l'émulateur dcmoto.
Voici la procédure :
- Dans dcmoto charger la cassette Forever14.K5
- Taper la commande LOADM
- Ouvrir l'outil de mise au point et mettre un point d'arrêt à l'exécution en $3371
- Dans la fenêtre du MO5 taper la commande EXEC et attendre l'arrêt de l'exécution
- Utiliser la fonction Fichier/Sauver état actuel... pour créer le fichier .sd

Voici le fichier généré. Je l'ai testé avec un vrai MO5 et tout semble bien fonctionner :
foreveryoung-mrx_mo5sd.zip
(17.93 Kio) Téléchargé 145 fois
Daniel
L'obstacle augmente mon ardeur.
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par jasz »

Daniel a écrit : 17 août 2019 12:01 Le bug est ailleurs. Une mauvaise initialisation de l'adresse de la table de caractères est une piste possible.
C'est possible. Il faudrait voir le decruncher, mais ce qui me surprend c'est que seul cet écran est affecté.
Avatar de l’utilisateur
Orion_
Messages : 176
Inscription : 07 août 2014 16:29
Localisation : Perpignan
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Orion_ »

génial cette fonction de création de .sd a partir de l'état actuel !

ça fonctionne bien chez moi, par contre je n'ai pas de musique, alors que l'extension musique et jeux est bien branchée, et qu'il est écrit dans les crédits qu'il y a un musicien, bizarre :/

PS: il faudrait la rajouter dans la "categorie_demonstration" du site DCmoto :)
Programmation rétro ! Orion_'s website
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion cassettes MO5 en disquettes et fichiers .sd

Message par Daniel »

La sauvegarde de l'état de l'émulateur pour restaurer l'état sur la vraie machine est l'une des fonctions de dcmoto dont je suis fier, car ce n'est pas facile. D'abord il faut restaurer non seulement la valeur des registres du processeur, mais aussi les valeurs des registres des périphériques (PIA système et musique et jeu en particulier). Et surtout restaurer toute la RAM sans écraser le programme de restauration. L'astuce est de mettre les dernières instructions de ce programme dans une toute petite zone inutilisée de la mémoire vidéo.

Malheureusement je ne suis pas seul à avoir utilisé cette zone, les ingénieurs de Thomson ont eu la même idée pour le TO8, TO8D et TO9+, c'est pourquoi je ne sais pas restaurer l'état de ces trois machines.

L'extension musique et jeu est inutile pour la démo ForeverYoung. D'après ce que j'ai compris, il était prévu d'utiliser un synthétiseur vocal à base de MEA8000, mais en branchant celui de Cedic Nathan on n'entend rien. Je ne sais pas si les effets sonores ont été supprimés dans cette version, ou s'il faut le synthétiseur Technimusique (que je n'ai pas).
Daniel
L'obstacle augmente mon ardeur.
Répondre