Autore Topic: NeoGeo Graphics Unleashed  (Letto 6761 volte)

Offline darkdream

  • Utente assiduo
  • ***
  • Post: 154
    • Mostra profilo
    • http://
NeoGeo Graphics Unleashed
« il: Novembre 02, 2006, 21:38:51 »
mi sono rotto era da diverso tempo forse un anno che avevo scritto stò documento... forse è arrivata l'ora di rilasciarlo (probabilmente no ma chissenefrega lol)... poi ditemi che non sono troppo buono  :rolleyes:

:----------------------------------------------------------------------------:

Formati grafici del NeoGeo v 0.5
ovvero come complicarsi la vita :P
written by evo
evobboy at yahoo dot it

  Se hai utilizzato queste informazioni gradirei se mettessi il mio nome
  da qualche parte nei progetti che sei riuscito a fare grazie a queste
  info (non per forza).

Solito disclaimer non utilizzare le informazioni per ottenere profitti, non spacciarle per tue è vietata la modifica/redistribuzione in forma sia parziale che totale (inclusa la traduzione quindi) senza il consenso dell'autore cioè me.

- Introduzione

  Questo documento è stato scritto dopo diverse ore di hacking di rom,
  e l'utilizzo di documenti e sorgenti scritti da altri, quindi mi sento
  in dovere di ringraziare il Mame Team, Kan, Shin Seiki, Charles Doty,
  BlastarX e tutti gli altri che non ricordo.
  Un saluto a Clomax, Gemini, GeO, mentz, mog_tom, Saffo, ^duke^, Brisma.
 
 
  Il Neogeo utilizza due formati grafici memorizzati in rom diverse,
  il formato 8x8, lo stesso dei file Fix del neogeo CD e che si trova nelle rom *_sN.rom;
  e il formato 16x16 memorizzato nei file *_cN.rom.(sembra che il formato dei file Spr sia
  diverso da quello del NeoGeo, se non altro si tratta di un unico file...).


- Grafica 8x8: Fix e *_sN.rom

  Il formato di fronte a cui ci troviamo è alquanto complesso, forse troppo...
  Ogni pixel è formato da 4 bit, vuol dire che con ogni byte noi disegnamo 2 pixel.
  I primi 4 bit disegnano il secondo pixel mentre i secondi 4 bit disegnano il primo pixel.
  Inoltre visto che alla SNK vogliono fare le cose difficili...
  Noi sappiammo che queste tile sono 8x8, immaginatele come divise in due parti di 4x8:

     0 1 2 3     4 5 6 7
    ._._._._.   ._._._._.
  0 |_|_|_|_|   |_|_|_|_|
  1 |_|_|_|_|   |_|_|_|_|
  2 |_|_|_|_|   |_|_|_|_|
  3 |_|_|_|_|   |_|_|_|_|
  4 |_|_|_|_|   |_|_|_|_|
  5 |_|_|_|_|   |_|_|_|_|
  6 |_|_|_|_|   |_|_|_|_|
  7 |_|_|_|_|   |_|_|_|_|
 
  bene i pixel vengono disposti a due a due seguendo le colonne a partire dalla 4^ e 5^.
  (prima i secondi 4 bit e poi i primi).
 
  facciamo un esempio pratico così è più facile :=)

  ecco come si presenta un 1...
 
     0 1 2 3 4 5 6 7
    ._._._._._._._._.
  0 |_|_|_|_|_|_|_|_|
  1 |_|_|#|#|#|_|_|_|
  2 |_|_|_|#|#|_|_|_|
  3 |_|_|_|#|#|_|_|_|
  4 |_|_|_|#|#|_|_|_|
  5 |_|_|_|#|#|_|_|_|
  6 |_|_|_|#|#|_|_|_|
  7 |_|_|#|#|#|#|_|_|
 
  ed ecco in hex:
 
  22 21 21 21 21 21 21 11 22 22 22 22 22 22 22 22
  22 22 22 22 22 22 22 22 22 11 12 12 12 12 12 11

  $22 = %0010 0010
  $21 = %0010 0001
  $11 = %0001 0001
  $12 = $0001 0010
 
  consideriamo che nelle palette %0010 è bianco (B), mentre %0001 © è un colore,
  cominciamo dalle colonne 4 e 5:
 
    0 1 2 3 4 5 6 7
  0         B B ------>22
  1         C B ------>21 (ricordate che i bit vengono prima i secondi?
  2         C B ------>21  quindi è come se mettessimo %0001 © 0010 (B))
  3         C B ------>21
  4         C B ------>21
  5         C B ------>21
  6         C B ------>21
  7         C C ------>11 = %0001 0001
 
  facile no?
 
  poi andiamo con le colonne 6 e 7, poi 0 e 1, e alla fine 2 e 3.
 
  fate una prova con un foglio a quadretti, numerate la griglia da 0 a 7, trasformate quei
  valori in binario, e colorate i quadretti che corrispondono a C (%0001) vi assicuro che
  farlo può essere più esplicativo di mille parole ;)
 
  Essendo ogni tile fatta da 32 byte noi avremo in tutto 4096 tile
  (la rom della grafica 8x8 è sempre di 128 kb)


