[Thomson][OS9] OS9 sur TO8/TO8D

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

Fool-DupleX
Messages : 2367
Inscription : 06 avr. 2009 12:07

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par Fool-DupleX »

Moi je veux bien que tu valides la version 6809. J'étais sensé le faire, mais je n'arrive pas à trouver une minute et en plus, je suis temporairement à cours de puces.

Pour communiquer avec ta simple cartouche, il faut un descripteur de périphérique qui ne fait qu'une cinquantaine de ligne et le pilote pour la T.2 devrait faire l'affaire. Tu n'auras que 16 Ko de ROM vue comme un disque virtuel en plus.
CrossmanBx
Messages : 146
Inscription : 25 oct. 2022 13:54

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par CrossmanBx »

OK, ca va encore donner du boulot à Jacques tout ça ! ;)
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par jb_jb_fr »

Merci Daniel pour ta réponse
Cette table ma été très utile:

Code : Tout sélectionner

/*=================================================================\
| Clavier TO8, TO8D                                                |
\==================================================================/
     0   1   2   3   4   5   6   7   8   9   a   b   c   d   e   f
 ------------------------------------------------------------------
 0 | F2  6   Y   H   UP  RGT RAZ N   F3  5   T   G   =   LFT INS B
 1 | F4  4   R   F   ACC 1²  DEL V   F5  3   E   D   7²  4²  0²  C
 2 | F1  2   Z   S   8²  2²  .²  X   @   1   A   Q   [   5²  6²  W
 3 | STP 7   U   J   SPC 9²  ENT²,       8   I   K   $   DWN ]   ;
 4 |     9   O   L   -   %   ENT :       0   P   M   )   ^   3²  >
 5 | LCK MAJ MAJ CNT
pour les touches du pavé numérique.
Je pense que maintenant je gère mieux ces touches la


Par contre, les code LCK MAJ MAJ CNT me chiffonne car la table de conversion dans le TO8/TO8D ne va que jusqu’à $4F:

Code : Tout sélectionner

$0000F24E : 91 5F 79 68 0B 09 1E 6E 92 28 74 67 3D 08 1C 62  ._yh...n.(tg=..b  <- 1ere table
$0000F25E : 93 27 72 66 16 9B 1D 76 94 22 65 64 A1 9E 9A 63  .'rf...v."ed...c
$0000F26E : 90 80 7A 73 A2 9C A4 78 23 2A 61 71 5B 9F A0 77  ..zs...x#*aq[..w
$0000F27E : 02 81 75 6A 20 A3 A5 2C B0 21 69 6B 24 0A 5D 3B  ..uj ..,.!ik$.];
$0000F28E : B7 82 6F 6C 2D 84 0D 3A B3 83 70 6D 29 5E 9D 3E  ..ol-..:..pm)^.>
$0000F29E : 96 36 59 48 0B 09 0C 4E 97 35 54 47 2B 08 1C 42  .6YH...N.5TG+..B  <-- 2eme table
$0000F2AE : 98 34 52 46 16 9B 7F 56 99 33 45 44 A1 9E 9A 43  .4RF..V.3ED...C
$0000F2BE : 95 32 5A 53 A2 9C A4 58 40 31 41 51 7B 9F A0 57  .2ZS...X@1AQ{..W
$0000F2CE : 03 37 55 4A 20 A3 A5 3F B0 38 49 4B 26 0A 7D 2E  .7UJ ..?.8IK&.}.
$0000F2DE : B8 39 4F 4C 5C 25 0D 2F B3 30 50 4D 86 85 9D 3C  .9OL\%./.0PM...<
Donc je ,ne vois pas comment il peut y avoir des code > $4F :-(

De plus, dans ta table il y a encodes des trous
Saurais-tu à quoi ils correspondent.

Merci pour ton aide

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

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par Daniel »

Le décodage des touches spéciales (SHIFT-LOCK, MAJ gauche, MAJ droite, CNT) n'utilise pas la table en ROM du TO8.
Elles sont testées par le programme de décodage avant de chercher le code ASCII dans une des tables.

Elles ne génèrent pas un code ASCII, elles permettent seulement de choisir la table à utiliser pour décoder les touches normales.
Les 77 touches normales sont codées de $00 à $4F (avec trois "trous" dans la codification).

Code : Tout sélectionner

--------------------------------
GETC = lecture/ecriture clavier
--------------------------------
EFC1  341A      PSHS   X,DP,A                     
EFC3  8660      LDA    #$60
EFC5  1F8B      TFR    A,DP
EFC7  9619      LDA    <$19         lecture status
EFC9  8502      BITA   #$02         $6019 b1 = GETC en ecriture           
EFCB  1027008A  LBEQ   $F059 -----> GETC en lecture

--------------------------------
GETC mode ecriture clavier
--------------------------------
EFCF  84FD      ANDA   #$FD         $6019 b1=0 raz bit ecriture
EFD1  9719      STA    <$19         maj status
EFD3  3401      PSHS   CC          
EFD5  1A50      ORCC   #$50         
EFD7  B6E7C1    LDA    $E7C1                  
EFDA  C1F6      CMPB   #$F6    
EFDC  271F      BEQ    $EFFD -----> B=F6
EFDE  C1F7      CMPB   #$F7
EFE0  2722      BEQ    $F004 -----> B=F7
EFE2  B6E7C3    LDA    $E7C3
EFE5  C1F8      CMPB   #$F8  
EFE7  2722      BEQ    $F00B -----> B=F8
EFE9  C1F9      CMPB   #$F9
EFEB  2727      BEQ    $F014 -----> B=F9
EFED  C1FA      CMPB   #$FA   
EFEF  272C      BEQ    $F01D -----> B=FA    
EFF1  968B      LDA    <$8B   
EFF3  C1FB      CMPB   #$FB   
EFF5  2753      BEQ    $F04A -----> B=FB
EFF7  C1FC      CMPB   #$FC     
EFF9  2755      BEQ    $F050 -----> B=FC  
EFFB  200C      BRA    $F009 -----
===== B=F6                        |
EFFD  84FE      ANDA   #$FE       |
EFFF  B7E7C1    STA    $E7C1      | $E7C1 b0=0  interruptions masquees
F002  2005      BRA    $F009 ---->| suite
===== B=F7                        |
F004  8A01      ORA    #$01       | 
F006  B7E7C1    STA    $E7C1      | $E7C1 b0=1  interruptions actives
F009  2049      BRA    $F054 ---->| suite 
===== B=F8                        |
F00B  84D7      ANDA   #$D7       |   
F00D  B7E7C3    STA    $E7C3      |
F010  8601      LDA    #$01       |
F012  2012      BRA    $F026 --   |
===== B=F9                     |  |
F014  84D7      ANDA   #$D7    |  |
F016  B7E7C3    STA    $E7C3   |  |
F019  8602      LDA    #$02    |  |
F01B  2009      BRA    $F026 ->|  |
===== B=FA                     |  |
F01D  84DF      ANDA   #$DF    |  |
F01F  8A08      ORA    #$08    |  |
F021  B7E7C3    STA    $E7C3   |  |
F024  8603      LDA    #$03 -->|  |
====  B=F8,F9,FA               |  |
F026  F6E7C3    LDB    $E7C3 <-   |
F029  F6E7C1    LDB    $E7C1      |    
F02C  C4FD      ANDB   #$FD       |   
F02E  F7E7C1    STB    $E7C1      | $E7C1 b1=0 front descendant  
F031  C602      LDB    #$02       |
F033  F5E7C0    BITB   $E7C0 <--  |   
F036  27FB      BEQ    $F033 ---  | attente $E7C0 bit 1   
F038  C680      LDB    #$80 <--   | temporisation  
F03A  5A        DECB       <-- |  |   
F03B  26FD      BNE    $F03A - |  |   
F03D  4A        DECA           |  |  
F03E  26F8      BNE    $F038 --   | 
F040  F6E7C3    LDB    $E7C3      |
F043  CA20      ORB    #$20       |
F045  F7E7C3    STB    $E7C3      | 
F048  200A      BRA    $F054 ---->| 
===== B=FB                        |
F04A  8A08      ORA    #$08       | 
F04C  978B      STA    <$8B       |
F04E  2004      BRA    $F054 ---->|
===== B=FC                        | 
F050  84F7      ANDA   #$F7       |
F052  978B      STA    <$8B       | 
F054  3501      PULS   CC <-------  
F056  5F        CLRB   
F057  2033      BRA    $F08C -----> retour

--------------------------------
GETC mode lecture clavier
--------------------------------
F059  B6E7C1    LDA    $E7C1        registre de controle 6846      
F05C  8501      BITA   #$01         $E7C1 b0=interruptions masquees
F05E  2706      BEQ    $F066 --     keyboard interrupt non masquees
F060  1FA8      TFR    CC,A    |
F062  8510      BITA   #$10    |    
F064  270E      BEQ    $F074 --|--  IRQ masquees
F066  B6E7C0    LDA    $E7C0 <-   |
F069  8502      BITA   #$02       | keyboard interrupt flag
F06B  2707      BEQ    $F074 ---->| pas d'interruption clavier
F06D  3469      PSHS   U,Y,DP,CC  |
F06F  BDF08E    JSR    $F08E      | lecture d'un caractere clavier
F072  3569      PULS   CC,DP,Y,U  |
F074  5F        CLRB        <-----
F075  965E      LDA    <$5E         $605E: READCLV pointeur lecture buffer clavier
F077  9167      CMPA   <$67         $6067: WRITECLV pointeur ecriture buffer clavier
F079  2711      BEQ    $F08C -----> pas de caractere disponible : retour
F07B  1E89      EXG    A,B
F07D  9E79      LDX    <$79         $6079: BUFCLV debut du buffer
F07F  E68B      LDB    D,X          B= caractere pointe 
F081  965E      LDA    <$5E         $605E: READCLV pointeur de lecture
F083  4C        INCA                incrementation pointeur lecture
F084  917B      CMPA   <$7B         $607B: SIZCLAV taille du buffer
F086  2B01      BMI    $F089 --  
F088  4F        CLRA           |    raz pointeur lecture   
F089  975E      STA    <$5E <--
F08B  5D        TSTB                positionne le bit Z en l'absence de touche
F08C  359A      PULS   A,DP,X,PC

---------------------------------
Lecture d'un caractère clavier
---------------------------------
F08E  8660      LDA    #$60    
F090  1F8B      TFR    A,DP
F092  109E6C    LDY    <$6C         Y = touche precedente stockee dans $606c
F095  B6E7C3    LDA    $E7C3        lecture de E7C3 => clear interrupt flags
F098  8E0100    LDX    #$0100       X = touche actuelle initialisee a $0100
F09B  9F6C      STX    <$6C         initialisation code touche à 1
F09D  B6E7C3    LDA    $E7C3
F0A0  84DF      ANDA   #$DF         raz $E7C3 b5 (ACK)    
F0A2  B7E7C3    STA    $E7C3        envoi de l'acknowledge

-------------------------------
Lecture buffer clavier
Scancode place en $606C-$606D
-------------------------------
F0A5  8602      LDA    #$02 
F0A7  BAE7C1    ORA    $E7C1      |         203C BRA $F0E5                          JMP $F0E5
F0AA  B7E7C1    STA    $E7C1      | positionnement bit 1 de E7C1 = interruptions non masquées
F0AD  5F        CLRB              | B=0=n° du bit lu
F0AE  8602      LDA    #$02       | 
F0B0  B5E7C0    BITA   $E7C0 <-   | attente $E7C0 b1: keyboard interrupt flag
F0B3  27FB      BEQ    $F0B0 --   |
F0B5  B6E7C3    LDA    $E7C3      | lecture de E7C3 => clear interrupt flags
F0B8  B6E7C1    LDA    $E7C1      |
F0BB  84FD      ANDA   #$FD       |
F0BD  B7E7C1    STA    $E7C1      | $E7C1 b1=0 (CP1 interruption clavier sur front descendant)
F0C0  8602      LDA    #$02       |
F0C2  5C        INCB        <--   | B++
F0C3  B5E7C0    BITA   $E7C0   |  | attente $E7C0 b1=cp1 interrupt flag (clavier) 
F0C6  27FA      BEQ    $F0C2 --   |
F0C8  B6E7C3    LDA    $E7C3      | lecture de E7C3 => clear interrupt flags
F0CB  C103      CMPB   #$03       |
F0CD  2404      BHS    $F0D3 -    |
F0CF  1CFE      ANDCC  #$FE   |   | raz carry
F0D1  2002      BRA    $F0D5 -|-  |
F0D3  1A01      ORCC   #$01 <-  | | set carry
F0D5  0D6D      TST    <$6D <---  | 
F0D7  2608      BNE    $F0E1 --   |
F0D9  096C      ROL    <$6C    |  |  
F0DB  24C8      BHS    $F0A5 --|->|
F0DD  0A6D      DEC    <$6D    |  |
F0DF  20C4      BRA    $F0A5 --|--   
F0E1  096C      ROL    <$6C <--      
F0E3  096D      ROL    <$6D      

-------------------------------
Recherche du code ASCII
-------------------------------
F0E5  B6E7C3    LDA    $E7C3   
F0E8  8A20      ORA    #$20            
F0EA  B7E7C3    STA    $E7C3         reset $E7C3 b5 (fin du signal acknowlege)
F0ED  B6E7C1    LDA    $E7C1   
F0F0  84FD      ANDA   #$FD          $E7C1 b1=0 (CP1 interruption clavier sur front montant)
F0F2  8A01      ORA    #$01          $E7C1 b0=1 (interruption enabled)
F0F4  B7E7C1    STA    $E7C1          
F0F7  966C      LDA    <$6C          
F0F9  8580      BITA   #$80          le bit 7 indique un caractere shifte
F0FB  2605      BNE    $F102 ---
F0FD  8EF24E    LDX    #$F24E   |    table ASCII caracteres non shiftes
F100  2005      BRA    $F107 ---|--
F102  8EF29E    LDX    #$F29E <-   | table ASCII caracteres shiftes
F105  847F      ANDA   #$7F        |
F107  E686      LDB    A,X  <------  B=code ASCII 
F109  B6E7C3    LDA    $E7C3
F10C  8508      BITA   #$08          test bit 3 de E7C3 (capslock)
F10E  2614      BNE    $F124 ----    branchement si capslock n'est pas actif 
F110  C161      CMPB   #$61      |   'a'
F112  2510      BLO    $F124 --->|   branchement si inferieur à 'a'
F114  C17B      CMPB   #$7B      |   'z'
F116  2402      BHS    $F11A -   |   branchement si superieur à 'z'
F118  C020      SUBB   #$20   |  |   passage en majuscule des lettres minuscules
F11A  C18C      CMPB   #$8C <-   |   
F11C  2506      BLO    $F124 --->|
F11E  C18F      CMPB   #$8F      | 
F120  2402      BHS    $F124 --->|
F122  C003      SUBB   #$03      |   
F124  966D      LDA    <$6D <----     
F126  8501      BITA   #$01          le bit 0 indique un caractere avec CTRL 
F128  2725      BEQ    $F14F ----
F12A  C1B7      CMPB   #$B7      |    B7=pas de touche detectee
F12C  2727      BEQ    $F155 ----|--
F12E  C1B8      CMPB   #$B8      |  | B8=pas de touche detectee avec shift
F130  2723      BEQ    $F155 ----|->|
F132  C123      CMPB   #$23      |  | 23=#
F134  2603      BNE    $F139 -   |  |
F136  5F        CLRB          |  |  |
F137  2016      BRA    $F14F -|->|  |
F139  C140      CMPB   #$40 <-   |  | 40=@ 
F13B  2512      BLO    $F14F --->|  |
F13D  C15F      CMPB   #$5F      |  | 5F=_
F13F  2204      BHI    $F145 -   |  |
F141  C040      SUBB   #$40   |  |  |
F143  200A      BRA    $F14F -|->|  |
F145  C161      CMPB   #$61 <-   |  | 61=a
F147  2506      BLO    $F14F --->|  |
F149  C17F      CMPB   #$7F      |  | 7F=DEL
F14B  2202      BHI    $F14F --->|  |
F14D  C060      SUBB   #$60      |  |
F14F  109F6C    STY    <$6C <----   |
F152  8D05      BSR    $F159        | stockage du code touche  
F154  39        RTS      --> retour |   
F155  109F6C    STY    <$6C <-------  restauration code precedent 
F158  39        RTS    

---------------------------------
Stockage du code touche
---------------------------------
F159  9619      LDA    <$19            Status
F15B  44        LSRA   
F15C  2551      BCS    $F1AF --------> F1AF 
F15E  5D        TSTB   
F15F  2601      BNE    $F162---  
F161  39        RTS        ----|-----> retour
F162  2A7B      BPL    $F1DF <-  ----> F1DF  mise a jour buffer clavier
F164  C190      CMPB   #$90
F166  2B47      BMI    $F1AF --------> F1AF
F168  C1B0      CMPB   #$B0
F16A  241D      BHS    $F189 -----
F16C  C19A      CMPB   #$9A       |
F16E  256F      BLO    $F1DF -----|--> F1DF  mise a jour buffer clavier
F170  968B      LDA    <$8B       |
F172  8508      BITA   #$08       |
F174  2669      BNE    $F1DF -----|--> F1DF  mise a jour buffer clavier
F176  C1A4      CMPB   #$A4       |
F178  2604      BNE    $F17E --   |
F17A  C62E      LDB    #$2E    |  |
F17C  2009      BRA    $F187 --|--|--> F1DF  mise a jour buffer clavier
F17E  C1A5      CMPB   #$A5 <--   |
F180  2603      BNE    $F185 --> C06A  SUBB #$6A --> F1DF  mise a jour buffer clavier
F182  C60D      LDB    #$0D       |
F184  7DC06A    TST    $C06A      |
F187  2056      BRA    $F1DF -----|--> F1DF  mise a jour buffer clavier
F189  B6E7C3    LDA    $E7C3 <----
F18C  C1B7      CMPB   #$B7            pas de touche et pas de shift
F18E  2706      BEQ    $F196 --
F190  C1B8      CMPB   #$B8    |       pas de touche et shift
F192  260C      BNE    $F1A0 --|--
F194  2003      BRA    $F199 --|--|-> 84F7  ANDA #$F7 --
F196  8A08      ORA    #$08 <--   |                     |
F198  7D84F7    TST    $84F7      |                     |
F19B  B7E7C3    STA    $E7C3 <----|---------------------
F19E  200E      BRA    $F1AE -----|--
F1A0  968B      LDA    <$8B <-----   |
F1A2  C1B0      CMPB   #$B0          |
F1A4  2704      BEQ    $F1AA --      |
F1A6  8A02      ORA    #$02    |     |
F1A8  2002      BRA    $F1AC --|--   |
F1AA  84FD      ANDA   #$FD <--   |  |
F1AC  978B      STA    <$8B <-----   |
F1AE  39        RTS        <---------

---------------------------------
Codes shiftes
---------------------------------
F1AF  8614      LDA    #$14
F1B1  8EF24E    LDX    #$F24E   codes ASCI caracteres shiftes 
F1B4  4A        DECA        <---  
F1B5  2728      BEQ    $F1DF    |  mise a jour buffer clavier
F1B7  301D      LEAX   -$03,X   |
F1B9  E184      CMPB   ,X       |
F1BB  26F7      BNE    $F1B4 ---
F1BD  1E89      EXG    A,B
F1BF  8D4B      BSR    $F20C
F1C1  C104      CMPB   #$04
F1C3  2B4F      BMI    $F214
F1C5  1E89      EXG    A,B
F1C7  9619      LDA    <$19     6019=Status 0=traitement sequences SS2 dans GETC
F1C9  44        LSRA                        1=transmission par GETC
F1CA  2504      BLO    $F1D0                2=curseur visible ou invisible
F1CC  C616      LDB    #$16                 3=forme seule
F1CE  8D0F      BSR    $F1DF                4=graphique sans ecriture couleur
F1D0  C18F      CMPB   #$8F                 5=IRQ timer validee
F1D2  2605      BNE    $F1D9 --             6=scroll rapide
F1D4  CC0041    LDD    #$0041  |            7=semi-graphique
F1D7  2002      BRA    $F1DB --|--
F1D9  EC01      LDD    $01,X <-   |
F1DB  8D02      BSR    $F1DF <----  mise a jour buffer clavier
F1DD  1E89      EXG    A,B

---------------------------------
Mise à jour du buffer clavier
---------------------------------
F1DF  3406      PSHS   B,A
F1E1  8D29      BSR    $F20C    controle place dans le buffer clavier
F1E3  C102      CMPB   #$02
F1E5  2B23      BMI    $F20A -> retour  n'ecrit pas le caractere s'il n'y a plus de place
F1E7  D619      LDB    <$19         Status 
F1E9  A661      LDA    $01,S
F1EB  8116      CMPA   #$16   
F1ED  2603      BNE    $F1F2 --> C4FE  ANDB #$FE --
F1EF  CA01      ORB    #$01                        |
F1F1  7DC4FE    TST    $C4FE                       |
F1F4  D719      STB    <$19  <---------------------          Status              
F1F6  4F        CLRA                        
F1F7  109E79    LDY    <$79     6079-7A=adresse buffer reception clavier
F1FA  D667      LDB    <$67     6067=pointeur ecriture buffer clavier  
F1FC  31AB      LEAY   D,Y
F1FE  A661      LDA    $01,S
F200  A7A4      STA    ,Y       ecrit le scancode dans le buffer clavier 
F202  5C        INCB   
F203  D17B      CMPB   <$7B     607B=longueur buffer clavier
F205  2B01      BMI    $F208 -
F207  5F        CLRB          |
F208  D767      STB    <$67 <-  met a jour le pointeur d'ecriture
F20A  3586      PULS   A,B,PC

----------------------------------
Controle place dans buffer clavier    adresse en $6079
----------------------------------
F20C  D65E      LDB    <$5E     $605E=pointeur lecture buffer clavier
F20E  D067      SUBB   <$67     $6067=pointeur d'ecriture buffer clavier
F210  2E02      BGT    $F214 -
F212  DB7B      ADDB   <$7B   | $607B=longueur du buffer clavier
F214  39        RTS       <---
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par jb_jb_fr »

Merci Daniel pour le code commenté

Pour info, voila le matriçage du clavier, avec les codes renvoyés par la 6804.
Ta table envoyé, n'avait qu'une partie de la table:

Code : Tout sélectionner

/*
Clavier TO8D:
            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F   0123456789ABCDEF
$0000F24E : 91 5F 79 68 0B 09 1E 6E 92 28 74 67 3D 08 1C 62  ._yh...n.(tg=..b  0x00
$0000F25E : 93 27 72 66 16 9B 1D 76 94 22 65 64 A1 9E 9A 63  .'rf...v."ed...c  0x10
$0000F26E : 90 80 7A 73 A2 9C A4 78 23 2A 61 71 5B 9F A0 77  ..zs...x#*aq[..w  0x20
$0000F27E : 02 81 75 6A 20 A3 A5 2C B0 21 69 6B 24 0A 5D 3B  ..uj ..,.!ik$.];  0x30
$0000F28E : B7 82 6F 6C 2D 84 0D 3A B3 83 70 6D 29 5E 9D 3E  ..ol-..:..pm)^.>  0x40

Shift:
                                                                   0123456789ABCDEF
$0000F29E : 96 36 59 48 0B 09 0C 4E 97 35 54 47 2B 08 1C 42  .6YH...N.5TG+..B  0x80
$0000F2AE : 98 34 52 46 16 9B 7F 56 99 33 45 44 A1 9E 9A 43  .4RF...V.3ED...C  0x90
$0000F2BE : 95 32 5A 53 A2 9C A4 58 40 31 41 51 7B 9F A0 57  .2ZS...X@1AQ{..W  0xA0
$0000F2CE : 03 37 55 4A 20 A3 A5 3F B0 38 49 4B 26 0A 7D 2E  .7UJ ..?.8IK&.}.  0xB0
$0000F2DE : B8 39 4F 4C 5C 25 0D 2F B3 30 50 4D 86 85 9D 3C  .9OL\%./.0PM...<  0xC0
*/

