Autore Topic: dead  (Letto 4619 volte)

Offline legacy

  • ASM Lover
  • *****
  • Post: 353
  • Karma: +14/-2
    • Mostra profilo
dead
« il: 04 Ottobre 2014, 19:02:18 »
dead
« Ultima modifica: 18 Gennaio 2020, 01:40:57 da legacy »

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #1 il: 04 Ottobre 2014, 19:21:14 »
Ma prenditi un vero GameBoy no? :D

Prendi un GameBoy Color oppure un Advance usati, costano pochissimo e si trovano a pacchi; per entrambi esistono SDK amatoriali che hanno già tutto quello che serve per creare i giochi e se ti senti creativo prendi il manualone e ti scrivi le routine direttamente in assembly. :D

L'unico svantaggio è che non hai l'USB per caricare i programmi, e quindi devi accontentarti dell'emulatore. Io avevo un'idea di fare una cartuccia per il GBC con una microSD e un sistema che simula i vari tipi di cartuccia, in modo sia da poter caricare molte ROM sia per poter caricare programmi personalizzati. Non sarebbe male come semplice progettino ad esempio per esercitarsi sulla creazione di PCB.

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #2 il: 04 Ottobre 2014, 20:56:21 »
Io ho avuto la fortuna di lavorare su uno di questi:


La scatola blu è un emulatore di CPU completo e totale. Puoi debuggare i due processori del DS step by step, senza grossi problemi (eccetto per i bug di Metrowerks CodeWarrior). :)

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #3 il: 04 Ottobre 2014, 20:58:01 »
qui si vede meglio:


Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #4 il: 04 Ottobre 2014, 21:12:29 »
eheh non è mia, ho preso foto a caso da Internet :D
Ci lavoravo 5-6 anni fa quando facevo giochi per il DS :)

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #5 il: 04 Ottobre 2014, 21:45:51 »
Il bello di quel coso e' che "volendo", siccome alla fine e' un Arduino con l'LCD dei un CELL '90
ci si attacca sopra AVRStudio + Arduino-plugin e l'Appeal si impenna :D
Con la benedizione di Banzi... ::)

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #6 il: 05 Ottobre 2014, 00:27:26 »
A me invece quel coso del primo post incuriosisce non poco :-)

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #7 il: 05 Ottobre 2014, 02:23:10 »
escluso GBA (che e' un ARM puro) per il GB direi: + o -

come sai l'SDK e' basato su SDCC + un tot di hack perche' GB non e' esattamente una z80.
l'SDK alla fine e' diventato maturo e stabile negli intorno del 2004, oggi e' quasi abbandonato
(io non vedo commit recenti da un bel po' di anni)

Beh ma va bene così alla fine: il GBC è sempre quello, e anche nel 2004 era abbondantemente documentato. SDCC, anche se non è un drago nell'ottimizzazione o generazione codice, è lo stesso usabile visto che se qualcosa richiede alte prestazioni/timing lo si fa in assembly senza tanti problemi (è una parte del divertimento a programmare un hardware così piccolo ;D)
Di assemblatori per Z80/GB ce ne sono tanti quindi lì non è un problema.

resta ancora un po' di fastidio nel caricare le immagini
qualcuno aveva annunciato delle cartucce come quella che proponi
di fatto non le hanno mai realizzate in forma di kit e/o di progetto pubblico a prova di utonto
ci sono in giro molti e molti hack, dal tizio che si fila la cartuccia (come ho fatto io)
al tizio che dissalda tutto ad aria calda e ci infila su l'impossibile

Esistono delle cosiddette "flash cards" sia per GBC che per GBA, tipo queste:
http://krikzz.com/index.php?route=product/product&product_id=60
http://store.kitsch-bent.com/product/usb-64m-smart-card
http://www.gameboy-advance.net/flash_card/gba_flash_advance_cards.htm

Quello che pensavo io era una cartuccia che ti presenta un menù all'avvio per scegliere la ROM da caricare, e poi la caricava dalla SD e si metteva in modalità emulazione. Farlo non è neanche difficile, perchè le cartucce GB non sono altro che unità di memoria, con un bus indirizzi e dati e qualche segnale di controllo.
La parte più difficile è simulare i cosiddetti chip MBC (Memory Bank Controller) che servono a regolare il bank switching per ROM molto grandi.
Ci sono 4 modelli diversi di MBC (1, 2, 3, 5), e sono tutti completamente documentati, quindi il problema maggiore è decidere come simularli. Si può usare una CPLD o FPGA, però si ha tutta la complessità di doverle programmare e mettere nel PCB, accanto all'inevitabile microcontroller che deve gestire la SD e il caricamento dei dati.
Un'idea più recente è quella di usare un microcontrollore abbastanza veloce e emulare via software il comportamento dell'MBC appropriato: la CPU del GBC gira a 4/8 MHz (4 in modalità GB, 8 in GBC), ma se rispetta i timing di uno Z80 ci mette vari cicli di clock per concludere un accesso in memoria, quindi non credo che il bus vari più di 1 MHz. Il codice da far girare su questo microcontroller non è molto complicato, perchè deve solo impostare delle linee di indirizzo verso la memoria e lasciare che la SRAM parli con lo Z80 sul suo bus.
La parte più difficile diventa quindi trovare una SRAM abbastanza grande da simulare qualsiasi cartuccia possibile ovvero 8MB ROM + 128 KB RAM, roba praticamente impossibile da trovare (specialmente considerando che deve poter funzionare a 5V). Uno potrebbe pensare di usare una DRAM e fare il refresh quando lo Z80 non sta accedendo, ma qui si rasenta la follia.

e pure in giro ormai il GB non se lo fila + nessuno

Questo è assolutamente falso: come tutte le retro-console e -computers, c'è sempre una demoscene dietro o semplicemente nuovi programmi homebrew che escono; Gameboy e questi altri sistemi saranno ancora programmati e conosciuti fra 5, 10 anni (in realtà non morirà mai).

Quel macinino lì ti assicuro morirà in meno di un anno, in realtà si potrebbe dire che non è mai "vissuto"; in sostanza: buono per te che ci giochi e ti diverti a fare i programmini, ma non sperare di trovare una grande community o tanti giochi, così come non ci sono stati per le varie e varie miniconsole Arduino che si sono viste nel corso degli anni (quel form-factor non è per niente nuovo, ne avrò viste almeno altre 10 di console simili).

Secondo me se lasciavano perdere tutte quelle puttanate Arduino, spendevano un po' di più per uno schermo e processore decente (magari un bel Cortex-M4 che è bello potente ma pur sempre economico e facile da usare sulla board), ci tiravano fuori un macinino un po' più attraente sia per i programmatori, sia per persone che vogliono solo giocare ai giochini fatti dagli altri.

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #8 il: 05 Ottobre 2014, 16:43:03 »
Il problema e' nel debugger, se lo vuoi.

Qui però non consideri la cosa più importante: gli emulatori. :D

Praticamente tutti hanno la possibilità di guardare dentro la memoria e disassemblare sul momento il codice, oltre a poter mostrare il contenuto dei vari framebuffer e delle palette colori.
Visual Boy Advance dovrebbe avere anche il supporto per la connessione gdb, ma non la ho mai sperimentata e non so quanto funziona.
NO$GBA e NO$GMB sono molto avanzati nelle feature di debug che hanno, solo che non sono del tutto gratuiti.
Ho scoperto anche questo emulatore che ha molte funzioni di debug però gira solo su Windows.


Cmq facci sapere cosa tiri fuori con quel macinino che ti sei comprato! ;D

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #9 il: 05 Ottobre 2014, 17:33:12 »
No$GBA l'ho usato professionalmente, è un gran bel tool :)

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #10 il: 05 Ottobre 2014, 21:19:11 »
mai avuto il GBA, sorry :(

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #11 il: 05 Ottobre 2014, 22:28:08 »
no, dal GameGear (come giocatore) al DS (prima come programmatore poi come giocatore) :D

Offline xteamsoftware

  • Tech
  • *****
  • Post: 78
  • Karma: +0/-1
    • Mostra profilo
    • XTeam Software Solution
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #12 il: 06 Ottobre 2014, 22:45:17 »
GBA aveva un sistema con un'interfaccia SCSI da collegarsi al computer ( un GBA con una cartuccia che si collegava a questa interfaccia che faceva riconoscere il GBA come un'unità esterna ). Era possibile fare il debug mediante il cavo/interfaccia.

Per "provare" le cartucce avevamo preso un kit da Hong Kong con lettore + cartuccia, in questo modo provavi direttamente la cartuccia nel GBA senza passare per l'interfaccia.

C'era anche qualcosa ( non mi ricordo se kit o altro ) che serviva per sproteggere i giochi ( sempre da Hong Kong ) ma non ricordo come funzionava ( una specie di cavo con un qualcosa tipo actionReplay, ma non l'ho mai provato o visto dal vivo e potrei ricordare male )

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #13 il: 07 Ottobre 2014, 01:39:55 »
capit

altra cosa che mi chiedevo, il GBA monta una CPU ARM7 ed un coprocessore GB-z80
qualcuno sa o ha info precise su come funziona nello specifico il coprocessore ?

Credo che il BIOS ARM controlli quale cartridge è collegata al connettore (le cartucce GB e GBA sono compatibili come pinout, ma ovviamente le GBA sono un po' più avanzate), e in caso rilevi una cartuccia GB/GBC (basta controllare l'header nei primi 256 byte della cartuccia), avvia lo Z80 che prende il controllo del sistema.

Praticamente ogni GBA include un intero GBC in hardware che prende il controllo quando viene inserita la cartuccia adeguata.

Non credo i due processori possano girare contemporaneamente.

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Volete sviluppare un video game tipo GameBoy ?
« Risposta #14 il: 07 Ottobre 2014, 01:49:11 »
il DS, pur non contenendo nessun core Z80, è 100% (o quasi) compatibile con il GBA. Per cui credo che lo Z80 venga semplicemente spento e amen quando si tratta di gestire codice GBA nativo / ARM7TDMI.

Tags: