Autore Topic: Pocketcard +new Pla  (Letto 9903 volte)

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« il: 22 Luglio 2010, 09:48:37 »
 POCKETCARD BY KIAND (un po' di teoria)

La cartridge puo' lavorare in 3 modalita'

8k (0x8000 - 0x9FFF)quando la linea EXROM e' a massa
16k(0x8000 - 0xBFFF)quando la linea EXROM e linea GAME sono a massa
Ultimax ((0x8000 - 0x9FFF + 0xE000-0xFFFF)quando la linea GAME e' a massa

Questo e' possibile grazie al PLA che gestisce la configurazione di memoria che il microprocessore "vede" dalla cartridge
Microprocessore -> PLA-> Cartridge

_NOTA_

Nella modalita' 16k, il BASIC RAM del C64 che risiede in 0xA000-0xBFFF e' condiviso.

La linea LORAM (input del microprocessore) controlla la zona di memoria 0x8000-0x9FFF

LORAM high: il PLA costringe il C64 a vedere la memoria bassa come ROM
LORAM low: il PLA costringe il C64 a vedere la memoria bassa come RAM

Nel caso della modalita' 16k e LORAM e' low non si vedono piu' gli 8k a partire da 0x8000, ma gli 8k a partire da 0xA000 continuano ad essere mappati nella cartridge.


Nella modalita' Ultimax non ho nessuna RAM a parte i 4K iniziali (0x0000-0x0FFF)
Spesso la zona 0x8000 di Ultimax non e' usata

_*PLA*_

Nel caso di aree di memoria che possono essere RAM o ROM (come il basic) il PLA sceglie cosa fare a seconda dello stato delle linee:
EXROM GAME LORAM HIRAM
_
_
se il processore scrive il PLA scegliera' sempre la RAM
se il processore vuole leggere il PLA scegliera' l'area di memoria in base allo stato delle linee.

Questo discorso cambia nel caso dell'area 0xD000-0xDFFF (IO Devices) ;qua il PLA permette al processore di leggere e scrivere sempre.

Nella modalita' 8K se si scrive nella zona a partire da 0x8000 (CARTRIDGE ROM) il processore scrive nella memoria RAM sottostante, stesso discorso per modalita' a 16K
Per ultimax non viene scritto nulla, salvo nella zona dei primi 4k

LORAM, HIRAM e CHAREN sono alti al RESET

Software reset :SYS 64738 (JMP FCE2)

La enable line e' composta dall'insieme di CE ed OE dei segnali che vanno all'eprom

Il PLA monitorizza continuamente i suoi ingressi (GAME EXROM) e in base a questi cambia immediatamente lo stato delle sue uscite ( ROML e ROMH)
Le linee GAME ed EXROM sono connesse direttamente al PLA e non ha interconnessioni col C64
ROML abilita la memoria da 0x8000
ROMH abilita memoria da 0xA000 o da 0xE000
ROML controlla le linee CE e OE della prima eprom e ROMH controlla  le linee OE CE della seconda eprom sulla cartridge

ROML e ROMH vengono settate low (attivi bassi) solo su operazioni di lettura!

ROML non viene tenuto basso per l'intero periodo di funzionamento,ma solo nei momenti in cui e' necessario leggere, in modo da evitare possibili conflitti
ROMH dipende dalla modalita:
modalita' 8K ROMH e' disabilitato, puo' stare alto tutto il tempo
modalita' 16K ROMH gestisce l'area di memoria 0xA000-0xBFFF (contenuta nella seconda eprom)
modalita' Max ROMH gestisce l'area di memoria 0xE000-0xFFFF (contenuta nella seconda eprom)

Per ogni lettura in questa area il PLA deve mettere a massa ROMH

IO1 IO2: sono linee usate per il bank switching , sono output del PLA
Il C64 pensa di indirizzare una singola eeprom in realta' ce ne sono 2
Vengono usati per cartridge con piu' dei 16k standard
IO1 e IO2 vengono settate low su operazioni di lettura. IO1 viene settato sia su operazioni di scrittura/lettura nell'area 0xD000-0xDEFF
IO2 viene settato sia su operazioni di scrittura/lettura nell'area 0xDF00-0xDFFF
IO1 e IO2 possono essere gestiti da codice leggendo negli indirizzi indicati e permettendo di switchare in un altra eprom.

*_AUTOSTART_*

3 metodi:

*0xA000*
*
*
E' normalmente usata con cartridge 16k
E' usata quando non interessa usare il basic del C64.
Normalmente il C64 all'avvio inizializza prima il KERNAL e poi il BASIC Questo metodo si basa sul COLD-START Vector del basic che si trova agli indirizzi 0xA000 e 0xA001
Utilizzando 16k e' possibile cambiare i primi 2 byte della seconda eprom (coincide con il BASIC RAM) inserendo lo start del proprio programma
E' possibile usare questo metodo anche con una sola eprom da 8k purche' il
COLD-START risieda tra 0xA000 e 0xBFFF

Nota
Premendo RUN + RESTORE senza leggere un "CBM80" verra' attivato il WARM-START Vector che si trova a 0xA002-0xA003

*CBM80*

E' il piu' usato
Le routine di RESET del KERNAL controllano all'avvio nelle prime locazioni di 0x8000 per cercare la stringa "CBM80"
Se non trova nulla va avanti normalmente,altrimenti il processore si sposta sul COLD-START Vector che si trova nei primi 2 byte a partire da 0x8000, dove deve trovare le routine per inizializzare il KERNAL ed eventualmente il BASIC
Queste routine si possono copiare dalla versione originale del KERNAL nel caso di programmi custom.
Altrimenti sono gia presenti nel gioco o programma della cartridge scaricata.
L' inizializzazione del BASIC ci puo' essere come no.
L' inizializzazione del BASIC non ci deve essere se uso una cartridge da 16K (perche questa sovrascrive il basic Rom)
Normalmente viene visualizzato lo schermo READY con un comando NEW
Sara' possibile tornare alla schermata del basic tramite un Jump a 0xE386 (di solito nei giochi non si usa)

Il terzo e quarto byte a partire da 0x8000 definisce il WARM-START Vector.
Il processore esegue dall'indirizzo puntato dal Warm Vector quando viene premuto il tasto RESTORE.
Solitamente questo vettore punta ad una locazione successiva perche' il kernal e/o il basic sono gia stati inizializzati all'accensione.
Puo' coincidere con il COLD-START Vector (rieseguo inizializzazioni)
Oppure puo' essere disabilitato facendolo puntare a 0xFEBC

*MAX*

E' usato con le cartridge in modalita' UltiMax
Non e' molto usato. Consiste in una prima eprom a 0x8000 (usata per qualche semplice gioco o spesso non usata per niente)
e in una seconda eprom in 0xE000
E' basato sul fatto che al power-up del commodore il processore legge all'indirizzo 0xFFFC-0xFFFD ed esegue a partire dell'indirizzo che trova in queste locazioni. (normalmente sono le KERNAL RESET routines).
Se pero' inserisco una Max cartridge il PLA permette al C64 di leggere a 0xE000 non della ROM ma dalla cartridge, dove ci sara' l'indirizzo in cui andra' ad eseguire.
In questo caso le routine di inizializzazinoe del kernal devono essere tutte nella cartridge.
Ovviamente non ci sara' la routine di controllo del CBM, perche' lei stessa e' una cartridge  

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« Risposta #1 il: 22 Luglio 2010, 10:19:36 »
 E ora parliamo anche un po del nuovo PLA

Il nuovo PLA puo' operare in due modalita' selezionabili tramite un deviatore
MODALITA' NORMAL (C64)
Sostituisce in tutto e per tutto il classico PLA 906114 28PIN montato nel commodore 64 prima serie e nei primi esemplari della seconda serie riconoscibile sull'etichetta dove viene riportato C64, se trovate la scritta C64C il vostro computer  non e' compatibile monta un diverso tipo di PLA.
MODALITA'EXTERNAL (cartridge)
In questa modalita' viene caricato un PLA opportunamente modificato in modo da permettere l'indirizzamento completo della memoria del C64 sulla cartridge POCKETCARD.
Questo permette di poter utilizzare in modo trasparente nuovi kernal caricandoli da cartridge esterna in modo permanente.
La POCKETCARD puo' essere riprogrammata in due modi.
1)Tramite software ,KIAND ha realizzato un programma su pc x la flash 29f040. Si selezionano i game/kernal e il programma crea un file.bin  per la programmazione con un qualsiasi  programmatore di eprom.
2)Tramite l'interfaccia POCKETPROG e/o KIT POCKET1541 (in fase di realizzazione).

 

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« Risposta #2 il: 23 Luglio 2010, 10:30:38 »
 Ecco come si presenteranno le schede



 

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« Risposta #3 il: 24 Luglio 2010, 10:57:47 »
 Il pezzo mancante:
 screenshot del software da PC x la creazione  file.BIN   POCKETCARD64
