Autore Topic: Cambiare I Colori Kernal  (Letto 2726 volte)

fostox

  • Utente
  • **
  • Post: 60
  • Gioco Preferito: The Staff of Karnath
Cambiare I Colori Kernal
« il: 06 Aprile 2008, 18:42:23 »
 come mi è stato chiesto in pm, pubblico qui volentieri perchè possa essere d'interesse per tutti. Come sostituire i colori del kernal:
Armatevi di un editor esadecimale, caricate il vostro file kernal e alle locazioni  sotto indicate sostituite il valore oiginale

Offset:                       Valore originale:

$0535                        $05                      (colore bordo)
$0CD9                       $00                      (colore caratteri)
$0CDa                       $00                      (colore sfondo)

per fare le dovute prove modificate il file "kernal" di winvice (dopo magari averne fatta una copia!!)
non me ne vogliano i moderatori se è già stato trattato quest'argomento e non ho cercato nel forum, solo per scarsa disponibilità di tempo odierna. Grazie

sys58255

  • Utente
  • **
  • Post: 183
Cambiare I Colori Kernal
« Risposta #1 il: 06 Aprile 2008, 19:13:23 »
 Fostox, grazie per l'nteressamento...adesso ho quasi tutto per completare il mio speed Dos sul C64c e 1541II.

Saluti alla board.

sys58255

  • Utente
  • **
  • Post: 183
Cambiare I Colori Kernal
« Risposta #2 il: 07 Aprile 2008, 23:04:59 »
 
Citazione
$0535 $05 (colore bordo)
$0CD9 $00 (colore caratteri)
$0CDa $00 (colore sfondo)

$0535 $05 (colore caratteri) =verde
$0CD9 $00 (colore bordo)    =nero
$0CDa $00 (colore sfondo)   =nero

questi sono però gli offset sul kernal del C64 1a serie (rom 8k) ed è quella usata anche negli emulatori x64 come WinVICE ecc.

Una combinazione che mi piace è $05=verde, $04=viola e $00=nero.

Saluti go  :c64: 64.      

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Cambiare I Colori Kernal
« Risposta #3 il: 07 Aprile 2008, 23:54:00 »
 
Citazione
questi sono però gli offset sul kernal del C64 1a serie (rom 8k) ed è quella usata anche negli emulatori x64 come WinVICE ecc.
Ti correggo: Vice usa una rev 3, ccs una rev 2 modificata; in ogni caso questi offset sono universali, qualsiasi sia la revisione del kernal le locazioni per cambiare i colori non cambiano, basta guardare il disassemblato
Codice: [Seleziona]

E534: A9 0E     LDA #$0E    <---
E536: 8D 86 02  STA $0286    ; Current Character Color code


$E5A0/58784:   Set I/O Defaults
[...]
E5A8: A2 2F     LDX #$2F
E5AA: BD B8 EC  LDA $ECB8,X; usa la tabella a $ecb9 per
E5AD: 9D FF CF  STA $CFFF,X; inizializzare il VIC a $d000
E5B0: CA        DEX
E5B1: D0 F7     BNE $E5AA

 $ECB9/60601:   Video Chip Setup Table

ECB9: 00 00 00 00 00 00 00 00
ECC1: 00 00 00 00 00 00 00 00
ECC9: 00 9B 37 00 00 00 08 00
ECD1: 14 0F 00 00 00 00 00 00
ECD9: 0E 06 01 02 03 04 00 01 <---
ECE1: 02 03 04 05 06 07
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

sys58255

  • Utente
  • **
  • Post: 183
Cambiare I Colori Kernal
« Risposta #4 il: 08 Aprile 2008, 21:30:42 »
 
Citazione
Ti correggo: Vice usa una rev 3, ccs una rev 2 modificata; in ogni caso questi offset sono universali, qualsiasi sia la revisione del kernal le locazioni per cambiare i colori non cambiano, basta guardare il disassemblato

Si iAN, giusto, mi sono espresso male, cioè volevo dire che gli offset non corrispondono nel caso del 64c, proprio perchè il kernal è linkato al Basic in un unico (file) da 16k e pertanto a quell'indirizzo ci troveremmo nell'area del Basic, ma spostandosi di 8k($) in avanti, ritroviamo i byte che ci interessano qui:

Codice: [Seleziona]

E2534: A9 0E     LDA #$0E    <---
E2CD9: 0E <---
E2CDA: 06 <---


e che differiscono ancora nel romcode dell'emulatore di Miha Peternel (C64s X86).

Saluti e

Codice: [Seleziona]

GO64

ARE YOU SURE?Y


iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Cambiare I Colori Kernal
« Risposta #5 il: 08 Aprile 2008, 22:06:10 »
 
Citazione da: "sys58255"
Codice: [Seleziona]

E2534: A9 0E     LDA #$0E    <---
E2CD9: 0E <---
E2CDA: 06 <---


 
A costo di sembrare un rompicoglioni, cosa che mi riesce molto facilmente, ti conviene controllare quello che scrivi, E2534 e gli altri 2 non sono indirizzi validi.
Se si posta questo genere di informazioni con l'intenzione di lasciare un riferimento ai prossimi lettori e' bene essere precisi, altrimenti si genera solo confusione.
Probabilmente volevi dire $2534, cioe' esattamente 8kb ($2000) piu' avanti dell'offset in cui si trova lo stesso byte nella rom da 8kb.
Quindi gli offset in una rom da 16kb contenente sia basic che kernal sono, se la matematica non e' un opinione:
$2534
$2CD9
$2CDA
Citazione
e che differiscono ancora nel romcode dell'emulatore di Miha Peternel (C64s X86).
Il kernal contenuto in C64s (e' all'offset $9200 in c64s.res) e' una rev 3 pesantemente modificata, ma gli offset dei codici colore, in memoria, corrispondono. Nell'header di c64s ci sono anche gli offset in cui si trovano le rom, la struttura dell'header e':
offset :doubleWord (00 02 00 00)
dimensione :doubleWord (00 20 00 00)
nome :24bytes

Estraendo il kernal da $9200 per $2000 byte e confrontandolo con quello di vice vedrai le differenze, ma a tutti gli effetti e' una rev3.
 
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -