Autore Topic: Lss Mimigame  (Letto 40708 volte)

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Lss Mimigame
« Risposta #45 il: 27 Giugno 2004, 22:15:50 »
 
Citazione da: "ice00"
appena uploaded.
speriamo che vada
Ok ora va. E il baco del salto a sx ora non c'e' piu', bravo!
Resta ancora da capire come fixare la linea di raster sull'utima riga... tutta questione di temporizzazione, immagino ;)
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Lss Mimigame
« Risposta #46 il: 28 Giugno 2004, 19:52:53 »
 Per il raster di solito basta qualche nop, per cui al momento non me ne sono preoccupato. Poi magari scopro che non basta ....

bye
S.T.

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Lss Mimigame
« Risposta #47 il: 28 Giugno 2004, 22:41:25 »
 lss12.prg:

per la gioia di Luca/Fire adesso si può arrampicarsi su di un blocco, saltando in alto (come in Giana) e il comportamento non è più da Ghost and Goblin.
Funziona solo se si salta in alto e si va a destra, non il contrario (giusto per risparmiare un pò di codice).

Il raster è fissato spostando lo scrolling un pò di cicli dopo (non aggiungendo nop, ma spostando l'ordine di esecuzione).

Adesso rimane solo il bug che ogni tanto ci si arrampica a metà blocco...

bye
S.T.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Lss Mimigame
« Risposta #48 il: 29 Giugno 2004, 01:28:01 »
 La modifica del raster e' perfetta, anche aggiungendo una musica non sgarra di un pixel ;)

Ho notato che il contatore dei diamanti non era ancora finito, passati a 10 appare un ";". Qualche mese fa ebbi lo stesso problema con il trainer di Kungfu master e trovai una soluzione con google, un routine per convertire un valore binario in BCD.
Ti posto il diff delle mie modifiche rispetto al sorgente della beta12
Codice: [Seleziona]
--- lss.s Mon Jun 28 21:58:30 2004
+++ C:\q\lss\beta12\lss_2.s Tue Jun 29 01:20:28 2004
@@ -890,30 +890,20 @@
       jsr  STRING                ; put the name of the game
       rts
 Sscore:
-  .byte 5,"POINTS   BONUS    LIFES  LEVEL  TIME             ",CHS_DIAM1,0  
+  .byte 5,"POINTS   BONUS    LIVES  LEVEL  TIME             ",CHS_DIAM1,0
  
;=================================
; Write the score
;=================================
 writeScore:
       lda  bonus                 ; write the number of bonus
-      and  #$F0                  ; high nibble
-      lsr
-      lsr
-      lsr
-      lsr
-      clc
-      adc  #48                   ; add '0'  
-      sta  $400+40+14
-      lda  bonus
-      and  #$0F                  ; lo nibble
-      clc
-      adc  #48                   ; add '0'
+      jsr  bin2bcd
+      jsr  atoax
+      stx  $400+40+14
       sta  $400+40+15
      
       lda  lifes
-      clc
-      adc  #48                   ; add '0'  
+      ora  #$30
       sta  $400+40+22
      
       lda  level
@@ -922,18 +912,8 @@
       sta  $400+40+29        
      
       lda  time                  ; write the time
-      and  #$F0                  ; high nibble
-      lsr
-      lsr
-      lsr
-      lsr
-      clc
-      adc  #48                   ; add '0'  
-      sta  $400+40+35
-      lda  time
-      and  #$0F                  ; lo nibble
-      clc
-      adc  #48                   ; add '0'
+      jsr  atoax
+      stx  $400+40+35
       sta  $400+40+36
      
       ldx  #0
@@ -966,15 +946,15 @@
       lsr
       lsr
       lsr
-      clc
-      adc  #48
+
+      ora  #$30
 wra1:    
       sta  $400+40+2,y
       iny
       pla
       and  #$0F
-      clc
-      adc  #48
+
+      ora  #$30
 wra2:    
       sta  $400+40+3,y
       inx
@@ -1840,3 +1820,46 @@
   .byte $01, $01, $01, $01, $01    ; white  -> BK_CLOUD blocks
   .byte $08, $08, $00, $08, $08
   .byte $08, $01, $08
\ No newline at end of file
+
+; convert binary to BCD without division.
+; Entry: binary number between 0 and 99 in accumulator
+; Exit: BCD number in accumulator (unpack to get ASCII)
+; original found <http://groups.google.com/groups?selm=166%40harvard.ARPA&oe=utf-8&output=gplain>
+; adapted and optimized(?) by iAN CooG
+bin2bcd:
+res = $95
+        php     ; save previous processor mode
+        sed     ; enable bcd arithmetic
+        ldx #8  ; #bits to convert
+        ldy #0  ; clear result
+        sty res
+bloop:  asl     ; test msb
+        tay     ; save binary number
+        php     ; save result of msb test
+        lda res ; multiply bcd by 2
+        clc
+        adc res
+        plp     ; add one if msb was set
+        adc #0  ; adds 1 only if carry set
+skip:   sta res ; update bcd result
+        tya     ; restore binary number
+        dex
+        bne bloop
+        lda res ; return result in accumulator
+        plp     ; restore processor status
+        rts
+
+; input a=$12 output x= $31 "1" a= $32 "2"
+atoax:
+
+        pha                      ; save A for lo-nibble fetch
+        lsr
+        lsr
+        lsr
+        lsr
+        ora  #$30
+        tax
+        pla                      ;lo-nibble fetch
+        and  #$0F
+        ora  #$30
+        rts

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

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Lss Mimigame
« Risposta #49 il: 29 Giugno 2004, 19:40:56 »
 Non ci avevo fatto caso al bonus!!!!
Adesso vedo il fix, o se mi conviene utilizzare direttamente l'aritmatica decimale come fatto per il punteggio.

Thanks.

bye
S.T.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Lss Mimigame
« Risposta #50 il: 29 Giugno 2004, 21:39:03 »
Citazione da: "ice00"
Adesso vedo il fix, o se mi conviene utilizzare direttamente l'aritmatica decimale come fatto per il punteggio.
 
Credo convenga fare come con il punteggio, visto il casino che bisogna fare per decifrare un byte, vai di SED e semplifichiamo il tutto ;)
Tanto non ci saranno piu' di, diciamo, 30 diamanti per livello no?
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Lss Mimigame
« Risposta #51 il: 29 Giugno 2004, 21:54:42 »
 Esatto.