la programmazione puo' avvenire tramite un programmatore standard
con hardware POCKETPROG64 seriale-usb per la futura programmazione diretta POCKETCARD64


 

Oge

  • Utente
  • **
  • Post: 239
Pocketcard +new Pla
« Risposta #4 il: 24 Luglio 2010, 15:24:48 »
Citazione da: "jack58"
Sostituisce in tutto e per tutto il classico PLA 906114 [...] montato nel commodore 64 prima serie e nei primi esemplari della seconda serie riconoscibile sull'etichetta dove viene riportato C64 [...]
Il PLA, a mio avviso, è utilissimo. Essendo risaputo che il PLA è uno dei componenti più soggetti a danneggiamento, si può cogliere l'occasione di montarne uno nuovo e dalle funzionalità avanzate.

Non mi addentro nello specifico, non avendo ancora avuto modo di sviscerarne le modalità di funzionamento, ma personalmente ho dovuto sacrificare sin troppe motherboard (al fine di estrarne il PLA e destinarlo ad altre in migliori condizioni)... ;)

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« Risposta #5 il: 24 Luglio 2010, 17:05:20 »
 ANCORA QUALCHE CHIARIMENTO PER CHI L'HA RICHIESTO.
PER ALTRE INFO LEGGETE ANCHE I POST SUL POCKET1541
IL POCKETPLA64 NASCE
1 PER SOSTITUIRNE UNO ROTTO 906114
2 PER SUPPORTARE LA POCKETCARD64 CON EVENTUALI KERNAL COME EXOS,JIFFYDOS© ECC IN MODO DEFINITIVO DALLA PORTA CARTRIDGE DEL C64 IN MODALITA' AVANZATA EXT-PLA.
INFATTI COSA SUCCEDE SE UTILIZZIAMO  UNA CARTRIDGE CON FASTLOAD?
ESEMPIO
EXOS 9805 REX KERNAL VELOCE SERIALE E000
TURBODISK
EPYX FASTLOAD
IN GENERALE *TUTTE* LE CARTRIDGE CON FASTLOAD?
DOPO ALCUNI MINUTI DI FUNZIONAMENTO SOLITAMENTE AL READY I FASTLOAD NON SARANNO PIU' ATTIVI.TUTTI I GAME MULTILOAD CARICANO SOLO LA PRIMA PARTE CON IL FASTLOAD ,CON LA POCKETCARD64 NON SARA' PIU' COSI'.
I FASTLOAD DEI KERNAL CARICATI SULLA FLASH DELLA POCKETCARD SARANNO SEMPRE ATTIVI A UNA VELOCITA' 10-20 VOLTE SUPERIORE AL  NORMALE. POTREMO CARICARE SULLA POCKETCARD64 I PIU' CONOSCIUTI KERNAL SERIALI PER L'UTILIZZO CON IL POCKET1541 ,TUTTE LE INTERFACCE SD2IEC O IL DRIVE 1541 DEVICE 8
OPPURE IL FAMOSO SPEEDDOS PARALLELO PER L'UTILIZZO CON IL DRIVE 1541 DEVICE 8.
LA POCKETCARD64 E' COMPATIBILE ANCHE CON TUTTI I *C64C* SOLO  IN MODALITA' *GAME UTILITY*16 AREE DI MEMORIA DA 32K NON POTENDO MONTARE ALL'INTERNO IL NUOVO PLA (COMPATIBILE 906114  A 28 PIN)
SUL C64C TROVIAMO UN PLA A 64 PIN.
 

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« Risposta #6 il: 26 Luglio 2010, 11:04:38 »
 Prima di commettere degli errori nella sostituzione del nuovo PLA controllate la versione della piastra madre del vostro commodore 64.