/*
/==================================================================\
| Clavier TO8, TO8D                                                |
\==================================================================/

        .0  .1  .2  .3  .4  .5  .6   .7  .8  .9  .A  .B  .C  .D  .E  .F
 ------------------------------------------------------------------
 0x0. | F2  _   y   h   UP  RGT Home n   F3  (   t   g   =   LFT INS b
 0x1. | F4  \   r   f   ACC 1²  EFF  v   F5  "   e   d   7²  4²  0²  c
 0x2. | F1  é   z   s   8²  2²  .²   x   #   *   a   q   [   5²  6²  w
 0x3. | STP è   u   j   SPC 9²  ENT² ,       !   i   k   $   DWN ]   ;
 0x4. |     ç   o   l   -   ù   ENT  :       à   p   m   )   ^   3²  >


        .0  .1  .2  .3  .4  .5  .6   .7  .8  .9  .A  .B  .C  .D  .E  .F
 ------------------------------------------------------------------
 0x8. | F7  6   Y   H   UP  RGT RAZ  N   F8  5   T   G   +   LFT INS B
 0x9. | F9  4   R   F   ACC 1²  DEL  V   F10 3   E   D   7²  4²  0²  C
 0xA. | F6  2   Z   S   8²  2²  .²   X   @   1   A   Q   {   5²  6²  W
 0xB. |     7   U   J   SPC 9²  ENT² ,       8   I   K   &   DWN }   .
 0xC. |     9   O   L   \   %   ENT  :       0   P   M   °   ¨   3²  <

 CapsLock_off : 0x40 --> tout est en minuscule
 CapsLock_on  : 0xC0 --> Tout est en MAJUSCULE

*/
Pour l'instant, pour OS9, je vais transformer toutes les lettres accentuées, en lettres non-accentuées ;-)
L'info du code 0x40 / 0xC0, n'est vraiment la qu'a titre informatif, car, lors de la transmission d'info, le bit 7 veut dire soit shift appuyé, soit CapsLock enclenché.
Donc libre à l'utilisateur d'en faire ce qu'il veut (pour gérer un flag par exemple)

