Autor
| Total amount of free RAM on a MSX2 with 128 kb
|
norakomi msx professional Mensajes: 861 | Publicado: Diciembre 26 2005, 09:20   |
Hello everybody !!
Hows it going?
Im doing fine !! Quite fine !!
I've came here with another question, this time about the free RAM of my MSX2.
My question is:
Exactly how much free programmable RAM does a "standard" MSX2 with 128kb have?
And in which mappers is this RAM stored?
ld a,5
out ($fd),a ;page 1 mapper 5
This puts mapper 5, which is 16kb RAM to page 1. How much mappers are freely usable like this?
|
|
BiFi msx guru Mensajes: 3142 | Publicado: Diciembre 26 2005, 09:24   |
useable mapper banks:
DOS1: 1 to 7
DOS2: 1 to 5 (6 and 7 are claimed by the DOS2 kernel, and you need to use the DOS2 memory manager routines)
in both cases 0 contains the system variables, disk variables, stack, and the necessary hooks which are called from the BIOS-ROM.
|
|
norakomi msx professional Mensajes: 861 | Publicado: Diciembre 26 2005, 09:27   |
cool (and goooooodmornin Bifi)
so, what do you use? And may I conclude that dos1 has your preference (because you have more free mappers??)
And what if DOS is not used? how much free mappers can be accessed then?
|
|
BiFi msx guru Mensajes: 3142 | Publicado: Diciembre 26 2005, 09:44   |
no DOS, still 1-7 as 0 still contains system vars, stack en necessary hooks which are called from the BIOS-ROM.
Did your IRC client break or something?  |
|
BiFi msx guru Mensajes: 3142 | Publicado: Diciembre 26 2005, 09:53   |
and what I use? I made routines which use the DOS2 memory manager routines when they're present, otherwise I use my own memory manager routines. It really hasn't anything to do with the available number, more with the compatibility between DOS versions.
|
|
norakomi msx professional Mensajes: 861 | Publicado: Diciembre 26 2005, 11:41   |
can I freely presume that any msx with 256kb memory has 16 memory mappers available?
meaning that I would be able to do this:
ld a,10
out ($fe),a ;mapper 10 at page 2
|
|
mohai msx lover Mensajes: 118 | Publicado: Diciembre 26 2005, 14:01   |
Working in no-DOS environment, you can use (almost) any of the available pages. Keep in mind that BIOS is always using highest memory bank ($C000-$FFFF) so, if you need to use mapper block 0, first do an INT, copy all contents to another block, then do a OUT ($FF),a ....
Other solution is disable BIOS and you will be able to use all available RAM.
|
|
|
|
|