E' possibile la sostituzione del PLA con la nuova versione POCKETPLA64 nelle versioni C64 della prima e seconda foto

marcone

  • Neo-iscritto
  • *
  • Post: 42
  • Gioco Preferito: David's Midnight Flipper
Pocketcard +new Pla
« Risposta #7 il: 09 Agosto 2010, 13:28:57 »
 Salve,

una piccola info, il PLA 906114 e' lo stesso del 8SQ2S100 o 82S100?

Marcone

tsm_carmine

  • Redazione
  • Utente
  • ****
  • Post: 513
  • Gioco Preferito: Krakout
Pocketcard +new Pla
« Risposta #8 il: 09 Agosto 2010, 14:54:54 »
 I due integrati sono interscambiabili e svolgono lo stesso compito. In particolare l'82S100 era una logica programmabile prodotta dalla Signetics che la Commodore ha usato (programmandola opportunamente) nei C64 più vecchi. Successivamente sono stati impiegati i chip con sigla 906114 prodotti dalla stessa Commodore. Questi ultimi si sono rivelati molto più fragili, tanto è vero che una delle cause più comuni di malfunzionamenti nel C64 biscottone è la rottura questo integrato.
Riusciremo a costruire un mondo dove più nessuno osi pronunciare le parole... "lettore floppy"?

marcone

  • Neo-iscritto
  • *
  • Post: 42
  • Gioco Preferito: David's Midnight Flipper