Je pense que le code $B0 correspond à Shift-Stop
Je n'ai pas encore compris les codes $38, $48, $B8, $C8 :-(

Jacques
CrossmanBx
Messages : 146
Inscription : 25 oct. 2022 13:54

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par CrossmanBx »

Bonjour à tous.

Je viens d'essayer la version TO8 6809 avec un 63b09e et un 6809e.

Elles fonctionnent de façon identique sur les deux.

Quelques petit bug au niveau clavier : Lors d'appuis répétés sur les numériques (et donc shiftées), quelques bugs surviennent.
Voir lien :
https://youtu.be/YCNmZ10NLiQ

De plus, je ne sais si le défilement de l'écran sur cette version n'est pas buggée car elle est nettement moins rapide que la version 6309.
Pas de bugs clavier sur la version 6309 non plus :
https://youtube.com/shorts/ZBeLKQRIiA0

Dans la dernière vidéo (6309), on s'aperçoit lors du défilement verticale de l'écran, que les caractères ne suivent pas tous en même temps.
C'est beaucoup plus flagrant sur la version 6809.
https://youtube.com/shorts/Whauoo9LEyQ


N'ayant pas accès au lecteur de disquette, je ne sais que faire comme tests Jacques.
Peut-être pourrais-tu imaginer un "process" de contrôle qualité ! ;) ;)
__sam__
Messages : 7989
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par __sam__ »

