Autore Topic: Patch Lcd Per Sd2iec  (Letto 4437 volte)

4e1541

  • Utente
  • **
  • Post: 206
  • Gioco Preferito: nessuno in particolare
Patch Lcd Per Sd2iec
« il: 28 Maggio 2011, 12:14:22 »
 Ciao!

Dopo un po' di smanettamenti nel tempo libero, sono riuscito ad integrare l'ottimo lavoro di  Sascha Bader (qui) all'ultima versione della SD2IEC (la 0.10.1).

Ecco quindi la sd2iec lcd (barbona) :)

Ho realizzato per le prove una MMC2IEC (schema Antakaba 2007 con oscillatore interno) su breadboard con un atmega1284p alimentandola tramite un Arduino...

Le modifiche ai sorgenti riguardono l'integrazione della parte lcd con l'ultima versione del firmware ufficiale, inoltre ho aggiunto la visualizzazione del device e corretti alcuni bugs (ma ce ne sono altri ancora)...

Ho portato le modifiche anche alla "vecchia" versione per atmega32 (integrando le ultime modifiche ->0.6.7.)

Il firmware e' stato compilato sotto linux (ubuntu 8.04 LTS), ma non credo ci siano problemi anche sotto windows.

Ecco un po' di immagini del "lavoro": in alto a sx la BB per la programmazione dei chip atmel,  al centro la BB MMC2IEC, a dx l'Arduino.
 



Un'immagine D64 montata dalla sd2iec:




Lo screen iniziale:




Sorgenti e diff qui ->http://vdrbox.altervista.org/risorse/index...ctory=Altro/CBM


Fatemi sapere... :sonno:

tsm_carmine

  • Redazione
  • Utente
  • ****
  • Post: 513
  • Gioco Preferito: Krakout
Patch Lcd Per Sd2iec
« Risposta #1 il: 28 Maggio 2011, 13:18:28 »
 Ben fatto, ora l'ideale sarebbe eliminare il resto dei bug e accorpare le aggiunte nel sorgente ufficiale, con possibilità di includerle o escluderle al momento della compilazione, creando una nuova "hardware variant" in config.h e scegliendola in "config" (sempre se non è cambiato il sistema rispetto a quando ci giochicchiavo io).
Ma... l'arduino che c'entra?  :huh:  
Riusciremo a costruire un mondo dove più nessuno osi pronunciare le parole... "lettore floppy"?

4e1541

  • Utente
  • **
  • Post: 206
  • Gioco Preferito: nessuno in particolare
Patch Lcd Per Sd2iec
« Risposta #2 il: 28 Maggio 2011, 14:18:22 »
 @tsm_carmine: credo che la patch sia ancora troppo "dirty" per essere inserita nel trunk di sviluppo.

L'ideale sarebbe modificare la gestione del display nativa (che utilizza 2 avr) e consentirne l'utilizzo con uno solo.
Pero' non ho l'hardware per poter fare qualche prova. Inoltre se non ricordo male l'output e' un 4x27 e portare tutto a 2x16 o 2x20 e' un poco complicato.

Il file di diff, pero' consente di patchare anche le future versioni ufficiali senza troppi problemi. Quindi se domani esce la 0.10.2 dovrebbe essere tutto abbastanza semplice.
N.B. ho controllato la diff e mi sono dimenticato il parametro -N, l'ho riscaricata ora corretta (12kbytes).

Ho utilizzato il solito sistema di compilazione condizionato basta aggiungere nel file di configurazione di ogni tipo di board CONFIG_LCD_DISPLAY=y per ottenere un codice oggetto che implementa la gestione "BADER" del display.

L'arduino l'ho utilizzato per riprogrammare i chip (l'atmel32 non ha il bootloader quindi va flashato ogni volta) e soprattutto per fornire le tensioni alla breadboard (5v,3,3v).

ciao

4e1541

  • Utente
  • **
  • Post: 206
  • Gioco Preferito: nessuno in particolare
Patch Lcd Per Sd2iec
« Risposta #3 il: 05 Gennaio 2012, 10:50:28 »
 Riprendo questo thread per aggiornare il "progetto" alla nuova versione del firmware sd2iec (0.10.2):

Patch lcd per sorgenti firmware sd2iec 0.10.2

Binari sd2iec lcd 0.10.2 per 644p e 1284p (hardware variant=3)


Per l'applicazione della patch e' necessario:

- scaricare i sorgenti originali (sd2iec-0.10.2.tar.gz) estrarli in una cartella.
- copiare la patch nella stessa cartella dei sorgenti
- applicare la patch con comando:
Codice: [Seleziona]
patch -p1 < sd2iec-0.10.2-lcd.diffN.B. in ambiente linux :)


I 2 firmware in codice binario, dopo l'applicazione della patch, sono stati generati col comando:
Codice: [Seleziona]
make CONFIG=config-larsp
Codice: [Seleziona]
make CONFIG=config-larsp1284p
Lo schena utilizzato per la variante lcd e' il classico di AntaBaka 2007, basato sul mmc2iec originale.


N.B. Anche se non sono indicati nel circuito, in questo schema sono attivi sia il secondo selettore di device (10/11) sia che quelli di disk change. Questo schema pero' utilizza l'oscillatore interno dell'atmega e puo' dare problemi con alcuni loader per problemi di temporizzazione.

Tuttavia nulla impedisce di utilizzare lo schema sd2iec di AntaBaka 2009:


Questa variante utilizza un oscillatore esterno (8Mhz). Per il cablaggio del display lcd si utilizzano le stesse porte della versione precedente.
Il CONFIG_HARDWARE_VARIANT rimane il medesimo, ma deve essere cambiato il fuse bit dell'atmega per utilizzare l'oscillatore esterno.
Maggiori info QUI


ciao
 

4e1541

  • Utente
  • **
  • Post: 206
  • Gioco Preferito: nessuno in particolare
Patch Lcd Per Sd2iec
« Risposta #4 il: 20 Aprile 2012, 12:58:33 »
 Aggiornamento: la diff (sd2iec-0.10.2-lcd.diff) si puo' utilizzare anche per aggiornare i sorgenti dell'ultima versione del firmware  sd2iec (0.10.3)

Codice: [Seleziona]
user@ubuntu:~/avr/sd2iec/sd2iec-0.10.3$ patch -p1 <sd2iec-0.10.2-lcd.diff
patching file buffers.c
patching file config-larsp
patching file config-larsp1284p
patching file d64ops.c
patching file diskchange.c
patching file display_lcd.c
patching file display_lcd.h
patching file doscmd.c
patching file errormsg.c
patching file fatops.c
patching file fileops.c
patching file iec.c
patching file lcd.c
patching file lcd.h
patching file main.c
patching file Makefile
user@ubuntu:~/avr/sd2iec/sd2iec-0.10.3$

ciao