Bonjour a tous,
Voila mon problème, je code en LM via C64 studio, et je teste avec appel de VICE en mode C128.
Cela démarre bien, tant que le programme est petit.
Ici, mon programme démarre en $1C10, il y a qq "poke" pour colorer l'écran, un jmp $C142 pour vider l'écran (routine en rom),
puis je fais un jmp assez haut en mémoire, car le programme comporte un bloc de data, je passe au dessus pour continuer.
Ce jmp $4000 par exemple plante. Le monitor s'ouvre - ou - l'émulateur me dit qu'il y a un 'jam' en mémoire (ex: en 3B9F).
quand je peek pour voir ce qui s'y trouve, je ne trouve pas les données de mon programme, je suppose que je suis ici en rom ou pas dans la ram qui contient mon programme.
j'avais fait un programme similaire avec un début en basic BLOAD "nomprg" B0 (pour la banque 0) puis SYSxxxx et ca marchait.
Comment faire pour que mes appels et l'exploitation des données contenues dans le source LM soient bien sur la bank 0 ?
(si c'est ca mon soucis...)
Les BANK de mémoire du C128
Modérateurs : Papy.G, fneck, Carl
Les BANK de mémoire du C128
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Re: Les BANK de mémoire du C128
Auto-réponse:
J'ai mis $03 (00000011) afin d'avoir (00:ram0, 00:kernal c000-ffff, 00 kernal 8000-bfff, 1:ram 4000-7fff, 1:rom/ram selon bits 4+5)
c'est à dire toute la RAM jusque $8000 ce qui est suffisant pour moi, et au dessus, la rom habituelle.
L'emplacement mémoire $FF00 (et quelques autres) est commun à toutes les banques.
Ca à l'air de fonctionner, je vais pouvoir poursuivre le codage...
[EDIT]
il faut placer #$02 à l'adresse $FF00, pour garder les entrées/sortie, sinon, plus de VIC....
L'emplacement mémoire $FF00 permet de choisir une "configuration mémoire".J'ai mis $03 (00000011) afin d'avoir (00:ram0, 00:kernal c000-ffff, 00 kernal 8000-bfff, 1:ram 4000-7fff, 1:rom/ram selon bits 4+5)
c'est à dire toute la RAM jusque $8000 ce qui est suffisant pour moi, et au dessus, la rom habituelle.
L'emplacement mémoire $FF00 (et quelques autres) est commun à toutes les banques.
Ca à l'air de fonctionner, je vais pouvoir poursuivre le codage...
[EDIT]
il faut placer #$02 à l'adresse $FF00, pour garder les entrées/sortie, sinon, plus de VIC....
Code : Tout sélectionner
; bit 7-6 : choix du banc de ram : 00 ou 01
; bit 5-4 : quelle partie est adressée en $C000-$FFFF (00 kernal, 01 internal function rom, 10 external function rom, 11 ram selon 7-6)
; bit 3-2 : quelle partie est adressée en $8000-$BFFF (00 kernal, 01 internal function rom, 10 external function rom, 11 ram selon 7-6)
; bit 1 : quelle partie est adressée en $4000-$7FFF (0 kernal rom system, 1 ram selon 7-6)
; bit 0 : quelle partie est adressée en $D000-$DFFF (0 systeme entrées sorties, 1 rom/ram selon 5-4)
Dernière modification par frktaunus le 09 déc. 2022 23:08, modifié 1 fois.
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
- Leraptor06
- Messages : 691
- Inscription : 15 févr. 2022 10:34
- Localisation : Mandelieu
Re: Les BANK de mémoire du C128
Bonjour,
Ce livre semble bien détaillé, on peut avoir la référence stp?
Merci
Ce livre semble bien détaillé, on peut avoir la référence stp?
Merci
Jp
Re: Les BANK de mémoire du C128
C'est ici la BIBLE du C128 par Micro-application. C'est épais car il y a toute la ROM désassemblée.
Par contre, je trouve que certains sujets sont juste décrits, ca manque d'exemples.
Par contre, je trouve que certains sujets sont juste décrits, ca manque d'exemples.
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?