Voici mon histoire... j'approche doucement les 40ans, je bosse dans l'IT, il y a un bon moment que je ne code plus vraiment, et je suis propriétaire de quelques collectors TI, dont une TI-85 que j'avais au Lycée, et qui m'a toujours suivi.
J'ai en fait commencé à programmer dessus, et mon job d'aujourd'hui je lui doit probablement un (gros) peu. Mais à cette époque je ne codais qu'en TI-BASIC (mais j'ai quand même été jusqu'à faire un truc assez sympa de modélisation et d'animation 3D avec un modeleur, ZBuffer, Backface culling, rotations, remplissage de polygones...) ça ramait bien bien bien les courges, mais ça permettait d'enregistrer les images et les afficher en boucle... Bref.
Maintenant que je suis plus vieux et que je suis toujours resté sur ma faim en n'ayant jamais vraiment rien fait en ASM sur cette machine, il me trotte dans la tête de réaliser quelque chose qui bombarde. Je sais que personne n'en a rien à faire de cette vielle bécane, mais disons que ce sera mon 'tribute' pour tous ces bons moments d'il y a ...longtemps..., vous savez, un de ces trucs qu'on dit qu'on fera un jour et qu'on ne fait jamais.
Bref, je m'y suis mis - doucement - en commençant à rapatrier les softs avec l'objectif d'assembler un simple HelloWorld sous Windows 10 qui tourne sur USGUARD (shell réputé sur la 85 qui a besoin d'un Hack pour exécuter l'ASM...je pense que c'est un choix de raison pour la 85), et en souhaitant faire tourner ça sur Wabbitemu. Mon objectif initial était d'utiliser SPASM (via SPASM GUI).
- WABBITEMU fonctionne, la rom est OK, j'ai pu pousser le shell (USGUARD) dessus
- j'assemble mon helloworld (volé dans un tuto:) ) avec SPASM GUI, pas d'erreur
- j'obtiens un HELLO.85S
- si j'essaye de le pousser sur wabbitemu automatiquement après assemblage dans SPASM GUI, j'ai un popup d'erreur 'invalid file format'
- Si je lance un wabbitemu à la main, et que je tente de transferrer mon .85S en glisser lacher, j'ai un panneau 'sens interdit' qui m'empêche de le poser dessus
- je me dis donc que je pourrais essayer d'assembler à la main au lieu d'utiliser SPASM GUI
- Code: Tout sélectionner
C:\TI\Asm\TI85>"..\..\Appz\Windows\SPASM GUI\bin\SPASM.exe" Hello85UG.asm HELLO.85s
Pass one...
Pass two...
Done
Assembly time: 0.013 seconds
Et même résultat.
- par acquis de conscience, j'ai installé un VTI (emulateur plus ancien), je parviens bien à pousser le shell sur l'émulateur, mais j'ai un souci similaire avec le 85S généré par SPASM... : impossible de le pousser sur la TI85, erreur de transmission.
Voici le HelloWorld en question
- Code: Tout sélectionner
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Hello.asm
;; The programmer's greeting
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Include TI function definitions
;#include "TI-85.h"
#include "USGUARD.h"
;; Title of program
.org 0
.db "Hello", 0
;; Main program
ROM_CALL(CLEARLCD) ; clear screen
ld HL, 3 ; set text cursor position
ld (CURSOR_ROW), HL
ld HL, 3
ld (CURSOR_COL), HL
ld HL, (PROGRAM_ADDR) ; get program's memory address
ld DE, Message ; get difference between address of program, string
add HL, DE ; add to get address of string
ROM_CALL(D_ZT_STR) ; print the string
GetLoop: ; wait for keypress
call GET_KEY
or A
jr z, GetLoop ; if no key, try again
ret ; key pressed - end program
;; String data
Message:
.db "Hello, world", 0
;; Mark the end of the file for TASM
.end
Ah, et un dernier point, je suis en attente de recevoir un convertisseur USB/Serial afin de pouvoir transferrer des fichiers sur la vraie TI-85, je ne peux pas éliminer un problème d'émulateur pour l'instant... (eh oui, la TI-85 ne peut pas être connectée avec un cable USB silver, il faut le vieux, noir, avec port série)
Je vais probablement me résigner à retenter avec TASM, mais ça m'ennuie car je suis parvenu à assembler et déployer automatiquement un autre HelloWorld pour ma TI83plus avec SPASM GUI, et je dois avouer que c'est plus que pratique... Ainsi que le debugger intégré qui peut être très utile...
Voilà, vous savez tout, je me doute bien que la communauté TI85 doit plus être bien vivace, mais j'aime cette machine, et son écran un peu plus grand que les autres
Merci de m'avoir lu, et merci pour toute aide / suggestion afin d'avancer -douuuuuucement- dans mon projet de vieux gamin