Derniers sujets
» La quête des anneaux
remplissage de l'écran Hires EmptyAujourd'hui à 0:50 par Ladywasky

» I had a dream .. glOric
remplissage de l'écran Hires EmptyMar 12 Nov 2019 - 18:22 par Dbug

» Problème sur mix BASIC / ASM
remplissage de l'écran Hires EmptyLun 11 Nov 2019 - 20:37 par jbperin

» ?Syntax error
remplissage de l'écran Hires EmptyLun 11 Nov 2019 - 18:02 par kenneth

» **NEW** EDGE for ORIC !!!!
remplissage de l'écran Hires EmptyLun 11 Nov 2019 - 12:21 par jbperin

» Listings de l'ORIC-1 Manual
remplissage de l'écran Hires EmptySam 9 Nov 2019 - 21:35 par jbperin

» Atmos à vendre
remplissage de l'écran Hires EmptySam 9 Nov 2019 - 16:56 par Dbug

» Musique de Goldorak sur Oric
remplissage de l'écran Hires EmptySam 9 Nov 2019 - 16:52 par Dbug

» Nombres négatifs 16 bits via DEEK
remplissage de l'écran Hires EmptyVen 8 Nov 2019 - 23:46 par jbperin

» CEO-MAG 354
remplissage de l'écran Hires EmptyVen 8 Nov 2019 - 16:22 par jbperin

» Recherche un ancien rédacteur
remplissage de l'écran Hires EmptyJeu 7 Nov 2019 - 20:58 par hlabrande

» Nouvel ancien jeu: Oric Golf par K. Smith
remplissage de l'écran Hires EmptyMer 6 Nov 2019 - 21:47 par Ladywasky

» OSDK link error sur (SP)
remplissage de l'écran Hires EmptyMer 6 Nov 2019 - 15:20 par jbperin

» Oric Kong 2019 LongPlay. Il m'a fait plaisir ce type !
remplissage de l'écran Hires EmptyMer 6 Nov 2019 - 3:57 par Ladywasky

» Ym2Mym
remplissage de l'écran Hires EmptyLun 4 Nov 2019 - 21:01 par Dbug

Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités :: 1 Moteur de recherche

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

Nos membres ont posté un total de 8133 messages dans 702 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 : 180
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 : 220
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 : 220
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 : 180
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 : 220
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 : 180
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