1

J'ai décidé de faire mon programme avec graphlib, j'ai juste besoin des grays, et de quelques fonction de rectangle/droite, donc cette lib suffira amplement.

Je me suis quand même penché sur les autres fonction, et j'aurais voulu savoir à quoi servaient certaines fonctions:
graphlib::frame: apparemment, ça dessine un rectangle vide
graphlib::frame_rect: impossible de savoir à quoi sert cette fonction...
graphlib::show_dialog: ça ne m'affiche qu'une boite façon graphlib, sans titre, avec cet exemple-ci:
	xdef	_main
	xdef	_ti89
	include	"tios.h"
	include	"graphlib.h"
_main:
	lea.l	dial(pc),a6
	jsr	graphlib::show_dialog
	jsr	tios::ngetchx
	rts

dial:	dc.w	10,15,80,80,20,20
	dc.l	str
str:	dc.b	"graphlib::show_dialog",0

Mais rien qui ait à voir avec un quelconque dialogue... et pas de chaine affichée.

Voilà, cette lib n'est plus très utilisée, mais elle me conviendra parfaitement. smile

edit: au vu du source, les fonctions erase_rect et frame_rect ne sont que des wrappers autour de frame et fill, ça prend juste les arguments dans une structure rect plutôt que dans les registres.
avatar
Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

2

Bon, ben je n'ai plus de question sur la lib en fait, si ce n'est avec show_dialog, impossible de lui faire afficher la chaine passée en argument sad

Et au fait, la lib contient une précédure d'exit (effacement de choosescreen, restauration de l'affichage en B&N, ok (au passage c'est très bien, ça évite de le faire quand on utilise la lib, merci bien top). Au début du code, il y a un xdef _exit.

Est-ce obligatoire dans un prog, ou peut-on se contenter d'un jsr kernel::atexit? ou alors peut-on se contenter d'un xdef pour la fonction qui va bien?
avatar
Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

3

arf, ça inspire pas grand monde cette question de show_dialog... comment ça plus personne l'utilise? cheeky
avatar
Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

4

tu ne peux pas regarder le code de graphlib ? c'est sûrement le plus simple ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5

j'ai regardé pour les autres fonctions, mais pas pour celle-là en fait. tu as raison, je vais la tracer.
avatar
Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

6

show_dialog: Je ne sais plus comment ca fonctionne. Va lire le code.

>Et au fait, la lib contient une précédure d'exit (effacement de choosescreen, restauration de l'affichage en B&N, ok (au passage c'est très bien, ça évite de le faire quand on utilise la lib, merci bien top ). Au début du code, il y a un xdef _exit.
>Est-ce obligatoire dans un prog, ou peut-on se contenter d'un jsr kernel::atexit? ou alors peut-on se contenter d'un xdef pour la fonction qui va bien?
_exit et exit/atexit ne sont pas la meme chose.
_exit n'est appelé que sur terminaison ANORMALE du programme (ie un crash).
atexit est appelé sur terminaire normale du programme (ie exit ou le rts final).

7

ok, merci pour les renseignements. dès que le patron part, je regarde le code. smile
avatar
Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

8

C'est du sérieux ça.

9

tongue
avatar
Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

10

graphlib::box		equ	graphlib@0003
;--------------------------------------------------------------
;box(x,y,width,height)
;
;    Draws a box at (x,y)
;Input: d0.w = x
;	d1.w = y
;	d2.w = width
;	d3.w = height
;	a0.l = title of the box
;	NO REGISTERS DESTROYED
;--------------------------------------------------------------

graphlib::fill	equ	graphlib@0000
;--------------------------------------------------------------
;fill(x,y,width,height,color)
;
;   Fills the rectangle delimited by x, y, width and lenght with
;  the specified color
;
;Input:	d0.w = x
;	d1.w = y
;	d2.w = width
;	d3.w = height
;	d4.w = color:	0 -> Video Invert
;			1 -> White
;			2 -> Black
;
;Output: nothing
;	NO REGISTERS DESTROYED
;--------------------------------------------------------------


et pourtant, les deux zones rectangulaires affichées ne sont pas les mêmes, celle de graphlib::fill fait un pixel de plus vers le bas et la droite. mais bon c'est pas grave, ça ne rend que plus jolies mes boites de dialogue. smile
avatar
Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

11

Cf code de graphlib

12

eaukeille.
avatar
Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

13

_exit n'est appelé que sur terminaison ANORMALE du programme (ie un crash).
Oué mais elle a tendance à décorer plus qu'autre chose. Quand j'avais fait du multitache (qui lançait sans problème 5 ou 6 jeux simultanément, le tout en mode kernel, n'en déplaise à KK), j'ai jamais réussi à tuer un programme proprement avec le _exit.
Les rares programmes qui en avaient un provoquaient un crash quand on l'appelait.

14

>j'ai jamais réussi à tuer un programme proprement avec le _exit.
Heu... Seul le kernel peut appeler cette fonction proprement confus
Comment tu t'en servais ?

15

Ouh là je sais plus exactement. :/
C'est mort depuis longtemps ce truc. Ca tourne que avec doorsos et AMS 2.03 sur HW1 (ma calc quoi)... Jamais fait de mise à jour. Et depuis, l'arrivée des programmes en C qui sauvent l'écran sur la pile a un peu tué le concept.

16

(tayst, c'est la fôte à Zeph et à Nhut embarrassed)
avatar
<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

17

T'as pas honte de déterrer des cadavres ? embarrassed
avatar

18

Et moi qui pensais que quelqu'un reprenait le dév sur TI, en voyant le topic dans la liste des sujets non lus... Méchant Folco sad
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

19

; Resize the layout handle
	moveq.l	#1,d0				; Clear upper word
	add.w	Layout.childcount(a3),d0	; Childcount + 1
	lsl.w	#2,d0				; Table of pointer
	move.l	d0,-(sp)
	move.w	-2(a3),-(sp)			; Handle is at HeapAllocPtr() - 2
	jsr	tios::HeapRealloc
	addq.l	#6,sp
	move.l	a0,d0
	beq.s	\Fail
Deux semaines d'arrêt, je suis en train de taper et c'est pas fini va grin
avatar
<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

20

hehe
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

21

Meme avis que zero embarrassed
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

22

Je me préparais d'ailleurs à dire que c'était la plus rapide, mais bon.