Derniers sujets
» Lancement de jeux - Messages d'erreur
remplissage de l'écran Hires EmptyAujourd'hui à 20:56 par Symoon

» Comment configurer un joystick ?
remplissage de l'écran Hires EmptyAujourd'hui à 19:21 par kenneth

» The last warrior
remplissage de l'écran Hires EmptyAujourd'hui à 18:43 par Dom50

» Base de données listings ?
remplissage de l'écran Hires EmptyHier à 7:17 par Symoon

» Pub télé pour l'Oric Atmos
remplissage de l'écran Hires EmptyLun 15 Juil 2019 - 23:29 par Ladywasky

» Invitation à l'Alchimie 13
remplissage de l'écran Hires EmptyDim 14 Juil 2019 - 19:36 par didierv

» Devoirs de vacances
remplissage de l'écran Hires EmptyDim 14 Juil 2019 - 13:09 par Voyageur

» Petit jeu: robot
remplissage de l'écran Hires EmptySam 13 Juil 2019 - 12:11 par Symoon

» The voyage of the Golden Hind
remplissage de l'écran Hires EmptyVen 12 Juil 2019 - 12:47 par retroric

» récupération d'anciens listings via l'OCR Google Docs
remplissage de l'écran Hires EmptyVen 12 Juil 2019 - 12:43 par retroric

» Boitier Oric HD
remplissage de l'écran Hires EmptyVen 12 Juil 2019 - 0:54 par Symoon

» Effet sonore : Torpille spatiale (Deuxlignes !)
remplissage de l'écran Hires EmptyMer 10 Juil 2019 - 18:19 par Ladywasky

» Un "oncle/cousin" de l'Oric ?
remplissage de l'écran Hires EmptyMer 10 Juil 2019 - 12:36 par kenneth

» Zorgons Revenge cassette demo
remplissage de l'écran Hires EmptyDim 7 Juil 2019 - 9:25 par Symoon

» Aux couleurs de l'Atmos
remplissage de l'écran Hires EmptyDim 7 Juil 2019 - 3:10 par Ladywasky

Qui est en ligne ?
Il y a en tout 3 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 3 Invités

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion

Récupérer mon mot de passe

Statistiques
Nous avons 188 membres enregistrés
L'utilisateur enregistré le plus récent est Sebiohazard

Nos membres ont posté un total de 7443 messages dans 645 sujets
Portail ORIC




remplissage de l'écran Hires

Aller en bas

remplissage de l'écran Hires Empty remplissage de l'écran Hires

Message par goyo le Jeu 28 Mar 2019 - 16:31

J'aimerais savoir s'il existe algo significativement plus rapide que celui-ci pour effacer l'écran ???

Code:

_fillscr
 
 ldy #199
 suite
 lda ScreenAdressLow,y
 sta write_f+1
 lda ScreenAdressHigh,y
 sta write_f+2
 clc
 ldx #40
 lda #64
 suite_x
write_f
 sta $1234,x
 dex
 bne suite_x
 
 dey
 bne suite
rts
goyo
goyo

Messages : 162
Date d'inscription : 02/05/2014
Age : 47
Localisation : Massy

Revenir en haut Aller en bas

remplissage de l'écran Hires Empty Re: remplissage de l'écran Hires

Message par Dbug le Jeu 28 Mar 2019 - 21:23

Oui Smile

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

remplissage de l'écran Hires Empty Re: remplissage de l'écran Hires

Message par Dbug le Jeu 28 Mar 2019 - 21:32

En gros ton code coute pour chaque octet écrit le cout de:
- 1 sta absolu indexé
- 1 dex
- 1 bne
et par dessus ca, vu que tu fais ca que par blocs de 40 (lignes), tu payes en plus 200 fois
- 2 lda absolu indexé
- 2 sta absolus
- 1 clc
- 1 ldx immediat
- 1 lda immediat
- 1 dey
- 1 branchement

alors après tout dépend de tes paramètres, mais déja au lieu de tracer par blocs de 40, tu pourrais tracer 4 lignes a la fois (160 octets) ca te ferais 4 fois moins d'appels a la boucle extérieure.

