Les BANK de mémoire du C128

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Les BANK de mémoire du C128

Message par frktaunus »

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...)
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Les BANK de mémoire du C128

Message par frktaunus »

Auto-réponse:
PXL_20221208_213203386.jpg
PXL_20221208_213203386.jpg (394.96 Kio) Consulté 1668 fois
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 ?
Avatar de l’utilisateur
Leraptor06
Messages : 672
Inscription : 15 févr. 2022 10:34
Localisation : Mandelieu

Re: Les BANK de mémoire du C128

Message par Leraptor06 »

Bonjour,
Ce livre semble bien détaillé, on peut avoir la référence stp?
Merci
Jp
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Les BANK de mémoire du C128

Message par frktaunus »

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.

Image
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Répondre