Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 30 Nov 2025, 00:24

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


la ram du cpc

Modérateur: poulette73



Publier un nouveau sujet Répondre au sujet  Page 1 sur 3
 [ 45 message(s) ]  Aller vers la page 1, 2, 3  Suivant
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
dentifiant
 Sujet du message : la ram du cpc
Message Publié : 25 Fév 2011, 19:44 
Hors-ligne
Rulez
Rulez

Inscription : 25 Fév 2011, 19:35
Message(s) : 33
Hello les joyeux cpcistes, y encore de la vie la dedans ?

Voilà je suis un petit nouveau, je cherche à realiser un petit projet à mon niveau, en asm (je sais déjà programmer en asm, mais pas trop celui du z80, et encore moins pour l'optimisation et les particularités du CPC).

J'aurais besoin d'une petit explication sur la RAM du CPC.

Dans quelles conditions peut-on utiliser le maximum de RAM (sur les premiers 64k), et combien ça fait ? Pas beaucoup de données pour le moment, mais besoin de 2 pages écrans et en oversan (enfin, plus tard l'overscan, pour le moment je travail sur un ecran normal mais autant garder tout de suite la place qu'il faut). Je sais pas si ça a une importance mais je ne compte pas utiliser ni interruption, ni vecteur systeme, ni quoi que ce soit qui consomme le moindre octet inutilement.

Merci et longue vie a vous! :gamer:


Haut
 Profil  
 
TotO
 Sujet du message : Re: la ram du cpc
Message Publié : 25 Fév 2011, 20:55 
Hors-ligne
VIP
VIP

Inscription : 13 Jan 2010, 14:25
Message(s) : 2282
Un overscan en 368x264 prend un peut moins de 24K. (ou 384x256 exactement, mais c'est moins probant)
Si tu dois avoir 2 écrans, ça bouffe donc 48K et te laisse 16K pour le reste.

_________________
Cent Pour Cent


Dernière édition par TotO le 25 Fév 2011, 21:39, édité 1 fois.

Haut
 Profil  
 
dentifiant
 Sujet du message : Re: la ram du cpc
Message Publié : 25 Fév 2011, 21:29 
Hors-ligne
Rulez
Rulez

Inscription : 25 Fév 2011, 19:35
Message(s) : 33
Oui certes, j'avais déjà fait ce calcul. Mais donc on peut utiliser tout la RAM, de &0000 à &FFFF ? Non, je pense ? Si oui y a t'il des choses à faire, ou ne pas faire ?

edit : et en fait, il n'y a qu'une partie de l'écran que je veux en double. La portion correspondant à un écran normal moins 8 lignes.


Haut
 Profil  
 
TotO
 Sujet du message : Re: la ram du cpc
Message Publié : 25 Fév 2011, 21:43 
Hors-ligne
VIP
VIP

Inscription : 13 Jan 2010, 14:25
Message(s) : 2282
Oui, tu peux tout utiliser à condition de ne plus faire d'appels à des routines systèmes, vu que tu écrases tout ce qu'il y a en RAM pour faire fonctionner ton programme.
Enfin, la je ne m'y connais pas suffisamment pour t'en dire plus.

_________________
Cent Pour Cent


Haut
 Profil  
 
dentifiant
 Sujet du message : Re: la ram du cpc
Message Publié : 25 Fév 2011, 21:48 
Hors-ligne
Rulez
Rulez

Inscription : 25 Fév 2011, 19:35
Message(s) : 33
D'accord. Merci beaucoup :D


Haut
 Profil  
 
eliot
 Sujet du message : Re: la ram du cpc
Message Publié : 25 Fév 2011, 22:24 
Hors-ligne
Rulezz
Rulezz

Inscription : 08 Oct 2007, 08:20
Message(s) : 103
Localisation : COUTANCES - MANCHE (50)
dentifiant a écrit :
Mais donc on peut utiliser tout la RAM, de &0000 à &FFFF ? Non, je pense ? Si oui y a t'il des choses à faire, ou ne pas faire ?


Salut,

Fais attention à la pile, afin de ne pas l'écraser avec ton graphe ou l'inverse! :)

Il te faudra surement la déplacer (Ld sp,xxxx).

Les interruptions sont situées en &38.

Je pense que tu peux trouver la map de la mémoire quelque part ici ou, de manière sure, dans le bouquin Les Clefs pour Amstrad (pages 108/109/110 pour le bas de la mémoire.

Bon courage ! :)


Haut
 Profil  
 
dentifiant
 Sujet du message : Re: la ram du cpc
Message Publié : 25 Fév 2011, 23:19 
Hors-ligne
Rulez
Rulez

Inscription : 25 Fév 2011, 19:35
Message(s) : 33
Je sais plus d'ou je tiens çà, je l'avais copié/collé dans un coin :


de #0000 à #003F : réservé (copie de la ROM inférieure) (64 octets)
de #0040 à #016F : réservé basic (zone de saisie basic) (304 octets)
de #0170 à #A679 : zone libre pour programme basic ou autre (42 Ko)
de #A67A à #B8FA : zone réservée par le système (variables systèmes) (5Ko)
de #B900 à #BDFF : zone réservée par le système (vecteurs systèmes)
de #BE00 à #BE80 : zone réservée par l'Amsdos (si lecteur disquette présent)
de #BE80 à #BEFF : libre
de #BF00 à #BFFF : zone réservée par le système (pile)
de #C000 à #FFFF : zone de mémoire écran (16 Ko)



si j'ai bien tout compris :

on ne peux rien faire de #0000 à #003F quoiqu'il arrive quoiqu'on fasse ?
on peut ecrire de #0040 à #A679 tant qu'il n'y a pas de basic ?
on peut ecrire de #B900 à #BDFF si on n'utilisa pas de vecteur système ?
quid de #A67A à #B8FA et de #BE00 à #BE80, akoissassertoussa ?

et donc on peut faire ce que l'on veut partout ailleurs, à condition de loger la pile quelquepart là dedans ?

Excusez moi pour les questions de neuneu, en général je comprend vite, faut juste m'expliquer longtemps :sweatingbullets:
Merci


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: la ram du cpc
Message Publié : 26 Fév 2011, 05:19 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5103
les images en overscan utilise 32ko de ram vidéo.

1) NON tu peu utiliser la totalité des 64ko de la ram centrale (0000->&FFFF) du CPC, en redirigent ta pile comme te la indiqué eliot, et en coupant les interruptions avec l'instruction DI. Sinon laisse un EI:RET à l'adresse &38 , petite astuce ces deux octets peut ce trouver sur ton gfx si ta mémoire écran et configurer a cette endroit de la mémoire centrale.

