Ready64 Forum
Commodore 64 => Commodore 64 & Ready64 => Topic aperto da: Roberto - 20 Febbraio 2004, 15:47:14
-
Qualcuno mi sa dire dove posso trovare il programma GUITAR TEACHER FOR THE COMMODORE-64 ?
Ho trovato a questo link:
http://lphrc.org/rmk/Com/guitar.docs.html (http://lphrc.org/rmk/Com/guitar.docs.html)
però non c'è l'immagine del programma ma solo il listato in linguaggio macchina.
Ho provato ad assemblarlo con dasm ma non ce l'ho fatta, mi dà sempre errore alla linea 1.
3F40 78 SEI; Point interrupt to split-screen routine
3F41 A9 7F LDA #$7F
3F43 8D 0D DC STA $DC0D
3F46 A9 3F LDA #$3F
3F48 8D 15 03 STA $0315
3F4B A9 D2 LDA #$D2
3F4D 8D 14 03 STA $0314
3F50 A9 81 LDA #$81
3F52 8D 1A D0 STA $D01A
3F55 A9 1B LDA #$1B
3F57 8D 11 D0 STA $D011
3F5A 58 CLI
...
[cut]
-
:huh: io mi ricordo che doveva essere o della DeAgostini o Jackson Informatica erano 14 cassette tipo Imparare il computer direttamente dal computer mi spiace ma non ricordo altro :-(
<_<
-
A questo link trovi una copia del programma:
http://lphrc.org/rmk/Com/guitar.uu (http://lphrc.org/rmk/Com/guitar.uu)
Il problema è che è in formato uu,e deve essere convertito
mediante apposito programma ( in t64,prg o checchessia ).
Ciao
Alberto
-
Si, quella è la parte in basic e l'ho estratta con WinAce.
Però il programma in basic non è a sè stante ma, alla riga 10, carica la parte in linguaggio macchina del programma con un LOAD"GUITAR.ML",8,1
ed è proprio la parte che non riesco ad assemblare.
Ad ogni modo, non capisco questa cervellotica scelta da parte dell'autore di far scaricare solo la parte basic (in un formato tra l'altro anomalo...) e di mettere il listato del linguaggio macchina a parte.
-
Prova a cambiare assembler.
Su Lemon 64,nella sezione cartucce ci sono un bel pò di assemblatori mica male.
Io uso 'assembler_and_monitor';scaricalo e caricalo col vice,poi batti
SYS 32768
e usa i soliti comandi per assemblare
A 3F40 SEI
etc,etc...
fammi sapere :D
Alberto
-
Prova a cambiare assembler.
Su Lemon 64,nella sezione cartucce ci sono un bel pò di assemblatori mica male.
Io uso 'assembler_and_monitor';scaricalo e caricalo col vice,poi batti
SYS 32768
e usa i soliti comandi per assemblare
A 3F40 SEI
etc,etc...
fammi sapere :D
Alberto
@Alberto:
Se ha gia' il listato in formato testo, ridigitarlo *da dentro l'emulatore* e' un po' come spararsi nei coglioni, scusa... :rolleyes: capisco se avesse solo un vero c64 ma da pc basta un crossassembler.
@Rob: il file uuencodato genera 2 file,
- guitar-teacher
- guitar.ml
basta metterli in un d64 con questi nomi e il programma funziona.
Forse WinAce ti ha estratto solo il primo file, cerca "begin 6" nel file e copia da li' in un altro file testo e riprova.
Per quanto riguarda il disassemblato, cosi' com'e' non puo' essere riassemblato, bisognerebbe epurarlo da indirizzi, opcode esadecimali e mettere della label.
es:
*=$3F40 ; origine del programma
SEI
LDA #$7F
STA $DC0D
LDA #$3F
STA $0315
LDA #$D2
STA $0314
LDA #$81
STA $D01A
LDA #$1B
STA $D011
.......
BNE Addr_3F82
etcetc
Come se non bastasse mancano anche dei pezzi, perche' serviva solo per commentare il codice.
Comunque dai 2 file si puo' fare una onefiled tranquillamente, se interessa fammi un fischio.
-
ok!!
Grazie ad entrambi ce l'ho fatta seguendo i consigli di Ian.
Il problema principale era che WinACE, effettivamente, estrae un file solo.
Ho risolto con WinEncode che mi ha decodificato correttamente il file.
Lo one-file me lo sono fatto da solo, dovrebbe funzionare in caso contrario lo affiderò alle tue cure :lol: tanto so dove trovarti!
Se a qualcuno interessa il programma me lo faccia sapere... sulla qualità non mi sbilancio, guarderò meglio il programma nei prossimi giorni
:P
EDIT
POrc... il mio one-file non funziona :lol:
Ho modificato la parte basic e adesso funziona quando carico i file separatamente, ma non riesco a salvare tutta l'area di memoria in un unico .PRG
immagino che debba farlo tramite monitor giusto?
-
EDIT
POrc... il mio one-file non funziona :lol:
Ho modificato la parte basic e adesso funziona quando carico i file separatamente, ma non riesco a salvare tutta l'area di memoria in un unico .PRG
immagino che debba farlo tramite monitor giusto?
Cancella la prima riga e prova con questo asmrun (compila con c64asm)
*=$2000
basic = $0801
endbasic= $15f9
topmem = $2000
lda #0
sta $c6
lda #7
sta $286
jsr $e544
lda #21
sta $d018
lda #0
sta basic-1
ldx # ldy #>basic
stx $2b
sty $2c
ldx # ldy #>endbasic
stx $2d
sty $2e
stx $2f
sty $30
stx $31
sty $32
ldx # ldy #>topmem
stx $33
sty $34
stx $35
sty $36
stx $37
sty $38
jsr $A659
jmp $A7AE
poi comprimi con exomizer o pucrunch dando $2000 come startaddress.
L'autore ha messo le opzioni per salvare/caricare "esterne" al flusso del programma, bisogna dare manualmente RUN 1000... aggiungendo una riga
105 IF ky$="d"THEN goto 1000
(d per Disk options)
si dovrebbe superare l'ostacolo.
provo a lavorarci sopra.