News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Audronic

Memory Map ?

Started by Audronic, 04:47, 28 May 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Audronic

Hi All


does anybody have link to a simple Memory Map for a CPC 464 Please, Where the basic rom sits etc

Thanks Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

arnoldemu

#1
Quote from: Audronic on 04:47, 28 May 15
Hi All


does anybody have link to a simple Memory Map for a CPC 464 Please, Where the basic rom sits etc

Thanks Ray


If OS is paged in, it sits at &0000-&3fff.
If an expansion ROM is paged in (this includes BASIC), it sits at &c000-&ffff.

You can disable the roms and have the full ram from &0000-&ffff.

If you are using firmware (includes using BASIC) the lower jumpblock is at &0000-&0040 and the upper jumpblock is around &b900-&bf00.
Stack is around &bf00-&c000 (starts &c000 and grows down).

If you are choosing to write your own programs that take control of the hardware, implement your own interrupt handler, setup the hardware as you need it and you can use all the memory as you wish, you can relocate the screen and stack.

Standard interrupt vector is at &0038.

Basic starts at &170 and grows up to HIMEM. HIMEM is set around &b0ff for 464, but lower for other systems with extra roms attached because roms can reserve some ram if they need it.

Screen is normally at &c000-&ffff.




My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Johnny Olsen

Here is a copy from soft 968 explaining the memory map

Audronic

@ arnoldemu


Thanks for the info.


@ Johnny Olsen


Thanks for the Table and the other info.


Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

gorgh

bump
I've got a question, where are the hardware registers located?

LambdaMikel

In the chips themselves. Z80 doesn't have a zero page.

gorgh

yeah, but I mean registers responsible for i/o,sound and graphics, I've found a note that "The recommended I/O [Gate Array] port address is &7Fxx." does it mean it can be changed? I would really need to change the location of Gate Array

LambdaMikel

Right, these registers responsible for sound, graphics, etc., are still in the chips themselves though  :D

The Z80 has an out command. So, rather than writing into memory, you would use out &hardware-register-address, value

There is a list on the wiki of the IO ports.


No idea what you mean with you want to change the location of the Gate Array - soldering iron??  :laugh:

gorgh

ah, so does it mean the memory RAM isn't altered when the program calls the registers by OUT instruction?

LambdaMikel

Quote from: gorgh on 17:26, 20 August 18
ah, so does it mean the memory RAM isn't altered when the program calls the registers by OUT instruction?

Yes, that's right. It is not like on the 6502, which has memory mapped IO. Z80 has separate memory address and IO port address bus - no conflict.

Of course, there are some "registers" in memory, but those are for the software (BASIC stackpointer, OS, keyboard input buffers, etc... ) If you overwrite these, the system crashes unless you know what you are doing  ;)

gorgh

wow, that's great, I'm surprised how well Amstrad is designed, the more I study the architecture the more I like it
(thanks)

LambdaMikel

Quote from: gorgh on 17:40, 20 August 18
wow, that's great, I'm surprised how well Amstrad is designed, the more I study the architecture the more I like it
(thanks)

You are welcome. Even though this aspect is mainly caused by the Z80 CPU. All other Z80 system are similar in that regard.

A great read is this one if you want to learn more about Z80 computers and their design:

"Build Your Own Z80 Computer" by Steve Ciarcia. You should be able to find the PDF online.

GUNHED

http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

gorgh


Powered by SMFPacks Menu Editor Mod