SAlut
je viens juste d'essayer de coder en assembleur l'équivalent de quelques lignes en double haute resolution pour Apple IIe avec la librairie ARLEQUIN (chat mauve)
Ce programme bascule en DHR et ecrit 15 lettres "X" en bas de l'ecran. J'ai attaché un JPG afin que vous voyez le resultat.
LA grande surprise est que le programme ASM (ecrit et compilé avec MErlin8) est AUSSI LENT que sa version basic !!
Si vous n'avez pas le manuel ou le soft Arlequin , je vous le déposerai quelque part.
Mais avez vous une idée du pourquoi de cette lenteur?
merci
cyril
LE CODE BASIC EST:
10 & WINDOW(0,19,0,191,1): & BACK(4): & MODE(2)
15 & COL(0): & DISPLAY(2)
20 FOR B = 1 TO 15: & BACK(B): & WRITE("X"): NEXT
30 GET A$: & DISPLAY(0): END
ET LE CODE REDIGE SOUS MERLIN8 est:
* programme DHR
ORG $8000
WINDOW JSR $1FF0
DFB #$24
DW PCOORD
BACK JSR $1FF0
DFB #$0C
DW PBACK
MODE JSR $1FF0
DFB #$3C
DW PMODE
COL JSR $1FF0
DFB #$08
DW PCOL
DISPLAY JSR $1FF0
DFB #$6C
DW PDISP
LDX #$0F
BOUCLE STX PBACKX
BACKX JSR $1FF0
DFB #$0C
DW PBACKX
WRITEX JSR $1FF0
DFB $40
DW WRITELIST
DEX
BNE BOUCLE
RTS
PCOORD DW $00
DW $13
DW $00
DW $BF
DW $01
PBACK DW $04
PMODE DW $02
PCOL DW $00
PDISP DW $02
PBACKX DW $0F
WRITELIST DW ADPATH
ADPATH DB 1
ASC "X"
apple IIe: assembleur aussi lent en double hires !
Modérateurs : Papy.G, fneck, Carl
Re: apple IIe: assembleur aussi lent en double hires !
C'est quoi le JSR $1FF0 ?cyril3d a écrit :Mais avez vous une idée du pourquoi de cette lenteur?
Si c'est, comme je le pense, l'appel d'une fonction du BASIC (ou de n'importe quelle bibliothèque), cette fonction va toujours à la même vitesse. Qu'elle soit appelée en Basic ou en assembleur ne change rien.
Pour aller plus vite, ce n'est pas le programme appelant qu'il faut réécrire, c'est la routine en $1FF0.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: apple IIe: assembleur aussi lent en double hires !
Si il est possible de télécharger le soft et la doc, ca serait très sympa
Pour afficher du text tu peut toujours écrire directement en RAM en assembleur ca seras très rapide !!!
Pour afficher du text tu peut toujours écrire directement en RAM en assembleur ca seras très rapide !!!
Re: apple IIe: assembleur aussi lent en double hires !
Salut
$1ff0 est l'adresse de la routine ASM pour toutes les fonctions de la librairie ARLEQUIN.
la societe chat mauve avait developpé cette librairie en basic et asm ainsi la DHR devenait accessible facilement, mais en basic c'etait leeeeeeeeeeeeeeennnnnnnnnnnnt.
ma grande surprise est qu'écrire le programme en asm ne change rien comme vous le dites tous.
j'ai scanné le manuel arlequin en un PDF (16 Mo). dites moi ou je pourrais le mettre en libre telechargement.
le soft se telecharge sur ASIMOV sous le nom Chat Mauve.
merci
cyril
$1ff0 est l'adresse de la routine ASM pour toutes les fonctions de la librairie ARLEQUIN.
la societe chat mauve avait developpé cette librairie en basic et asm ainsi la DHR devenait accessible facilement, mais en basic c'etait leeeeeeeeeeeeeeennnnnnnnnnnnt.
ma grande surprise est qu'écrire le programme en asm ne change rien comme vous le dites tous.
j'ai scanné le manuel arlequin en un PDF (16 Mo). dites moi ou je pourrais le mettre en libre telechargement.
le soft se telecharge sur ASIMOV sous le nom Chat Mauve.
merci
cyril