Post recenti

Pagine: 1 ... 3 4 [5] 6 7 ... 10
41
Programmazione, Grafica e Musica / Re:Scelta di una stringa
« Ultimo post da theway il 09 Gennaio 2025, 17:14:00 »
Grazie mille! Mi e' piu' o meno tutto chiaro tranne lo stringindex finale..    ???
42
Programmazione, Grafica e Musica / Re:Scelta di una stringa
« Ultimo post da mssmsoft il 09 Gennaio 2025, 16:38:29 »
Questo è quello che propone copilot (browser Microsoft Edge)
Codice: [Seleziona]
    .org $0801
    .byte $0b, $08, $00, $00, $9e, $32, $30, $36, $31, $00, $00, $00

Start:
    lda #$00
    sta StringIndex

NextString:
    lda StringArray, x
    beq EndOfArray
    jsr PrintString
    inx
    jmp NextString

EndOfArray:
    rts

PrintString:
    ldy #$00

PrintChar:
    lda (StringArray), y
    beq EndOfString
    jsr $ffd2 ; CHROUT routine to print character
    iny
    jmp PrintChar

EndOfString:
    rts

StringArray:
    .byte "Stringa1", 0
    .byte "Stringa2", 0
    .byte "Stringa3", 0
    .byte 0 ; Terminatore dell'array

StringIndex:
    .byte 0

Io non l'ho provato   :biggrin:
43
Programmazione, Grafica e Musica / Re:Scelta di una stringa
« Ultimo post da theway il 09 Gennaio 2025, 13:39:00 »
Grazie per la risposta.
Hai per caso qualche esempio per  la "tabella di puntatori"? O  "delimitare le stringhe"

44
Programmazione, Grafica e Musica / Re:Scelta di una stringa
« Ultimo post da eregil il 08 Gennaio 2025, 13:57:20 »
Non capisco bene come immaginavi che dovesse funzionare, ma a occhio (e a parte qualche errore di digitazione) direi che hai definito un solo puntatore (etichetta) alla prima stringa, invece ti serve una tabella di puntatori (o di offset) ed eventualmente un modo diverso di delimitare le stringhe ovvero determinare l'ultimo carattere.

Nei tuoi post per delimitare il codice usa i tag {code} ... {/code} (con le quadre anziché le graffe).
45
Programmazione, Grafica e Musica / Scelta di una stringa
« Ultimo post da theway il 07 Gennaio 2025, 18:12:55 »
Ciao ,salve a tutti sono nuovo in questo forum e sembra piuttosto interessante!
Vorrei chiedervi un aiuto in quanto ho iniziato da poco a riprendere la programmazione
in Assembly per C64,  sogno che nutro da quando era adolescente.
Sto usando KickAssembler:  ho una lista di testi :
txt:
1  .text "ti trovi nella stanza 01 -"
2  .text "ti trovi nella stanza 02 -"
3  .text "ti trovi nella stanza 03 -"

e per sceglierne uno vorrei usare lo stesso metodo che si usa con  con i  .byte

Scelta:
ldx #00
completeT:
lda txt, x 
sta $0400, x
inx
cpx #21
bne complete
rts


in questo modo riesco a stampare una stringa ma se volessi scegliere la 2  o  la 3 non riesco:
ldy #$00
choice:
lda txt
sta txt, y
rts

cosa sbaglio? ::)
46
Aiuto & Domande / Re:Emulatori, loader nastro e file .tap
« Ultimo post da mssmsoft il 06 Gennaio 2025, 11:02:32 »
In effetti, Eregil, mi scuso per non aver indicato la versione di VICE che ho utilizzato, che è l'ultima (uscita a Natale).
Ho verificato che utilizzando Turbo/64 (credo sia il velocizzatore presente su SUPER COMMODORE), tutto funziona.
Il problema sembra essere il formato usato da Flashtape. Sto guardando il tap prodotto dal salvataggio e sviluppando una piccola applicazione per leggerne il contenuto utilizzando le informazioni riportate nell'articolo di MC. Infatti anche TapClean e Tapex non riescono a decifrare il contenuto.
47
Aiuto & Domande / Re:Emulatori, loader nastro e file .tap
« Ultimo post da eregil il 05 Gennaio 2025, 20:44:37 »
Addendum:

la versione 3.9 di vice sembra risolvere almeno in parte i problemi riscontrati con la 3.7.1. Non si incartano più i menù perciò è possibile continuare a utilizzare il vice normalmente dopo aver salvato un tap; il completamento della scrittura sul file tap avviene sempre premendo rewind/forward dopo il salvataggio e non al termine dell'operazione in sé, ma ora avviene anche alla chiusura del vice, quindi è quantomeno ridotta la possibilità di perdita di dati.
48
Aiuto & Domande / Re:Emulatori, loader nastro e file .tap
« Ultimo post da mssmsoft il 05 Gennaio 2025, 13:27:03 »
Grazie Eregil, almeno hai confermato il comportamento che ho visto io.
49
Aiuto & Domande / Re:Emulatori, loader nastro e file .tap
« Ultimo post da eregil il 05 Gennaio 2025, 11:33:12 »
Dopo qualche prova con vice 3.7.1 ti confermo che c'è qualche problema ma non strettamente con la generazione del tap, bensì successiva. In pratica:

1. carico un turbo funzionante (turbo tape, connection) e lo attivo
2. carico da un d64 il programma che mi interessa
3. creo un tap e salvo con il turbo, premendo record sul datassette emulato quando richiesto
4. al termine del salvataggio sul datassette emulato premo stop e successivamente premo rewind per riportare il contatore a 0 (importante!)
5. a questo punto posso lanciare il verify del turbo e tutto sembra registrato correttamente

Per qualche motivo se non premo rewind il tap rimane incompleto. Il vice in pratica non scrive sul file l'ultima parte del registrato finché non si preme rewind (o forward); se chiudo il vice prima di premere rewind, il file rimane incompleto.

Inoltre dopo tutta questa procedura i menù del vice si incartano e sono costretto a chiudere il vice forzosamente.

Quando riapro il vice e carico dal tap generato prima (a condizione che abbia eseguito il punto 4) tutto funziona sia con turbo tape che con connection.

Quindi ci sono dei bug ma non strettamente nella generazione del tap in sé.

Per quanto riguarda il flash tape che alleghi, ho eseguito la stessa identica prova (senza il verify perché non ho capito se sia supportato) e anche a me al successivo caricamento il programma risulta corrotto, perciò tendo a credere che ci sia un bug o nel salvataggio o nel loader del turbo flash tape.
50
Aiuto & Domande / Re:Emulatori, loader nastro e file .tap
« Ultimo post da mssmsoft il 05 Gennaio 2025, 10:52:16 »
Sinceramente non so se è in rete. Era un listato di MC. Comunque allego i due file .prg. Uno è il programma "generatore" e l'altro il flashtape vero e proprio.
Le istruzioni per generare flashtape sono REM all'inizio del file generatore.
La sintassi "ufficiale" per il salvataggio è save:nomefile, ma per il problema della tokenizzazione avevo fatto una modifica e quindi la mia versione vuole save:"nomefile"

AGGIUNGO: questa è la versione binaria che usavo con il CBM e funzionava correttamente, presa dal dump del floppy eseguito nel 1998  :biggrin:
Pagine: 1 ... 3 4 [5] 6 7 ... 10