Derniers sujets
» Multi soluces...
remplissage de l'écran Hires EmptyMar 19 Mai 2020 - 12:41 par soft-bug

» Des nouvelles de BAS_ORIC
remplissage de l'écran Hires EmptyMer 6 Mai 2020 - 16:08 par goyo

» 3D walkthrough template en moins de 600 lignes de C
remplissage de l'écran Hires EmptyMer 29 Avr 2020 - 20:43 par Star42

» CB2 micro
remplissage de l'écran Hires EmptySam 11 Avr 2020 - 19:29 par jbperin

» Le bonjour de codeur
remplissage de l'écran Hires EmptyMer 1 Avr 2020 - 15:18 par Invité

» [résolu] Format des fichiers Hyperbasic...
remplissage de l'écran Hires EmptySam 28 Mar 2020 - 19:50 par damien

» [résolu] Récupération contenu disquettes 3 pouces...
remplissage de l'écran Hires EmptyVen 27 Mar 2020 - 15:06 par damien

» Echange de jeux/logiciels
remplissage de l'écran Hires EmptyLun 23 Mar 2020 - 20:15 par Star42

» Ordi Portable Sony VAIO
remplissage de l'écran Hires EmptyDim 22 Mar 2020 - 16:17 par froggy

» une atan2 pour vos lib math
remplissage de l'écran Hires EmptyDim 22 Mar 2020 - 11:30 par drpsy

» nouveau site
remplissage de l'écran Hires EmptyJeu 19 Mar 2020 - 20:02 par Star42

» CEO Mag Spéciaux disponibles
remplissage de l'écran Hires EmptyJeu 19 Mar 2020 - 9:33 par musepat

» Oric Explorer v2.0
remplissage de l'écran Hires EmptyMer 18 Mar 2020 - 9:47 par damien

» Flappy Oric 3D
remplissage de l'écran Hires EmptyMar 17 Mar 2020 - 7:50 par jbperin

» Cherche solution pour le jeu 007 A View To A Kill / Dangereusement Vôtre
remplissage de l'écran Hires EmptySam 14 Mar 2020 - 16:14 par retroric

Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

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 208 membres enregistrés
L'utilisateur enregistré le plus récent est darq

Nos membres ont posté un total de 8564 messages dans 744 sujets
Portail ORIC



Le Deal du moment : -57%
Batterie externe à induction Samsung avec ...
Voir le deal
14.99 €

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 : 184
Date d'inscription : 02/05/2014
Age : 48
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 : 248
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 : 248
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 : 184
Date d'inscription : 02/05/2014
Age : 48
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 : 248
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 : 184
Date d'inscription : 02/05/2014
Age : 48
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