TM990/189

C'est la catégorie reine de l'ordinophile, 8 bits et pas un de plus!
Single board ou bus S-100 acceptés.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
jeffounet
Messages : 1563
Inscription : 25 janv. 2020 06:59
Localisation : Les Angles (30)

Re: TM990/189

Message par jeffounet »

Je suis débutant sous PROTEUS, j'utilise la version du Lycée qui doit être la 8.7 je crois mais comme je n'ai pas trouvé ou ils ont rangé la doc ..... :?: :?: :twisted:
Tu parle de quelle implantation? celle de la carte vidéo???? :?: :?: :?: :?: :?: :?:
Ou alors je n'ai pas bien compris ton message.

Bonne journée

Jean-François
Il n'y a que 11 sortes de gens, ceux qui comprennent ceux qui ne comprennent pas et ceux qui me font répéter!
Jean-François
humeur
Messages : 1875
Inscription : 11 août 2008 13:13
Localisation : la roche sur yon
Contact :

Re: TM990/189

Message par humeur »

Mon Proteus doit être plus vieux.

L'implantation des composants sur le PCB j'ai vu cela dans un des PDF.

Pour faire des pcb j'utilise EasyEDA j'en suis pas trop mécomptant.

JL
Recherche Tout sur le TI99/4a que ce soit materiel Texas ou Atronic, Mechatronic, Vidéopac, victor hector
figurine Kinder
Avatar de l’utilisateur
caljer
Messages : 7
Inscription : 13 sept. 2021 18:47
Localisation : Sunnyvale, CA, USA
Contact :

Re: TM990/189

Message par caljer »