Al momento ho applicato la patch, visto che funziona e raggruppa il tutto sotto atox.
Domani vedo di togliere bin2bcd usando l'aritmetica decimale.

Per il max numero di diamanti non c'è problema: raggiunta una certa quota, si guadagna una vita e il tutto si resetta. Devo implementarlo ancora.
Intanto ho messo che il bonus non si azzeri passando di livello, ma solo se si muore.

Domani sera il tutto sarà in lss13.prg

bye
S.T.

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Lss Mimigame
« Risposta #52 il: 30 Giugno 2004, 22:36:14 »
 lss13.prg

Oltre al fix del bonus, notate le nuove piattaforme simil 3D disegnate da Luca.

I mostri sono leggermente ritoccati da Luca: il primo ha un look più professionale.
Il secondo perde un pò di fascino rispetto a prima.

bye
S.T.  

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Lss Mimigame
« Risposta #53 il: 01 Luglio 2004, 00:56:38 »
Citazione da: "ice00"
lss13.prg
 
Lo zip e' rovinato  :(
C'e' nessuno? possibile che nessuno se ne sia ancora accorto? o sono l'unico a seguire il thread? :stordita:
Io sono un tuo fedele seguace e il thread lo tengo sempre d'occhio :P  
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Luca/FIRE

  • Utente
  • **
  • Post: 137
    • http://fire.plus4.net
  • Gioco Preferito: Wizball
Lss Mimigame
« Risposta #54 il: 01 Luglio 2004, 01:27:19 »
 
Citazione da: "iAN CooG/HF"
Lo zip e' rovinato  :(
C'e' nessuno? possibile che nessuno se ne sia ancora accorto? o sono l'unico a seguire il thread? :stordita:
Oddioddio, guarda, lasciamo stare: le ho provate tutte per ripararlo, nulla nulla nulla di nulla. Stefano l'avrà aperto e richiuso giusto per verificare se corrotto, ma la cosa era più subdola...mannagg, non so neanche se le piattaforme le ha messe a terra o sospese... :doh:  

Roberto

  • Administrator
  • Utente
  • *****
  • Post: 2444
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Lss Mimigame
« Risposta #55 il: 01 Luglio 2004, 09:51:36 »
 
Citazione da: "iAN CooG/HF"
Citazione da: "ice00"
lss13.prg
 
Lo zip e' rovinato
C'e' nessuno? possibile che nessuno se ne sia ancora accorto? o sono l'unico a seguire il thread?
Io sono un tuo fedele seguace e il thread lo tengo sempre d'occhio

Il thread è seguitissimo a giudicare dai log, tu hai semplicemente
postato per primo :sgrat:  

A questo punto attendo ansiosamente i nuovi ritocchi alla nuova grafica (sulla programmazione devo sorvolare :D ), non farò mancare i miei commenti a Luca/FIRE, che nel frattempo saluto.
 :ciauz:
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Lss Mimigame
« Risposta #56 il: 01 Luglio 2004, 12:03:56 »
 Ci sono anch'io;in questi ultimi giorni ho avuto dodicimila cose da fare e ho perso un pò di vista il thread ( sono ancora a lss11 :o  )

Luca/FIRE

  • Utente
  • **
  • Post: 137
    • http://fire.plus4.net
  • Gioco Preferito: Wizball
Lss Mimigame
« Risposta #57 il: 01 Luglio 2004, 12:05:13 »
 Eggià, mi pare giusto: la rabbia dello zip scassato mi ha fuorviato effettivamente dagli oneri classici di un neoiscritto al forum: salutare e presentarsi.
E allora buongiorno a tutti, 8bit per sempre.  :hail:  

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Lss Mimigame
« Risposta #58 il: 01 Luglio 2004, 12:09:34 »
 Ciao e benvenuto :)  

ice00

  • Utente
  • **
  • Post: 469
    • http://digilander.iol.it/ice00
Lss Mimigame
« Risposta #59 il: 01 Luglio 2004, 19:31:31 »
 Appena rispedito.

Ultimamente il servizio upload di digiland lascia a desiderare...

Comunque il sorgente non era corrotto e se avete dasm potete compilarlo tranquillamente.

Adesso dovrebbe però essere corretto il file.

bye
S.T.