Logicielsmoto.com

Nous sommes le 28 Mar 2024, 09:56

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 35 messages ]  Aller à la page 1, 2, 3  Suivante
Auteur Message
MessagePosté: 01 Mar 2022, 20:44 
Hors ligne

Inscription: 21 Avr 2010, 10:59
Messages: 253
Une nouvelle version de TEO a été déposée sur Sourceforge.
Les modifications principales concernent:
_ la gestion, au plus près du contrôleur disque, de la lecture et écriture.
_ le format du fichier snapshot est maintenant un format texte (plus évolutif qu'un format binaire pour une perte de place qui reste raisonnable).
_ la gestion des échanges avec le clavier (simulation par automate d'état du 6804).

La quasi totalité des modifs sont de Préhisto.

Toujours avec Allegro pour la version windows, compilation avec TDM gcc (fichier projet compatible devc++ inclus).

Page de téléchargement :https://sourceforge.net/projects/teoemulator/files/windows/BETA_1.8.7/

_________________
http://www.alternative-system.com


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 02 Mar 2022, 10:20 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Prehisto toujours actif, et l’emulateur de plus en plus précis. L’année 2022 est pleine de surprises...

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 02 Mar 2022, 12:57 
Hors ligne

Inscription: 21 Avr 2010, 10:59
Messages: 253
Encore actif avec un mode de transmission des fichiers original (qu'il faut que j'utilise pour les quelques updates windows).

Je pense que la prochaine version sera celle de la modernisation côté librairies (son, clavier et video) mais je n'ai pas trop le temps à court terme, d'ici 1 ou 2 mois sans doute un peu plus.

_________________
http://www.alternative-system.com


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 29 Mar 2022, 17:26 
Hors ligne

Inscription: 12 Fév 2021, 15:54
Messages: 78
Localisation: Rennes
Y aura-t-il une version Linux native (sans Wine) ?

_________________
Fan de Atari 2600, Thomson MO5, Thomson TO8, Atari STE.
Retro-Codeur à mes heures perdues. https://www.fxjavadevblog.fr


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 09 Juin 2022, 19:44 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Je viens de compiler sous linux 64 bits
Code:
$ sudo apt-get install mercurial
$ sudo apt-get install pkg-config
$ sudo apt-get install libgtk-3-dev
$ hg clone http://hg.code.sf.net/p/teoemulator/code teoemulator-code
$ cd teoemulator-code/
$ ./autogen.sh
$ make
$ make STATICLINK=1 install
$ cd  ~/emu/teo
$ cp -rv ../teoemulator-code/system .
$ cd ..
$ XZ_OPT=9 tar cJf teo-1.8.7.tar.xz emu/
$ zip teo-1.8.7.tar.xz.zip teo-1.8.7.tar.xz
L'archive avec l'exe 64 bits est là:
Fichier(s) joint(s):
teo-1.8.7.tar.xz.zip [203.35 Kio]
Téléchargé 200 fois
C'est un fichier ZIP car l'extension XZ n'est pas autorisée sur le forum. Pour le décompresser il faut
Code:
$ unzip teo-1.8.7.tar.xz.zip
$ tar xvJf teo-1.8.7.tar.xz
emu/
emu/system/
emu/system/icons/
emu/system/icons/stepover.ico
emu/system/icons/run.ico
emu/system/icons/step.ico
emu/system/icons/leave.ico
emu/system/icons/snapin.ico
emu/system/icons/snapout.ico
emu/system/rom/
emu/system/rom/expl.rom
emu/system/rom/basic1.rom
emu/system/rom/monitor1.rom
emu/system/rom/basic512.rom
emu/system/rom/extramon.rom
emu/system/rom/monitor2.rom
emu/system/printer/
emu/system/printer/042/
emu/system/printer/042/picas.txt
emu/system/printer/612/
emu/system/printer/612/italc.txt
emu/system/printer/612/table.txt
emu/system/printer/612/scrpc.txt
emu/system/printer/612/picac.txt
emu/system/printer/612/picas.txt
emu/system/printer/612/elitc.txt
emu/system/printer/612/itals.txt
emu/system/printer/600/
emu/system/printer/600/italc.txt
emu/system/printer/600/scrpc.txt
emu/system/printer/600/picac.txt
emu/system/printer/600/picas.txt
emu/system/printer/600/elitc.txt
emu/system/printer/600/itals.txt
emu/system/printer/055/
emu/system/printer/055/picas.txt
emu/system/printer/582/
emu/system/printer/582/italc.txt
emu/system/printer/582/table.txt
emu/system/printer/582/scrpc.txt
emu/system/printer/582/picac.txt
emu/system/printer/582/picas.txt
emu/system/printer/582/conds.txt
emu/teo

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 21 Juin 2022, 22:22 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Merci Gilles !

Content de voir que le projet est toujours actif.

J'ai tenté une compilation sous windows avec TDM gcc, mais je tombe sur l'erreur suivante :
Code:
makefile.all:227: *** recipe commences before first target.  Stop.


J'ai du louper qq chose, une idée ?


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 22 Juin 2022, 12:09 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 492
Autre question ... Est-ce compilable sous MacOS ?


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 22 Juin 2022, 12:13 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Bentoc a écrit:
J'ai du louper qq chose, une idée ?
Tu as bien lancé le ./autogen.sh avant ?

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 22 Juin 2022, 22:02 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Je compile depuis Windows, donc j'ai utilisé fixmingw.

autogen.sh c'est pour compiler sous linux non ?


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 22 Juin 2022, 22:11 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Je ne sais plus trop. Je dirais "probablement".

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 23 Juin 2022, 06:07 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
je n'avais pas fait attention au .dev déjà fourni pour devc++, je vais utiliser ça.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 16 Juil 2022, 11:04 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Je viens de trouver un bug dans l'émulateur, qui a mon avis date d'il y a très longtemps ...
Je tiens à préciser que le code a été testé sur machine réelle et fonctionne.

Le contexte :
- Je monte dans l'espace cartouche ($0000-$3FFF) la page de RAM (2) qui me sert de buffer (plus tard elle est utilisée pour la vidéo)
- Je monte dans l'espace données ($A000-$DFFF) la page de RAM (1)
- Depuis la zone $4000, j'exécute un code qui vient écrire le contenu d'une disquette dans l'espace cartouche.
- Depuis la zone $4000 je décompresse les données en lisant en zone cartouche et en écrivant en zone données (en remontant)

Le bug :
Quand on charge la page 1 (système $6000-$9FFF) en zone donnée ($A000-$DFFF), et qu'on écrit en $BEF7 on devrait voir apparaitre les données en $7EF7, or l'émulateur écrit en $9EF7.

Le système de chargement de mon framework est basé sur ce principe (évidement on ne charge pas que la RAM 1 en zone données, on suit le même principe pour toutes les pages a charger), ce qui fait qu'aucun de mes programmes ne fonctionne sous teo :L pour le moment ...


Dernière édition par Bentoc le 16 Juil 2022, 14:18, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
MessagePosté: 16 Juil 2022, 13:03 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
L’inversion des deux moitiées de page de 16ko de ram entre l’espace donné et cartouche ou système est connu et documrnenté dans le manuel technique to8,9,9+
Fichier(s) joint(s):
Screenshot_20220716-144503_WPS Office.jpg
Screenshot_20220716-144503_WPS Office.jpg [ 234.2 Kio | Vu 7342 fois ]
Ce n’est donc pas un bug. Ce qui est plus surprenant est le fait que tu ne l’observes pas sur machine réelle.

Ou alors j’ai mal compris. Voudrais tu dire que, sous teo, l’inversion ne se produit exclusivement lorsque la page est visible ? (ce qui serait surprenant dans la mesure où l’adressage depuis le cpu n’est pas dépendant de l’automate d’affichage et qu’en plus les zones cartouche et données peuvent contenir des pages inaffichables). Une telle exclusivité "page affichée" devrait être visible par un gros if() ad-hoc qui ne devrait pas exister dans le source.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 16 Juil 2022, 14:23 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Je te propose un petit programme de test :

Code:
        lda   #1    ; page 1 (système) dans zone données
        sta   $E7E5

        lda   #$81  ; couleur cadre a 1
        sta   $9E00 ; init
        sta   $7E00 ; init

        lda   #$80  ; couleur cadre  a 0
        sta   $DE00
        lda   $9E00 ; on attend la couleur 0 a l'ecran
        sta   $E7DD
        bra   *


ci joint le .fd
Fichier(s) joint(s):
debug.zip [1.16 Kio]
Téléchargé 187 fois


Sur machine réelle et sur dcmoto on obtient un tour noir (couleur 0)
Sur teo (derniere version) j'ai un tour rouge (couleur 1)


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 16 Juil 2022, 14:40 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Si je modifie mon test pour utiliser la zone cartouche en lieu et place de la zone donnée le résultat est inverse :
- noir sur teo
- rouge sur dcmoto et machine réelle

Voici le code de teo :
Code:
static void update_system(void)
{
    mempager.segment[0x6]=mem.ram.bank[mempager.system.page];
    mempager.segment[0x7]=mem.ram.bank[mempager.system.page]+0x1000;
    mempager.segment[0x8]=mem.ram.bank[mempager.system.page]+0x2000;
    mempager.segment[0x9]=mem.ram.bank[mempager.system.page]+0x3000;
}


static void update_data(void)
{
    if (mode_page.system1&0x10)
        mempager.data.page = mempager.data.reg_page;
    else
        mempager.data.page = mempager.data.pia_page;

    mempager.segment[0xA]=mem.ram.bank[mempager.data.page]+0x2000;
    mempager.segment[0xB]=mem.ram.bank[mempager.data.page]+0x3000;
    mempager.segment[0xC]=mem.ram.bank[mempager.data.page];
    mempager.segment[0xD]=mem.ram.bank[mempager.data.page]+0x1000;
}


La zone système devrait pas être init comme la zone data ?
A mon avis le problème est ici ...


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 35 messages ]  Aller à la page 1, 2, 3  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 18 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com