Autore Topic: Elav  (Letto 8461 volte)

Cbm

  • Utente
  • **
  • Post: 423
  • Gioco Preferito: Wonderboy
Elav
« Risposta #30 il: 02 Luglio 2006, 23:34:00 »
 
Citazione da: "ice00"
come non detto: già aggiornati i sorgenti.
Ovvero la prova che quando ci sono entusiasmo e piacere ad accompagnare un'attività, è difficile non fare subito ciò che si potrebbe invece fare in seguito.  :)
Complimenti veri per il tuo lavoro.
C= - Dal 1985! Lunga vita e prosperità.

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #31 il: 03 Luglio 2006, 21:59:40 »
 corretto l'errore dell'erba: era un bne al posto di beq (prina c'era un valore <>0, poi ho usato lo zero seza inverire la condizione). Ho natato che dopo che cade il palazzo centrale non riesco più a colpire il palazzo più a destra sul lato destro.
Spero sia solo un effetto spurio al fatto che manca la rilavazione effettiva palazzo colpito

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #32 il: 09 Luglio 2006, 16:03:37 »
 Insetita una test tune di Nata. Questa è la 2°, la 1° era fatta usando al minimo gli strumenti, ma visto il grado di compressione abbiamo tentato una versione molto più completa.
Il file compresso inserendo la musica era di 3922, adesso è di 3856, ottenuto usando l'utility TINY e togliendo il salto che è messo di default in cima alla tune, perchè inutile (ci salto direttamente io al punto giusto!!).
Purtroppo siamo al limite perchè mancano (ordine con cui eseguirò il coding):
1) quando cade il palazzo il gorilla deve cadere e non salire più
2) quando si va a destra fuori schermo, o si compare all'inizio, o si deve bloccare (adesso ricompare col bug posizione raster alto)
3) manca la parte di monitoraggio palazzo che sta venendo colpito (è indispensabile e occuperà spazio di sicuro)
4) pallottola sparata casualemente a sx e dx e che fa perdere 1 vita se colpito il gorilla
5) in caso di vittoria mettere almeno il messaggio win
6) correggere i bug si quello che il 3° palazzo del primo schema non si riesci più ad abbattere dopo che sono caduti gli altri 2 è preoccupante.

Se nel frattempo qualcuno ha qualche idea per tolgiere 100 bytes in 1 colpo... :)

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #33 il: 09 Luglio 2006, 19:56:49 »
 14 bytes si possono rispoarmiare usando il nuovo exomizer 2.x beta 4.
Sebbene comprima solo 3 byte in meno, il decruncher è più piccolo e 14 bytes fanno comodo.
Inoltre è nettamente più veloce a compattare.
Direi che è tempo di mettere da parte la versione 1.x

Nello zip c'è pure la musica del preview 1 (formato sid): dite il vostro parere su quale musica vi piace di più che eventualmente ci si concentra su quella

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #34 il: 09 Luglio 2006, 20:51:51 »
 Il punto 1 è stato risolto con 2 istruzioni (lda/sta) quindi a costo minimo.
Il trucco e mantenere il gorilla in caduta finchè tutto il palazzo è caduto.
Penso che ci possa stare: basterà dare un pò di enfasi alla storia (ovvero informare gli utenti che la cosa è voluta :) per dare il senso di stordimento dovuta alla caduta non preventivata..)
 

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Elav
« Risposta #35 il: 09 Luglio 2006, 21:54:01 »
 Ti posto un paio di differenze per tirar via un po' di bytes.
Codice: [Seleziona]
--- elav.s Sun Jul 09 21:47:46 2006
+++ C:\Q\elav\x\elav.s Sun Jul 09 21:47:48 2006
@@ -164 +164 @@
- org 2049
+ org $801
@@ -166 +166 @@
- jsr  $2d0e
+;jsr  $2d0e
@@ -193,0 +194 @@
+      jsr  $2d0e
@@ -243 +244 @@
-     ;lda  #$18
+     ;ld
@@ -256 +257,2 @@
-      jsr  clearBuffer          ; clean screen buffers
+     ;jsr  clearBuffer          ; clean screen buffers
+      jsr  emptyScreen          ; clean screen buffers
@@ -354,0 +357 @@
+Z = * +1
@@ -356 +359 @@
-     ldy  Z
+     ldy  #00
@@ -362,2 +365,2 @@
-Z:
- .byte $00
+;Z:
+;.byte $00
@@ -630 +633 @@
-=================================
+;=================================
@@ -1267,2 +1270,2 @@
-      ldx  #1
-      stx  $d019                ; acknowledge the raster interrupt
+     ;ldx  #1
+      asl  $d019                ; acknowledge the raster interrupt
@@ -1295 +1298 @@
-      beq exit_
+     ;beq exit_
@@ -1309 +1311,2 @@
-      lda #0
+     ;lda #0
+      tya
@@ -1317 +1320 @@
-      beq exit2_
+     ;beq exit2_
@@ -1481,22 +1482,0 @@
-; Clear the memory buffers for
-; screen chars and colors
-;================================
-clearBuffer:
-
-      ldx  #$0F
-lup:
-      lda  #0
-      ldy  #0
-lpc:
-      sta  $c000,y
-
-      dey
-      bne lpc
-
-      inc lpc+2
-      dex
-      bpl lup
-      rts
-
-
-;================================
@@ -1595 +1575,2 @@
-      lda  hiLevel,x
+     ;lda  hiLevel,x
+      lda  #>level1
@@ -2248,9 +2229,9 @@
-hiLevel:
-  .byte #>level1
-  .byte #>level2
-  .byte #>level3
-  .byte #>level4
-  .byte #>level5
-  .byte #>level6
-  .byte #>level7
-  .byte #>level8
+;hiLevel:
+ ;.byte #>level1
+ ;.byte #>level2
+ ;.byte #>level3
+ ;.byte #>level4
+ ;.byte #>level5
+ ;.byte #>level6
+ ;.byte #>level7
+ ;.byte #>level8