Pocketcard +new Pla
« Risposta #9 il: 09 Agosto 2010, 15:50:56 »
 Nei commodore amiga ci sono delle rom chiamate kickstart, in caso di rottusa si possono sostituire con delle semplici eprom programmate opportunamente, mi chiedo se le 3 rom del c64 e il pla non possano essere sostituite in  maniera semplice con delle eeprom....

Marcone

Oge

  • Utente
  • **
  • Post: 239
Pocketcard +new Pla
« Risposta #10 il: 10 Agosto 2010, 17:18:51 »
 
Citazione
possano essere sostituite in maniera semplice con delle eeprom
Per il PLA il discorso non è così semplice... ;)

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« Risposta #11 il: 12 Agosto 2010, 11:19:24 »
 Vero OGE, infatti considerando il tempo necessario per la realizzazione degli adattatori la scelta e la programmazione delle eprom, per il  PLA il tempo di accesso deve essere inferiore alle altre eprom pena un insuccesso,non so proprio se economicamente ne valga la pena.
Dal punto di vista sperimentale niente da obbiettare  e' un lavoro che puo' dare molte soddisfazioni.
Ritornando a noi a livello di prototipo sto realizzando una cartridge per cosidire *universale* supportera' tutte le migliori cartridge del passato comprese le piu' rare mai arrivate in italia migliorandole ove possibile (freezer-utility,synt  ecc) mantenendo la stessa scheda di base con la sola aggiunta di un piggyback intelligente a seconda del tipo di complessita' della cartridge emulata. Il kit non so se verra' mai prodotto,(gli smanettoni scarseggiano) pero' mi ripropongo di fare un video per farvela vedere all'opera.
Speriamo che qui in trentino il tempo migliori seno' mi tocca stare in casa e continuare il prototipo hihihi.Ciao

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« Risposta #12 il: 06 Settembre 2010, 11:35:20 »
 Vi informo che la preserie: Pocketcard64 + Pocketpla64 e' stata gia' interamente prenotata. La prossima  non sara' pronta prima della fine di ottobre, inizio novembre. Le consegne delle prenotazioni dal 13-09-10.Soltanto due pezzi rimarranno in  Italia, peccato si vede che all'estero la scimmia e' piu' forte che qui in Italia.
Per la cronaca ultimo pezzo  andra' a Las Vegas NEVADA USA.
Ciao.  

Roberto

  • Administrator
  • Utente
  • *****
  • Post: 2415
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Pocketcard +new Pla
« Risposta #13 il: 06 Settembre 2010, 12:41:35 »
 
Citazione da: "jack58"
Soltanto due pezzi rimarranno in  Italia, peccato si vede che all'estero la scimmia e' piu' forte che qui in Italia.
Per la cronaca ultimo pezzo  andra' a Las Vegas NEVADA USA.
Non ti demoralizzare, anche io ci ho messo un pò a capirlo: i pregi e i difetti dell'utenza italiana sono amplificati rispetto a quella internazionale perchè siamo in numero infinitamente minore.

Qualsiasi cosa si faccia in Italia avrà sempre e comunque un riscontro limitato.
La comprensione e l'accettazione di questo incontrovertibile dato di fatto ti aiuterà (almeno parzialmente) a non farti il sangue amaro :stordita:  
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php

jack58

  • Utente
  • **
  • Post: 274
  • Gioco Preferito: Dragon's Lair
Pocketcard +new Pla
« Risposta #14 il: 01 Dicembre 2010, 19:33:02 »
 Eccoci ancora una volta a parlare dell'evoluzione di questo progetto .
Io e Kiand ci siamo incontranti piu' volte ultimamente per parlare di questo e
di altri progetti e degli sviluppi, io sul forum vi ho sempre tenuto al corrente passo dopo passo ,perche' si sa la curiosita' per noi nostalgici e' grande.
Purtroppo ultimamente , non posso piu' farlo perche' piu' di una persona ,privo di idee, ci specula sopra, incredibile ,forse pensa che esista un business e visto che come ho scritto la prima volta sul forum le idee x le ns piccole realizzazioni vorremmo che fossero anche una mezza novita' x tutti, siamo costretti grazie a loro  a riprogettare tutto quello che abbiamo fatto  recentemente  con logiche riprogrammabili, per non farle copiare, visto che e' successo quasi in tempo reale e senza poter anticipare piu' niente.
Comunque a riprova di tutto  continuo a seguire le discussioni e a partecipare come al solito,continuando ad acquistare in giro per il mondo vecchie interfacce e cartridge e presentarvele ,per tutto il resto ringrazziate chi di dovere.
Ciao con il nuovo anno arriveranno  anche le novita'.