un peu plus d'info sur la RAM du CPC par AMSLIVE:
https://cpcrulez.fr/coding_amslive10-mem ... _cpc_2.htm

2) Tu peu également utiliser 64ko supplémentaire des banks mémoire des 6128 d'une seule passe. (LOGON SYSTEM: Gerez vos Banks ... de mémoire , Longshot/Logon System– ACPC n°40 Sep/Oct 91 ) pour stocker par exemple tes pages écrans compacter.

3) Article sur programmation d'un écran en overscan https://cpcrulez.fr/coding_rubi18.htm


Haut
 Profil  
 
dentifiant
 Sujet du message : Re: la ram du cpc
Message Publié : 26 Fév 2011, 14:19 
Hors-ligne
Rulez
Rulez

Inscription : 25 Fév 2011, 19:35
Message(s) : 33
Clair, net et précis. Merci !


Haut
 Profil  
 
MacDeath26
 Sujet du message : Re: la ram du cpc
Message Publié : 27 Fév 2011, 13:36 
Hors-ligne
Rulezzzzz
Rulezzzzz
Avatar de l’utilisateur

Inscription : 06 Mars 2009, 15:15
Message(s) : 2104
Localisation : Valence
Esque tu possèdes une vrai machine ?
c'est quoi ?

si tu peux, le 6128 reste le top.


Haut
 Profil  
 
dentifiant
 Sujet du message : Re: la ram du cpc
Message Publié : 27 Fév 2011, 14:56 
Hors-ligne
Rulez
Rulez

Inscription : 25 Fév 2011, 19:35
Message(s) : 33
Non je ne possède plus la vraie machine depuis longtemps malheureusement. Mais je compte bien me motiver à retrouver un 6128 prochainement.


Haut
 Profil  
 
norecess
 Sujet du message : Re: la ram du cpc
Message Publié : 27 Fév 2011, 17:03 
T'inquietes, quand on veut, on peut !
(j'ai ramené ici au Québec un Plus et un Old !)


Haut
  
 
dentifiant
 Sujet du message : Re: la ram du cpc
Message Publié : 27 Fév 2011, 17:11 
Hors-ligne
Rulez
Rulez

Inscription : 25 Fév 2011, 19:35
Message(s) : 33
Oui je pense que ca doit pas etre introuvable. Me demande si un pote a pas un plus qui prend la poussière dans sa cave.
Quand je pense que j'avais chez mes parents il y a quelques années un 464 et un 664 neufs dans leurs cartons d'origine scellés, et que mon père les à foutus à la poubelle :roulette:


Haut
 Profil  
 
MacDeath26
 Sujet du message : Re: la ram du cpc
Message Publié : 01 Mars 2011, 05:02 
Hors-ligne
Rulezzzzz
Rulezzzzz
Avatar de l’utilisateur

Inscription : 06 Mars 2009, 15:15
Message(s) : 2104
Localisation : Valence
ragequit.jpg

:sweatingbullets:

Pas kool après coup...

Savoir que ces machines ont sans doute finis dans une décharge en Afrique à polluer leur terre et leur flotte... .(
Alors qu'elles pourraient encore tourner aujourd'hui voire faire le bonheur d'un collectionneur...


Haut
 Profil  
 
Longshot
 Sujet du message : Re: la ram du cpc
Message Publié : 01 Mars 2011, 11:18 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 28 Août 2008, 23:41
Message(s) : 270
Citer :
Je sais pas si ça a une importance mais je ne compte pas utiliser ni interruption, ni vecteur systeme, ni quoi que ce soit qui consomme le moindre octet inutilement.


C'est parfaitement possible d'utiliser 100% de la ram centrale (64 "premiers" ko) en tant que Ram Vidéo, par exemple, si tu n'utilises pas le système.

Il suffit de travailler dans la banque "7" avec les modes C1 et C3.
Avec ces deux modes , la banque 7 est mappée entre C000 et FFFF et on peut accéder à 100% de la ram. En mode C1, les 48 premiers Ko sont mappés normalement entre 0000 et BFFF
En mode C3, les 16 ko de ram centrale qui sont habituellement entre C000 et FFFF sont alors mappés entre 4000 & 7FFF.

Et si tu as besoin des interruptions, il suffit de les déplacer grâce au mode IM2 du Z80A, et donc de placer ta table de vecteurs d'interruptions en banque 7, avec ton programme. Tout comme la pile bien sûr.

Et si jamais tu considères que tu veux accéder aux autres banques à partir de ta banque "7", le mode C2 fait basculer les 3 banques supplémentaires entre 0000 et BFFF.

Ce qui fait de la banque "7" la page de 16k la plus "utile" d'un cpc, car elle est capable d'accéder à 100% de la ram en étant toujours connectée. :D


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 1 sur 3
 [ 45 message(s) ]  Aller vers la page 1, 2, 3  Suivant

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 48 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.