Ottengo 3823bytes.
Il piu' grosso e' dovuto all'eliminazione della clearBuffer, duplicato della empyScreen, l'eliminazione della hiLevel purtroppo fa guadaganare solo 3 bytes =)
Lo spostamento della sid init non e' necessario, volevo solo provare una cosa rivelatasi inutile, ho anche provato a cambiare l'org da $0801 a $0800/$0810 ma non cambia un granche'.
PS: exomizer rulla eh? :)  
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #36 il: 09 Luglio 2006, 22:57:03 »
 Wow, più veloce della luce  :mattsid:  

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Elav
« Risposta #37 il: 09 Luglio 2006, 23:00:44 »
 A quanto pare siamo gli unici a cui della partita non importa una beata fava :)
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #38 il: 09 Luglio 2006, 23:05:29 »
 beh, ho la tv sopra il monitor.... 2 piccioni con 1 fava... :c64:  

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Elav
« Risposta #39 il: 10 Luglio 2006, 00:08:15 »
 ...tre,mi fa piacere che abbia vinto l'Italia ma non ci perdo il sonno :D  

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #40 il: 10 Luglio 2006, 21:09:15 »
 iAN, pui fare un diff con la versione attuale inserita in dowload e quella tua con le modifiche?
Ho applicato le modifiche (purtroppo a mano, perchè patch andava in blocco) e adesso quando cade un palazzo: o si resetta lo schermo, o c'è un istruzione illegale, o io kong non si muove più come dovrebbe.
Non so se ho sbagliato a inserire la patch, oppure ci sia un problema in exomizer che si mangia un pò di codice.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Elav
« Risposta #41 il: 10 Luglio 2006, 21:52:53 »
 
Citazione da: "ice00"
iAN, pui fare un diff con la versione attuale inserita in dowload e quella tua con le modifiche?
Mah... nun zo... ci penso...
 :lol:

Eccolo, cappella mia.
Codice: [Seleziona]
;=================================
; Get a random number
; routine in publication magazine
;=================================

random:
     inc  Z
Z = * +1
     ldy  #00
     lda  $DC04
     eor  $FEDC,y
     eor  $D012
     rts
Z deve puntare al valore della ldy #, modificandolo in loco.

 
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #42 il: 12 Luglio 2006, 21:00:37 »
 risolto il punto 2 con due AND: adesso il moviemento è a circolo se si esce dallo schermo, mi sembra che pure il gioco originale sia così. Adesso devo passare al punto più impegnativo!

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #43 il: 17 Luglio 2006, 11:33:13 »
 Mentre stavo implementando il punto 3, ho trovato il baco che non permetteva al 3° palazzo di essere colpito dopo che il primo cadeva.
La conseguenza è che ora potete abbattere tutti i palazzi e passare i livelli (attenzione, abbattete sempre prima i palazzi più a sinistra), altrmenti cadrà quello sbagliato)
Ho visto che fino all'ultimo livello si può abbattere entro i 99 secondi (anche se risicati), l'ultimo è troppo complicato per riuscirci.
Penso che se il tempo va a 0, dovrebbe ripartire da 99, ma tolgiendo 1 vita.

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Elav
« Risposta #44 il: 17 Luglio 2006, 19:35:38 »
 Ho fatto una modifica parziale per il punto 3: sembra che funzioni già così al 90% (solo in un caso un palazzo sottostante viene erroneamente colpito nelle finestre), ma questo non pregiudica la caduta degli altri.
Provate a giocare e andare ad abbattere i palzazzi usando un ordine casuale per vedere se alla fine riuscite ad abbatterli tutti.
La modiifca che servirebbe peressere al 100% non richiede tantissime istruzioni, ma mi riservo di farlo solo se strettamente necessario, per risparmiare bytes che possono essere preziosi per le altre cose da aggiungere.