Dans la dernière vidéo (6309), on s'aperçoit lors du défilement verticale de l'écran, que les caractères ne suivent pas tous en même temps.
C'est beaucoup plus flagrant sur la version 6809.
C'est normal: il faut faire scroller deux pages écran de 8ko séparément, ce qui introduit un décalage dans le scroll des colonnes paires par rapport aux impaires.
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
Fool-DupleX
Messages : 2367
Inscription : 06 avr. 2009 12:07

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par Fool-DupleX »

elle est nettement moins rapide que la version 6309.
les caractères ne suivent pas tous en même temps.
Tout cela est normal. La version 6309 utilise les instructions accélérées pour faire le scroll écran et en mode 80 colonnes, les colonnes sont entrelacées.

Je suggère de ne pas polluer le forum avec des détails qui n'ont pas été d'abord discutés avec Jacques ou moi-même.
CrossmanBx
Messages : 146
Inscription : 25 oct. 2022 13:54

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par CrossmanBx »

Je ne pensais pas polluer...
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17541
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par fneck »

Non CrossmanBx tu ne pollues pas. Tu t'es donné la peine d'essayer le programme, de faire des vidéos et de les poster ici, alors non tu es dans le sujet.

Je pense qu'il faut arrêter d'être trop exigeant (voir les événements récents et là je m'adresse à tout le monde) car le risque au final est de rebuter les membres de venir ici. On est sur un forum, CrossmanBx est parfaitement dans le sujet, il n'a pas trollé... donc merci pour tes vidéos 8)
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par jb_jb_fr »

Bonjour CrossmanBx

Merci pour tes tests.

Malgré les petites imperfections du clavier que tu as notées, tu peux vraiment voir la différence de vitesse d’exécution entre le 6309 et le 6809
En effet, sur la version OS9 6309, le µp 6309 est configuré en mode natif. C'est a dire que j'ai accès à toutes les instructions du 6309, et ce qui m'a permis d'optimiser les transferts mémoires
En mode OS9 6809, le 6309 est mis en mode émulation. Ce qui donne des instructions des fois un peu plus rapide que le 6809, mais pas tout le temps.

Si je me souviens bien, ton but était de voir une machine avec un 6309, en mode natif.
Et bien tu le vois en direct, et tu peux constater que le 6309, avec ses nouvelles instructions, permet de gagner énormément en vitesse d’exécution.
Ces transferts vidéo en est un exemple flagrant.

Malheureusement je ne pourrais pas faire mieux.
Car comme le souligne Sam (et Fool) il faut transférer 2*8Ko de mémoire, qui ne se fait pas d'un coup :-(

Jacques
Fool-DupleX
Messages : 2367
Inscription : 06 avr. 2009 12:07

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par Fool-DupleX »

il faut arrêter d'être trop exigeant
Il faut que je clarifie ma pensée.

CrossmanBX nous a contacté récemment pour tester OS-9. C'est formidable, car nous manquons de bras sur ce projet et sa contribution est très appréciée.