- Formato 16x16: *_cN.rom (MVS E AES)
 
  Le rom sono prese a coppie, [_cn1,_cn2],[_cn3,_cn4] etc...
  nel primo file abbiamo 2 bitplane disposti in maniera lineare, nel secondo gli altri due,
  per un totale di 4 bitplane e quindi 16 colori.
 
  File 1:
  [bp1] [bp2]
 
  File 2:
  [bp3] [bp4]
 
  Oltretutto i bit sono invertiti, quindi se un bitplane fosse %10011010
  sarebbe invece viualizzato come %01011001.


- Formato 16x16: *.spr (CD)

  Questo è un 4 bpp planar: i 4 bitplane che lo compongono vengono uno dopo l'altro:
 
  [bp1] [bp2] [bp3] [bp4]
 
  Anche qui i bit sono invertiti. Come nel formato MVS/AES.
 

- Conclusioni

  Ed ecco conludersi il nostro viaggio nella grafica del NeoGeo (che mi è costata diverse ore di fatica...)
  Non mi va più di scrivere quindi se avete qualcosa da dirmi, chiedere,
  possibili modifiche al documento, l'email è evobboy@yahoo.it

:----------------------------------------------------------------------------:

Offline |GeO|

  • Utente senior
  • *****
  • Post: 953
    • Mostra profilo
    • http://www.geo04.altervista.org
NeoGeo Graphics Unleashed
« Risposta #1 il: Novembre 03, 2006, 15:09:31 »
grazie del contributo. :)

Offline mentz

  • Utente senior
  • *****
  • Post: 745
    • Mostra profilo
    • http://www.mentzland.co.uk
NeoGeo Graphics Unleashed
« Risposta #2 il: Novembre 04, 2006, 17:52:48 »
Grazie per il saluto !!!

Offline darkdream

  • Utente assiduo
  • ***
  • Post: 154
    • Mostra profilo
    • http://
NeoGeo Graphics Unleashed
« Risposta #3 il: Novembre 06, 2006, 09:49:59 »
Citazione
Grazie per il saluto !!!
lol

Offline Sephiroth 1311

  • Amministratore
  • Utente senior
  • *****
  • Post: 1.015
    • Mostra profilo
    • http://www.sadnescity.it
NeoGeo Graphics Unleashed
« Risposta #4 il: Novembre 07, 2006, 14:34:39 »
Citazione
Grazie per il saluto !!!
I second mentz. ;)

E complimenti per la guida, è scritta chiaramente ed esaustivamente. :)
Sephiroth 1311
****************
membro di SadNES cITy
I gruppo italiano di traduzione ROM
http://www.sadnescity.it
*****************************
Fidati di chi ama leggere, fidati di chi porta sempre con sé un libro di poesie. Guarda con sospetto chi ti dice che non ha tempo, che la letteratura è una bella  cosa, che quando si è giovani  si può leggere, ma poi? Mente, non gliene importa nulla. Mente sapendo di mentire.
Roberto Cotroneo

Offline darkdream

  • Utente assiduo
  • ***
  • Post: 154
    • Mostra profilo
    • http://
NeoGeo Graphics Unleashed
« Risposta #5 il: Novembre 07, 2006, 19:34:10 »
credevo fosse terribilmente incasinata vabbè meno male che qualcuno riesce a capire le ca***te che scrivo :D