I agree that "page 0, 1, 2, 3" is the main source of confusion (but not the only one!). So, it implies that 'page' (without 0, 1, 2, 3) could replace 'bank' for each slot map. It implies also that the text needs to be changed every time that "page 0, 1, 2, 3" has been used.
To be sure, can you check this page: https://www.msx.org/wiki/Panasonic_mapper ? Are the words 'page' and 'bank' correctly used or not on this page?
Yes there they’re used the wrong way around imo.
“7000h~73FFh (W): Switch the page on bank 8000h~9FFFh”
Should be:
“7000h~73FFh (W): Switch the bank on page 8000h~9FFFh”
Yes there they’re used the wrong way around imo.
“7000h~73FFh (W): Switch the page on bank 8000h~9FFFh”
Should be:
“7000h~73FFh (W): Switch the bank on page 8000h~9FFFh”
The linked Japanese page seems to say the same as you: http://www.yo.rim.or.jp/~anaka/AtoC/labo/view32.htm
See point 3.5.2 Built-in FS-A1GT · Built-in FS-A1ST
8000H to 9FFFH = switching address
7000H to 73FFH = bank register address
Well, I think gdx needs to clarify that!
“page” refers to an area of addressable RAM.
"Page" is also used used because it images the pages of book. I think it's the most appropriate choice for slots. Each slot can contain 4 pages (divided into 4).
At first, I also used "page" for the Mapper because many people do it but in the last documentations, it is "segment" that is used, and I think this term is more adequate.
So I use "page" for the slots and "segment" for the Memory Mapper.
About "bank", the term "page" can only bring confusion. "Bank" does not seem to fit some people. We can replace it with "area" if you prefer although I find this term a bit too general.
"Page" is also used used because it images the pages of book. I think it's the most appropriate choice for slots. Each slot can contain 4 pages (divided into 4).
But there’s no “thinking” involved, these are established terms. I don’t think a custom interpretation is appropriate. You’re coming up with a meaning that is different (inverse, in fact) from what already exists as the common terms. If this was in some code in a personal project, I wouldn’t care. But this is the wiki on msx.org that’s teaching others the wrong terminology.
Grauw, thanks for elaborating my arguments in this discussion. I fully agree with you.
At first, I also used "page" for the Mapper because many people do it but in the last documentations, it is "segment" that is used, and I think this term is more adequate.
So I use "page" for the slots and "segment" for the Memory Mapper.
Page and segment are not the same thing. Page universally indicates the memory area (some address range between 0 and 64K in a 16-bit address space). Segment (or bank, or slot) indicates what indexed area in the larger bank switched memory is mapped in there.
Put differently, page is an area of the CPU’s logical addressing space, while bank is an offset in the physical addressing space of the larger memory managed by the MMU (mapper). A bank, or slot, or segment, is selected into a page.
About "bank", the term "page" can only bring confusion. "Bank" does not seem to fit some people. We can replace it with "area" if you prefer although I find this term a bit too general.
I agree that (logical) memory area is a good synonym for page. In some contexts it can be more clear, or improve the phrasing, so you can use them interchangeably. Yet at the same time indeed the term is a bit too general, hence why there is the more specific term “page”.
Put differently, page is an area of the CPU’s logical addressing space, while bank is an offset in the physical addressing space of the larger memory managed by the MMU (mapper).
Pages, slots, segment, all are physical addressing space. Only logic changes.
A bank, or slot, or segment, is selected into a page.
I understand what you mean goal but I think it's best to use as the more meaningful terms as possible to avoid the confusion that has put many people off for a long time and even today. I think the term "page" is very inappropriate for it.
Put differently, page is an area of the CPU’s logical addressing space, while bank is an offset in the physical addressing space of the larger memory managed by the MMU (mapper).
Pages, slots, segment, all are physical addressing space. Only logic changes.
That’s incorrect, pages describe a logical address, and banks/slots/segments a physical address, and that’s where my objection with its use on the wiki currently lies, it’s the wrong way around.
Indeed between bank, slot and segment, the only difference between them is the logic of the system that maps logical to physical addresses, and which of them is most commonly used for it in their context. Slot for the slots system, segment for RAM mappers, and bank for ROM mappers.
But page always means the same.
I do not understand when you say: "pages describe a logical address, and banks/slots/segments a physical address". Physical addresses are the ones the CPU can see directly, is not it?
Wikipédia says "A memory bank is a logical unit" as I use in wiki (because I say that the RAM is divided in 4 banks in which we can switch the pages of the slots or the segments of the Mapper).
https://en.wikipedia.org/wiki/Memory_bank