Simplement, les points auxquels il fait référence sont des choses connues depuis le début et ne sont pas des bugs (sauf le clavier TO8, bien sûr, c'est un dev en cours).

Ce n'est pas très courtois pour Jacques et moi-même, qui nous tapons (enfin surtout Jacques) tout le boulot sur OS-9 depuis 20 ans, de jeter en pâture sans prévenir sur le forum des pseudo-soucis de scroll ou de lenteur qui en fait n'en sont pas. Il nous eût posé la question en privé d'abord, vu qu'on discute déjà hors du forum, je n'aurais pas fait de remarque.

Et puis il tape trop fort sur son clavier, j'ai mal pour son TO8 :lol: (c'est une blague, hein ! :wink: )
CrossmanBx
Messages : 146
Inscription : 25 oct. 2022 13:54

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par CrossmanBx »

Pour l'anecdote, j'ai redecouvert en octobre dernier mon TO9 qui dormait dans la famille depuis 30 ans.
Je ne suis votre forum que depuis ces quelques mois.
Ce même forum m'a fait prendre conscience qu'un TO8 serait moins limité, j'en ai donc acquéri un auprès de Fneck, je l'en remercie grandement.
J'ai lu beaucoup de choses ici, mais je ne rattraperai jamais toutes ces années d' expériences que vous détenez.
Loin de moi l'idée même de jeter en pature le travail que vous avez accompli sur OS/9. Je le trouve formidable.
J'ai proposé à Jacques de tester OS/9 et de lui remonter les bugs. Je lui faisais part donc de mes constatations par mail.
Quand j'ai remarqué qu'un topic était ouvert à ce sujet, j'ai préféré poster ici. Ces écrits là restent et participent à l'information et à la communauté, du moins à mon sens.
Néophyte comme je suis, Fool, c'est pas forcément évident de faire une différence entre un bug et une réelle différence d'exécution de par le processeur.
Je continuerai donc d'aider modestement sur le projet, par mail. Libre à vous ensuite de diffuser ou non.

Et effectivement, faut que je me calme sur le clavier du TO8 ;)
Fool-DupleX
Messages : 2367
Inscription : 06 avr. 2009 12:07

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par Fool-DupleX »

Le malentendu est dissipé :)

Comme OS-9 avançait très lentement, et que nous avons souvent, ici ou là (pas forcément sur ce forum), été critiqués pour l'inutilité du projet, nous préférions jusqu'ici faire des annonces publiques quand il y a du progrès, pas quand il y a des problèmes, réels ou non.

Tu n'es pas sur Discord par hasard ? Nous avons un fil consacré au projet OS-9 là-bas et c'est encore plus pratique que le forum pour garder les traces et les fichiers échangés. L'avantage étant qu'on peut bosser et échanger en live.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17541
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [Thomson][OS9] OS9 sur TO8/TO8D

Message par fneck »

Pour clore ce malentendu, je reprends tes termes, je tiens quand même encore à rappeler une dernière chose. C'est d'ailleurs une discussion qu'on a déjà eu dans un autre topic à propos d'un dépannage où te me disais que ça se passait en MP.

Un forum est vivant par ses messages et ses discussions. Si tout se passe en MP c'est comme s'il ne se passait rien et au final le forum se meurt. C'est tout simple.

(fin du HS, j'arrête de polluer)
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Répondre