Adaptation sur Thomson TO des jeux d'Inufuto
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 7970
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Mon code python est vieux et pas testé des masses. Par contre il est facilement bricolable s'il faut ajouter des pauses.
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Tous les fichiers .wav (44 fichiers) et .lep (59 fichiers) pour TO du site dcmoto ont été produits avec DCTOK7.
Ils ont tous été testés et fonctionnent. Ce n'est pas une preuve suffisante du bon fonctionnement de DCTOK7, d'accord, mais j'étudie toujours les bugs qui me sont soumis et j'applique immédiatement les corrections nécessaires. N'hésitez pas.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Petite question à propos du chargement sur disquette : est-ce que le TO7 est limité à 40 pistes même avec le contrôleur 3"1/2 ? J'ai une erreur $10 "lecteur non prêt" quand je lis un secteur de la disquette sur TO7. Est-ce que les 80 pistes fonctionnent sur TO7 avec le SDDISK/SDRIVE ?Daniel a écrit : ↑05 juin 2023 17:16 J'ai souvent ce problème quand je convertis des cassettes en disquettes : avec le DOS il n'y a plus assez de RAM. La solution est simple : Il ne faut pas utiliser le DOS et pour charger le programme. Il suffit d'écrire un chargeur pour lire directement les secteurs physiques de la disquette.
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Le nombre de pistes est fixé par le contrôleur. Avec un contrôleur 3"1/2 (interne, ou externe, ou SDDRIVE) c'est 80 pistes, quel que soit l'ordinateur.
Comment lis-tu le secteur ? Si tu le lis en BASIC en utilisant le DOS, et que le DOS n'est pas chargé en mémoire, l'erreur est normale.
Il faut lire le secteur avec la fonction DKCONT du contrôleur de disquette : EXEC &HE004
Les paramètres sont l'unité, la piste, le secteur, l'adresse du buffer de 256 octets et le code opération $02 pour la lecture d'un secteur.
Voici un exemple de chargeur pour MO5, facile à adapter au TO7 :
Comment lis-tu le secteur ? Si tu le lis en BASIC en utilisant le DOS, et que le DOS n'est pas chargé en mémoire, l'erreur est normale.
Il faut lire le secteur avec la fonction DKCONT du contrôleur de disquette : EXEC &HE004
Les paramètres sont l'unité, la piste, le secteur, l'adresse du buffer de 256 octets et le code opération $02 pour la lecture d'un secteur.
Voici un exemple de chargeur pour MO5, facile à adapter au TO7 :
Code : Tout sélectionner
;**************************************************;
; D I S K L O A D E R M O 5 ;
; (c) 2022 - Daniel Coulom ;
; http://dcmoto.free.fr/ ;
; http://forum.system-cfg.com/ ;
;--------------------------------------------------;
; Ce code est distribue gratuitement dans l'espoir ;
; qu'il sera utile, mais sans aucune garantie et ;
; sans engager la responsabilité de l'auteur. ;
; Vous pouvez l' utiliser, le modifier et le ;
; diffuser librement, en conservant cette licence ;
; et les références de l'auteur dans toutes les ;
; copies. L'exploitation commerciale est interdite.;
;**************************************************;
; Chargement en memoire d'un programme contenu
; dans les secteurs physiques d'une disquette.
; Lancement de l'execution a l'adresse indiquee.
;**************************************************;
; Version 2022.10.17 ;
;**************************************************;
; Historique
; 2022.10.12 Chargement et execution en $1F40
; 2022.10.17 Version initiale
;------------------------------------------------------
; PARAMETRES POUR L'ASSEMBLEUR LWASM.EXE
;------------------------------------------------------
PRAGMA 6809,operandsizewarning
OPT c
;------------------------------------------------------
; PARAMETRES DU CHARGEMENT
;------------------------------------------------------
DISKDEB EQU $0301 ; piste-secteur de debut
DISKFIN EQU $0910 ; piste-secteur de fin
RAMADDR EQU $3000 ; adresse de chargement en RAM
EXEADDR EQU $3000 ; adresse d'execution
PILADDR EQU $3000 ; haut de la pile systeme
;------------------------------------------------------
; Initialisations
;------------------------------------------------------
ORG $1F40
LDS #PILADDR ; initialisation pointeur de pile
LDA #$20 ; valeur initialisation DP
TFR A,DP ; initialisation DP
LDA #$01 ; code initialisation controleur
STA <$48 ; definit le code operation
JSR $A004 ; initialisation controleur
LDA #$02 ; code lecture secteur
STA <$48 ; definit le code operation
LDD #RAMADDR
STD <$4F ; initialise adresse buffer
CLRA
CLRB
STD <$49 ; initialise unite
LDD #DISKDEB
;------------------------------------------------------
; Boucle de lecture
;------------------------------------------------------
READSECT
STD <$4B ; initialise piste-secteur
JSR $A004 ; lecture secteur
CMPD #DISKFIN ; test de fin de lecture
BEQ EXECUTE ; execution
INC <$4F ; adresse buffer suivant
INCB ; secteur suivant
CMPB #$11 ; test secteur 17
BNE READSECT ; lecture secteur suivant
INCA ; piste suivante
LDB #$01 ; secteur 1
BRA READSECT ; lecture secteur suivant
;------------------------------------------------------
; Execution
;------------------------------------------------------
EXECUTE
JMP EXEADDR
END
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Je lis le secteur en assembleur, avec la fonction DKCONT.
J'ai testé uniquement sur dcmoto via wine. Ça marche sur TO9 et TO8, mais avec le TO7 ou TO7-70 + CD90-351 j'ai systématiquement l'erreur : l'initialisation est OK, j'y bien un lecteur double densité ($44), mais dès que j'appelle DKOPC avec $40 j'ai l'erreur ($10 dans DKSTA).
Avec l’émulation de SDDRIVE ça marche.
Mon chargeur est quasiment terminé, et fonctionne en lisant les blocks de la FAT, en gère les binaires Thomson non RAW (entête et fin de 5 octets). Il me reste à le lancer via le secteur de boot pour que cela fonctionne en BASIC1.
Voici mon code qui lit un secteur :
EDIT : J'utilisais la ROM BASIC128 lors du test, car le bootloader n'est pas encore prêt.
J'ai testé uniquement sur dcmoto via wine. Ça marche sur TO9 et TO8, mais avec le TO7 ou TO7-70 + CD90-351 j'ai systématiquement l'erreur : l'initialisation est OK, j'y bien un lecteur double densité ($44), mais dès que j'appelle DKOPC avec $40 j'ai l'erreur ($10 dans DKSTA).
Avec l’émulation de SDDRIVE ça marche.
Mon chargeur est quasiment terminé, et fonctionne en lisant les blocks de la FAT, en gère les binaires Thomson non RAW (entête et fin de 5 octets). Il me reste à le lancer via le secteur de boot pour que cela fonctionne en BASIC1.
Voici mon code qui lit un secteur :
Code : Tout sélectionner
; A=track, B=sector
tfr d,x
; drive 0
lda #$00
sta DKDRV
; init controller
lda #$01
sta DKOPC
; call ROM
jsr DKCONT
if cs
; error
lda DKSTA
else
; restore parameters in A and B
tfr x,d
; track in A
sta DKTRK
; sector in B
stb DKSEC
; search for track DKTRK
lda #$40
sta DKOPC
; call ROM
jsr DKCONT
if cs
; error
lda DKSTA
else
; buffer address
ldx ReadSector_@Param2
stx DKBUF
; read sector
lda #$02
sta DKOPC
; call ROM
jsr DKCONT
if cs
; error
lda DKSTA
else
lda #0
endif
endif
endif
-
- Messages : 7970
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Adaptation sur Thomson TO des jeux d'Inufuto
C'est quoi ces if/else/endif ?
Et pourquoi est-ce qu'on passe par l'init du contrôleur à chaque lecture de secteur (si la routine indiquée est bien celle pour charger un secteur et pas un peu plus)
Et pourquoi est-ce qu'on passe par l'init du contrôleur à chaque lecture de secteur (si la routine indiquée est bien celle pour charger un secteur et pas un peu plus)
Dernière modification par __sam__ le 07 juin 2023 23:20, modifié 2 fois.
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Voici des captures écran dcmoto_20230208.exe, avec cartouche BASIC128 :
Avec la disquette convertie en SD par fd2sd_2014.exe
Re: Adaptation sur Thomson TO des jeux d'Inufuto
C'est des fonctionnalités de l'asm d'Inufuto.
J'ai fait une partie du loader en pseudo-C d'inufuto également (qui est très limité au final).
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Tu as raison, je vais optimiser cela.
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Dans la boîte de dialogue "Supports amovibles" la case "Lecteurs de disquettes" est-elle cochée ?
Avec le contrôleur SDDRIVE, dcmoto sélectionne automatiquement la disquette (sur carte SD), il n'est pas nécessaire de le faire manuellement.
Par contre avec un contrôleur de disquette Thomson on peut connecter ou pas les lecteurs, ce n'est pas automatique.
Avec le contrôleur SDDRIVE, dcmoto sélectionne automatiquement la disquette (sur carte SD), il n'est pas nécessaire de le faire manuellement.
Par contre avec un contrôleur de disquette Thomson on peut connecter ou pas les lecteurs, ce n'est pas automatique.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Oui, elle est cochée
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Voici une nouvelle version utilisable depuis disquette sous BASIC 1.0 : https://transfert.free.fr/4o7UFOT
J'ai changé les adresses pour avoir les mêmes binaires en FD et K7, avec un TO7 + 16K en cible.
Je n'ai pas réussi à le faire fonctionner sous dcmoto avec le contrôleur de disquette 3,5".
J'ai changé les adresses pour avoir les mêmes binaires en FD et K7, avec un TO7 + 16K en cible.
Je n'ai pas réussi à le faire fonctionner sous dcmoto avec le contrôleur de disquette 3,5".
Re: Adaptation sur Thomson TO des jeux d'Inufuto
As-tu toujours besoin de tester les MEMO7 sur TO7 sans extension mémoire?
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Oui ! Elles n'ont pas été testées. As-tu également accès à un TO9 ?
Tout ce joue au joystick + bouton action. Les touches fléchées + espace sont également supportées sur TO7/TO7-70.
Tout ce joue au joystick + bouton action. Les touches fléchées + espace sont également supportées sur TO7/TO7-70.
-
- Messages : 7970
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Adaptation sur Thomson TO des jeux d'Inufuto
Dommage que ce ne soit pas partout. J'ai pas de joystick sur mon TO8Les touches fléchées + espace sont également supportées sur TO7/TO7-70.
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos