Posté le 15/12/2005 à 09:14 Membre depuis le 23/01/2004, 12372 messages
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.
avatarMon 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.
Posté le 15/12/2005 à 14:39 Membre depuis le 23/01/2004, 12372 messages
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?
avatarMon 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.
Posté le 19/12/2005 à 13:50 Membre depuis le 23/01/2004, 12372 messages
arf, ça inspire pas grand monde cette question de show_dialog... comment ça plus personne l'utilise? cheeky
avatarMon 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.
Posté le 19/12/2005 à 23:13 Membre depuis le 11/07/2003, 54842 messages
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
Posté le 20/12/2005 à 08:06 Membre depuis le 23/01/2004, 12372 messages
j'ai regardé pour les autres fonctions, mais pas pour celle-là en fait. tu as raison, je vais la tracer.
avatarMon 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.
Posté le 20/12/2005 à 08:16 Membre depuis le 11/06/2001, 19563 messages
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).
Posté le 20/12/2005 à 08:23 Membre depuis le 23/01/2004, 12372 messages
ok, merci pour les renseignements. dès que le patron part, je regarde le code. smile
avatarMon 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.
Posté le 20/12/2005 à 15:48 Membre depuis le 11/06/2001, 4827 messages
C'est du sérieux ça.
Posté le 20/12/2005 à 16:13 Membre depuis le 23/01/2004, 12372 messages
tongue
avatarMon 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.
Posté le 05/01/2006 à 10:29 Membre depuis le 23/01/2004, 12372 messages
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
avatarMon 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.
Posté le 05/01/2006 à 22:01 Membre depuis le 11/06/2001, 19563 messages
Cf code de graphlib
Posté le 06/01/2006 à 08:59 Membre depuis le 23/01/2004, 12372 messages
eaukeille.
avatarMon 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.
Posté le 07/02/2006 à 12:08 Membre depuis le 02/11/2003, 8072 messages
_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.
Posté le 07/02/2006 à 20:16 Membre depuis le 11/06/2001, 19563 messages
>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 ?
Posté le 08/02/2006 à 16:00 Membre depuis le 02/11/2003, 8072 messages
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.
Posté le 09/11/2016 à 06:09 Membre depuis le 18/06/2001, -26077 message
(tayst, c'est la fôte à Zeph et à Nhut embarrassed)
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !
Posté le 09/11/2016 à 11:11 Membre depuis le 13/06/2001, 73050 messages
T'as pas honte de déterrer des cadavres ? embarrassed
avatar
Posté le 09/11/2016 à 11:55 Membre depuis le 27/04/2006, 60483 messages
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
avatarZeroblog

« 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
Posté le 09/11/2016 à 12:14 Membre depuis le 18/06/2001, -26077 message
; 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) !
Posté le 09/11/2016 à 12:25 Membre depuis le 27/04/2006, 60483 messages
hehe
avatarZeroblog

« 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
Posté le 09/11/2016 à 12:26 Membre depuis le 30/06/2001, 71426 messages
Meme avis que zero embarrassed
avatarProud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
yN a cassé ma signature :o
Posté le 09/11/2016 à 12:27 Membre depuis le 10/06/2001, 45115 messages
Je me préparais d'ailleurs à dire que c'était la plus rapide, mais bon.