Après la vrai facon d'augmenter la vitesse c'est de dérouler le code, style 8000 instructions STA:
- STA $a000  / STA $a001 / ... / STA $a000+7999

Et a l'intermédiaire, juste 32 STA donnent un bon compromis de vitesse: 8000/256=31.25

Code:
 lda #40
  ldx #255
loop
  sta $a000+256*0,x
  sta $a000+256*1,x
  sta $a000+256*2,x
  (...)
  sta $a000+256*31,x
  sta $a000+7999-256,x   ; cas spécial pour le dernier
  dex
  bpl loop

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

remplissage de l'écran Hires Empty Re: remplissage de l'écran Hires

Message par goyo le Sam 30 Mar 2019 - 14:53

Dbug a écrit:En gros ton code coute pour chaque octet écrit le cout de:
- 1 sta absolu indexé
- 1 dex
- 1 bne
et par dessus ca, vu que tu fais ca que par blocs de 40 (lignes), tu payes en plus 200 fois
- 2 lda absolu indexé
- 2 sta absolus
- 1 clc
- 1 ldx immediat
- 1 lda immediat
- 1 dey
- 1 branchement

alors après tout dépend de tes paramètres, mais déja au lieu de tracer par blocs de 40, tu pourrais tracer 4 lignes a la fois (160 octets) ca te ferais 4 fois moins d'appels a la boucle extérieure.

Après la vrai facon d'augmenter la vitesse c'est de dérouler le code, style 8000 instructions STA:
- STA $a000  / STA $a001 / ... / STA $a000+7999

Et a l'intermédiaire, juste 32 STA donnent un bon compromis de vitesse: 8000/256=31.25

Code:
 lda #40
  ldx #255
loop
  sta $a000+256*0,x
  sta $a000+256*1,x
  sta $a000+256*2,x
  (...)
  sta $a000+256*31,x
  sta $a000+7999-256,x   ; cas spécial pour le dernier
  dex
  bpl loop

Merci Dbug de toutes ces précisions, je vois l'oeil de l'expert !, cool je vais donc faire 160 au lieu de 40.
j'ai un autre question: est ce toi qui a développé la routine Mike8() pour tracer rapidement des droites ?
Je trouve que c'est génial comme routine pour faire de la 3D comme dans le jeu 1337, surtout celle avec clipping
goyo
goyo

Messages : 162
Date d'inscription : 02/05/2014
Age : 47
Localisation : Massy

Revenir en haut Aller en bas

remplissage de l'écran Hires Empty Re: remplissage de l'écran Hires

Message par Dbug le Dim 31 Mar 2019 - 11:56

goyo a écrit:j'ai un autre question: est ce toi qui a développé la routine Mike8() pour tracer rapidement des droites ?
Je trouve que c'est génial comme routine pour faire de la 3D comme dans le jeu 1337, surtout celle avec clipping
Voici ce que dit SVN:
remplissage de l'écran Hires Line810

Et le thread de discussion originel:
http://forum.defence-force.org/viewtopic.php?f=4&t=386&hilit=line+drawing

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

remplissage de l'écran Hires Empty Re: remplissage de l'écran Hires

Message par goyo le Lun 1 Avr 2019 - 11:11

Dbug a écrit:
goyo a écrit:j'ai un autre question: est ce toi qui a développé la routine Mike8() pour tracer rapidement des droites ?
Je trouve que c'est génial comme routine pour faire de la 3D comme dans le jeu 1337, surtout celle avec clipping
Voici ce que dit SVN:
remplissage de l'écran Hires Line810

Et le thread de discussion originel:
http://forum.defence-force.org/viewtopic.php?f=4&t=386&hilit=line+drawing
c'est top, bravo!
rien n'est impossible à celui qui .... a ce niveau en programmation!
goyo
goyo

Messages : 162
Date d'inscription : 02/05/2014
Age : 47
Localisation : Massy

Revenir en haut Aller en bas

remplissage de l'écran Hires Empty Re: remplissage de l'écran Hires

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum