π
<-
Chat plein-écran
[^]

Age of CEmpires I

Assembleur, Axe, C/C++, ICE...

Re: Age of CEmpires I

Message non lude critor » 18 Fév 2017, 10:40

:D
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.3%
 
Messages: 41496
Images: 14632
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Age of CEmpires I

Message non lude grosged » 18 Fév 2017, 12:15

instead of "call cursorimage" at line 29, you could put the entire sub-routine right there , thus no more sp to save because of call's ;)
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 30.2%
 
Messages: 770
Images: 75
Inscription: 14 Sep 2011, 12:29
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Age of CEmpires I

Message non lude PT_ » 18 Fév 2017, 12:48

critor a écrit::D

This is definitely a quality post :troll: but thanks! ;)
grosged a écrit:instead of "call cursorimage" at line 29, you could put the entire sub-routine right there , thus no more sp to save because of call's ;)

Thanks, saved 10K cycles ;)

https://github.com/PeterTillema/Age-Of-CEmpires-I
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Age of CEmpires I

Message non lude grosged » 18 Fév 2017, 18:58

Well, I've been studying it a bit more...Here's my suggestion :
Code: Tout sélectionner
     DrawField:
       scf
       sbc hl, hl
       ld (hl), 2
       
    DrawFieldStart:
       ld (TempSP2), sp
       ld   sp,320
       exx
       ld   bc,15         ; that way, the 2 higher bytes of bc'=0
       ld iy,(currDrawingBuffer)
       add iy,bc
       exx
       ld   a,10      ; a=10
       ex   af,af
       ld   a,9      ; a' =9
       ld de, 2256      ; = 8*320-10x32+16 = 8x320-9x32-16
       ld b, 29     
    DisplayEachRowLoop:
       ex   af,af      ; alternatively a=10 or 9
       ld   c,a      ; save a into c , in order to restore a from c when loop finished
   
   exx
   
    DisplayRowOfTilesLoop:
       ld hl, _tile_test \.r2
       
AoCEDisplayIsoTile:
    ; Thanks a lot to TheMachine02 and grosged for help and optimizations!
    ; Input:
    ;   IY = pointer to output
    ;   HL = pointer to iso sprite
    ; 
       lea ix,iy
       lea   de,ix
       ld   c,2
       ldir
       add ix, sp
       lea de, ix-2
       ld c, 6
       ldir
       add ix, sp
       lea de, ix-4
       ld c, 10
       ldir
       add ix, sp
       lea de, ix-6
       ld c, 14
       ldir
       add ix, sp
       lea de, ix-8
       ld c, 18
       ldir
       add ix, sp
       lea de, ix-10
       ld c, 22
       ldir
       add ix, sp
       lea de, ix-12
       ld c, 26
       ldir
       add ix, sp
       lea de, ix-14
       ld c, 30
       ldir
       add ix, sp
       lea de, ix-15
       ld c, 32
       ldir
       add ix, sp
       lea de, ix-14
       ld c, 30
       ldir
       add ix, sp
       lea de, ix-12
       ld c, 26
       ldir
       add ix, sp
       lea de, ix-10
       ld c, 22
       ldir
       add ix, sp
       lea de, ix-8
       ld c, 18
       ldir
       add ix, sp
       lea de, ix-6
       ld c, 14
       ldir
       add ix, sp
       lea de, ix-4
       ld c, 10
       ldir
       add ix, sp
       lea de, ix-2
       ld c, 6
       ldir
       add ix, sp
       lea de, ix
       ld   c,2
       ldir   ; same speed but better choice than ldi\ldi which would put $fffffe value in bc' (then higher bytes of bc' no more =0)
       
       lea iy, iy+32
       dec a
       jr nz, DisplayRowOfTilesLoop
       exx
       ld   a,c
       add iy, de
       djnz DisplayEachRowLoop
       
       TempSP2 = $+1
       ld sp, 0
       ret
       
    DrawFieldEnd:
    .echo DrawFieldEnd-DrawFieldStart

   


By the way, I guess that line containing " ld hl, _tile_test \.r2 " won't remain unchanged ?
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 30.2%
 
Messages: 770
Images: 75
Inscription: 14 Sep 2011, 12:29
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Age of CEmpires I

Message non lude PT_ » 22 Fév 2017, 16:04

Edges work!!!!!!

Image

Now the optimizing part begin, it's currently 908839 cycles :)
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Age of CEmpires I

Message non lude grosged » 22 Fév 2017, 23:22

Hey ! already very nice rendering ! Good job, PT_ !
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 30.2%
 
Messages: 770
Images: 75
Inscription: 14 Sep 2011, 12:29
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Age of CEmpires I

Message non lude PT_ » 25 Fév 2017, 01:25

Got something done.... it should be somehow related to placing resources and trees... :P

Image
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Age of CEmpires I

Message non lude PT_ » 25 Fév 2017, 17:25

Alright, it was supposed to be this:

Image

The green pixels are trees, the black pixels not :P The map size will be either 128 or 144, not sure yet.
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Age of CEmpires I

Message non lude PT_ » 03 Mar 2017, 00:21

It is supposed to work correctly :P

Image
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Age of CEmpires I

Message non lude PT_ » 03 Mar 2017, 12:35

Finally it works!! :D

Image
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

PrécédenteSuivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 23 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1291 utilisateurs:
>1267 invités
>19 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)