Derniers sujets
» A venir: nouvelle version TAP2WAV
remplissage de l'écran Hires EmptyHier à 17:36 par Symoon

» OSDK & gnu/Linux...
remplissage de l'écran Hires EmptyVen 20 Sep 2019 - 4:39 par Symoon

» Oric High Score Challenge 2019 : c'est parti
remplissage de l'écran Hires EmptyMer 18 Sep 2019 - 20:57 par iss

» afficher un sprite au pixel près, quelle méthode optimale ?
remplissage de l'écran Hires EmptyMer 18 Sep 2019 - 20:35 par Dbug

» Twilighte card, 6502 et joysticks
remplissage de l'écran Hires EmptyMer 18 Sep 2019 - 16:11 par Jede

» rs
remplissage de l'écran Hires EmptyMar 17 Sep 2019 - 12:55 par kenneth

» TranspOrictable
remplissage de l'écran Hires EmptyDim 15 Sep 2019 - 22:55 par Voyageur

» CEO-MAG 351
remplissage de l'écran Hires EmptySam 14 Sep 2019 - 21:30 par didierv

» Apprendre l'Assembleur ORIC
remplissage de l'écran Hires EmptySam 14 Sep 2019 - 9:42 par ]0[v]

» Jeux Non Oric - retrogaming
remplissage de l'écran Hires EmptyVen 13 Sep 2019 - 20:05 par Dbug

» Emulation de disquette avec un GOTEK (firmware HxC, clé USB) sur un Jasmin 2 pour Oric Atmos
remplissage de l'écran Hires EmptyJeu 12 Sep 2019 - 19:25 par Dbug

» Mystery Towers
remplissage de l'écran Hires EmptyMar 10 Sep 2019 - 7:43 par Dom50

» Une websérie sur le jeu video made in France
remplissage de l'écran Hires EmptyMar 10 Sep 2019 - 7:17 par didierv

» Depannages post visu
remplissage de l'écran Hires EmptyLun 9 Sep 2019 - 20:29 par retroric

» basic & lib ASM___[RESOLU]
remplissage de l'écran Hires EmptyLun 9 Sep 2019 - 15:23 par ]0[v]

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

Nos membres ont posté un total de 7819 messages dans 676 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 : 178
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 : 197
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 : 197
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 : 178
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 : 197
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 : 178
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