Bonjour, je suis content de voir un fil récent sur la carte TM990/189. En effet je suis l'heureux possesseur d'une carte université TM990/190 acheté en France au début des années 80 (80 ou 81) et équipée avec les EPROM U32/U33 University BASIC. A l'époque j'avais fait les modifications nécessaires pour connecter un écran/clavier (énorme machin acheté d'occasion) via l'UART TMS9902 et les composants et connecteur comme indiqué dans la doc.
Toute la doc papier que j'ai est en français et j'ai bien entendu trouvé en ligne les docs en anglais.
Depuis quelques semaines j'ai entrepris de programmer une EPROM (2732) avec le code binaire de la ROM UNIBUG pour pouvoir maniper en assembleur TMS9900.
Mon programmeur d'EPROM antique (un Needham SA-20) fonctionne en standalone pour la duplication d'EPROM et communique avec un logiciel DOS ou via emulation terminal pour le transfert de fichier binaire d'un PC vers le programmeur (ou pour un dump vers le PC).
N'etant pas arrivé à communiquer de manière fiable soit avec un view PC tournant Windows XP ou en émulation avec DOSBox sur mon MacBook, je suis arrivé à une solution loin d'être satifaisante avec l'émulation terminal via le port série et un transfert de fichier qui marchotte (c.a.d. que seuls les 64 premiers octets sont transférés sans erreurs).
J'ai donc dû découpé le fichier binaire de U33 en blocs de 64 octets, les convertir au format Intel HEX (avec un script Python) et les transférer sur le SA-20 en adjustant le pointeur dans le buffer à chaque itération (c.a.d. 64 fois!). Rétrospectivement, j'aurais du investir dans un programmeur d'EPROM moderne comme on en trouve en quantité sur AliExpress.
A savoir aussi que les EPROMs 2732 (4K) du commerce ne sont pas compatible broche pour broche avec la TMS2532 de TI de l'époque et qu'il faut donc construire (ou acheter sur eBay) un adaptateur pour re-router 3 des broches.
Deux solutions pour le faire: 2 supports de circuits intégrés 24 broches emboités l'un sur l'autre avec les 3 pattes en questions soulevées sur le support du dessus et des petits fils fins soudés dans le bon sens. Autre solution, un morceau de plaquette à pastilles double face, un support d'IC sur le dessus, 2 rangées de broches au dessous.

Le premier essai avec mon EPROM programmée UNIBUG me donne un message d'erreur sur l'affichage à LED au lieu d'un délicieux "CPU READY" :wink: .
Après une vérification ligne par ligne entre le code hexa du fichier binaire et le contenu de l'EPROM relu sur le SA-20, j'ai trouvé 2 blocs de 64 octets éronnés: un qui était un duplicata du bloc précédant, l'autre vide (00 00 ... 00).
Encore un petit effort pour arriver à mes fins...
A suivre.

Par ailleurs je suis interessé par les schemas de la carte graphique dont la gestion est bien présente dans les fonctions University BASIC. Je pourrais aussi contribuer à l'élaboration d'un PCB.

Je aussi l'intention d'essayer une sauvegarde puis chargement de programme via l'interface cassette (FSK). Je suis à la recherche du connecteur femelle ad-hoc qui correspond au connecteur de la carte pour faire une liaison 'propre' entre la carte et le lecteur/enregistreur de cassette.
Si quelqu'un connait la référence de ce connecteur (2 rangées de 3 broches, écart entre broches de 6mm environ) je suis preneur :)
Connecteur pour lecteur/enregistreur de cassette [TM990/189)
Connecteur pour lecteur/enregistreur de cassette [TM990/189)
IMG_4763.jpg (308.4 Kio) Consulté 2954 fois
> Jérôme
humeur
Messages : 1875
Inscription : 11 août 2008 13:13
Localisation : la roche sur yon
Contact :

Re: TM990/189

Message par humeur »

Il faut que je regarde je dois avoir une 2532 et je te la programme.

JL
Recherche Tout sur le TI99/4a que ce soit materiel Texas ou Atronic, Mechatronic, Vidéopac, victor hector
figurine Kinder
Avatar de l’utilisateur
caljer
Messages : 7
Inscription : 13 sept. 2021 18:47
Localisation : Sunnyvale, CA, USA
Contact :

Re: TM990/189

Message par caljer »

@humeur
Ah oui, très sympa, je suis preneur (pour une EPROM 2532 avec UNIBUG)

J'ai trouvé la référence du connecteur femelle pour la connexion au lecteur/enregistreur de K7:
https://www.te.com/usa-en/product-1-480704-0.html
il y a une autre référence qui parait identique:
https://www.te.com/usa-en/product-794096-1.html


et pour info:
Le connecteur femelle pour l'alimentation est celui-ci:
https://www.te.com/usa-en/product-1-480702-0.html

Jérôme
Avatar de l’utilisateur
caljer
Messages : 7
Inscription : 13 sept. 2021 18:47
Localisation : Sunnyvale, CA, USA
Contact :

Re: TM990/189

Message par caljer »

Re-bonjour,

Est-ce que l'un d'entre-vous sur ce fil a progressé sur le projet carte vidéo?
Je m'embarque sur la réalisation d'un prototype 'half-bake' en essayant d'interfacer une carte vidéo sprite (utilisant aussi le TMS9918A) que j'avais assemblé pour l'Apple II et basée sur un projet de Steve Ciarcia paru à l'époque dans le magazine Byte.
https://archive.org/details/byte-magazi ... 7/mode/1up
Mon idée est de prototyper sur un breadboard la partie décodage des signaux de contrôle pour faire le pont entre le bus d'extension de la carte TM990/189 et le bus de la carte pour Apple II. Et fournir les tensions nécessaires qui à priori ne se retrouvent pas sur le connecteur 40 broches du bus d'extension.
Néanmoins je suis toujours intéressé à la réalisation d'un PCB pour la carte video. Celui-ci pourrait être simplifié sans les 2 supports d'EPROM et les connexions de joysticks et en conséquence un circuit de décodage probablement plus simple.

Par ailleurs l'été 2021 j'ai réussi à bruler l'EPROM unibug qui me manquait et fabriquer un support adapteur pour 2716, ainsi qu'une 2708 avec quelques programmes utilitaires en assembleur placé sur le support adjacent. J'ai aussi fait fonctionner la sauvegarde et recharge de programme sur cassette audio avec succès et utiliser un assembleur TMS9900 open source pour générer du code binaire. J'ai aussi manipé avec un dessassembleur open source mais le résultat était plus mitigé.

Bonne Année aux fanas de retro-computing!
Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: TM990/189

Message par Falkor »

caljer a écrit : 12 janv. 2022 20:22 Néanmoins je suis toujours intéressé à la réalisation d'un PCB pour la carte video. Celui-ci pourrait être simplifié sans les 2 supports d'EPROM et les connexions de joysticks et en conséquence un circuit de décodage probablement plus simple.
Je connais très bien l'article que tu cites et j'avais commencé il y a quelques temps à dessiner le PCB en fonction du schéma. Non finalisé malheureusement...

Je n'ai par contre pas le souvenir de la présence d'eproms ?
Avatar de l’utilisateur
caljer
Messages : 7
Inscription : 13 sept. 2021 18:47
Localisation : Sunnyvale, CA, USA
Contact :

Re: TM990/189

Message par caljer »

Pour info:
TMS9918A - VDP schematics
TMS9918A - VDP schematics
VDP_schematics_p.png (1.1 Mio) Consulté 2597 fois
2 supports d'EPROM 2716 sont prévus pour extension de la carte TMS990/189 et décodés par les 2 x 74LS138 en cascade. Ne contient pas de firmware spécifique à la carte vidéo.
Avatar de l’utilisateur
caljer
Messages : 7
Inscription : 13 sept. 2021 18:47
Localisation : Sunnyvale, CA, USA
Contact :

Re: TM990/189

Message par caljer »

J'ai adapté une carte vidéo sprite à base de TMS9918A + RAM statique développée par J.B. Langston avec la logique de décodage pour la carte TM990/189.Voici le résultat en images et vidéo:
vue d'ensemble
vue d'ensemble
IMG_2480.png (1.4 Mio) Consulté 1288 fois
vue des connexions
vue des connexions
IMG_2486.png (1.34 Mio) Consulté 1288 fois
programme en BASIC
programme en BASIC
IMG_2483.png (1.06 Mio) Consulté 1288 fois
example "PC DISPLAY"
example "PC DISPLAY"
IMG_2490.png (1.23 Mio) Consulté 1288 fois
Voici le lien pour la carte vidéo: https://github.com/jblang/TMS9918A
et le schéma créé avec Kicad pour les connexions entre le connecteur d'extension de la carte TM990/189, la logique de décodage sur breadboard, et la carte TMS9918A assemblée sans sa logique de décodage.
Schéma connexions
Schéma connexions
Video Sprite TMS9918A.png (692.2 Kio) Consulté 1288 fois
J'ai 5 PCB de cette carte pour ceux qui sont intéressés: 5€ pièce + envoi postal

Jérôme
Dernière modification par caljer le 11 juin 2023 02:04, modifié 1 fois.
Avatar de l’utilisateur
caljer
Messages : 7
Inscription : 13 sept. 2021 18:47
Localisation : Sunnyvale, CA, USA
Contact :

Re: TM990/189

Message par caljer »

Et voici le lien vers la vidéo pour "PC DISPLAY"

et le listing du programme BASIC:

10 MODE 0;-1;-2: COLOR 5
20 PATTERN 1,"0080808080808080"
25 PATTERN 2,"8080808080FFFF00"
30 PATTERN 3,"0000000000FFFF00"
35 PATTERN 4,"8080808080800000"
36 PATTERN 4,"8080808080808000"
40 PATTERN 5,"00FFFF8888888888"
45 PATTERN 9,"FFFFFFFF"
50 PATTERN 64,"1824180000000000"
55 VDP(960)=31: VDP(961)=245
60 FOR I=160 TO 736 STEP 192
65 FOR J=0 TO 31
70 VDP(I+J)=9
75 NEXT J
80 NEXT I
100 PRINT @33"PI-21: HTR INLET PRESS (PSI)"
110 PRINT @65"100 160 180"
120 PRINT @225"FIC-20: HTR FLOW (000 GPM)"
130 PRINT @257"6 12 18 OPN CLS"
140 PRINT @417"TI-35: HTR INLET TEMP (@F)"
150 PRINT @449"180 200 220"
160 PRINT @609"TRC-36: HTR OUTLET TEP (@F)"
170 PRINT @641"220 260 280 OPN CLS"
180 FOR I=97 TO 673 STEP 192
190 FOR J=I TO I+21
200 VDP(J)=5: VDP(J+32)=3+J/2*2-J
210 NEXT J
220 VDP(J)=1: VDP(J+32)=4
230 IF J=119: GOTO 290
240 IF J=503: GOTO 290
250 FOR J=I+24 TO I+29
260 VDP(J)=5: VDP(J+32)=3
270 NEXT J
280 VDP(J)=1: VDP(J+32)=4: VDP(I+56)=2
290 NEXT I
300 SPRITE 0,"10101038387C7CFE10387CFEFEFEFEFE10387CFE38383838"
310 FOR I=1 TO 4
320 SPRITE -I,0,8;-I-6,1,12
330 NEXT I
340 SPRITE -5,2,11;-6,2,11: VDP(344)=77: VDP(696)=65
350 MOVE 6
360 Y1=28: SPRITE 7,140,60: MOVE 1,100,0;-1,24720,0
370 Y2=76: SPRITE 8,132,108: MOVE 2,80,0
380 Y3=124: SPRITE 9,80,156: MOVE 3,130,0
390 Y4=172: SPRITE 10,175,204: MOVE 4,50,0
400 Y5=76: MOVE 5,35,0;-5,-14096,0
410 Y6=172: MOVE 6,60,0;-6,-14096,0
Dernière modification par caljer le 08 juin 2023 23:29, modifié 2 fois.
Avatar de l’utilisateur
caljer
Messages : 7
Inscription : 13 sept. 2021 18:47
Localisation : Sunnyvale, CA, USA
Contact :

Re: TM990/189

Message par caljer »

Et une autre vidéo pour le programme "SLOT"

et le listing avec quelques corrections:

5 SP=10
8 MEM(60)=MEM 263
10 MODE 0,-1;-1;-2;1: COLOR 3: COLOR -19: DIM C(5)
12 SPRITE 0,"00387CFE7C380000000668F0F8F870"
14 SPRITE 2,"OO7CFE7C381000006CFEFEFE7C3810"
16 SPRITE 4,"1010101038387C100000FE82FE"
18 C(0)=10: C(1)=8: C(2)=12: C(3)=8: C(4)=5: C(5)=4
20 FOR I=1 TO 3
22 SPRITE -I,5,C(5);I,77+32*I,100
24 NEXT I
30 SM=200: VDP(961)=13: VDP(962)=15
32 FOR I=232 TO 244
34 FOR J=0 TO 128 STEP 32
36 VDP(I+J)=8: IF J>0: IF J<128: IF I-I/4*4: VDP(I+J)=16
38 NEXT J
40 NEXT I
50 PRINT @678"YOUR BALANCE ="SM" "@518"INSERT COINS [ ]"
52 IF SP: BT=1+RND SP: PRINT @532;BT" ]": GOTO 56
54 INPUT @532;BT"]"
56 IF BT>0: IF BT<=SM: GOTO 60
58 PRINT @518"BAD BET, STUPID ": TONE 100,1000: GOTO 50
60 I1=30+RND 15: I2=I1+30+RND 15: I3=I2+30+RND 15
62 FOR I=0 TO I3
64 IF I<I1: S1=S1+1: S1=S1-S1/6*6: SPRITE -1,S1,C(S1)
66 IF I<I2: S2=S2+1: S2=S2-S2/6*6: SPRITE -2,S2,C(S2)
68 S3=S3+1: S3=S3-S3/6*6: SPRITE -3,S3,C(S3)
70 NEXT I
72 D=0: IF S1=0: GOTO 98
74 IF S1<>S2: GOTO 98
76 IF S1=S3: D=(S1+10)*BT*3*RND 100+200*(RND 8/7): GOTO 100
78 D=2: IF S3>3: D=D+2*(S3-3): IF S1>1: D=D+8+4*(S1-1)
80 D=D*BT
90 PRINT @518"YOU WON"D",LUCKY ": TONE 50,1500
92 SM=SM+D-BT: IF SM<1: PRINT @518"YOU'RE BROKE!!!": TONE 500,2500: GOTO 10
94 IF SM>2000: PRINT @518"YOU BROKE US!!!": GOTO 10
96 GOTO 50
98 PRINT @518"YOU LOST"BT" !!! ": TONE 100,1000: PRINT @532" ": GOTO 92
100 FOR I1=1 TO 4
102 FOR I=422 TO 710 STEP 32
104 PRINT @I" *** JACKPOT ***": TONE 30+RND 30,10+RND 50
106 NEXT I
108 FOR I= 710 TO 422 STEP -32
110 PRINT @I,,: TONE 10=RND 20,30+RND 30
112 NEXT I
114 NEXT I1
116 GOTO 90
Avatar de l’utilisateur
jeffounet
Messages : 1563
Inscription : 25 janv. 2020 06:59
Localisation : Les Angles (30)

Re: TM990/189

Message par jeffounet »

Bonsoir Jérôme,

Je suis intéressé par 2 cartes, peux tu me contacter par MP?

Merci

Super travail.

Bonne soirée

Jean-François
Il n'y a que 11 sortes de gens, ceux qui comprennent ceux qui ne comprennent pas et ceux qui me font répéter!
Jean-François
Répondre