>>On Mon, 15 Mar 1999, Alwin Henseler wrote:
>> (this is not via the MSX mailing-list)
>But it shouldn't be any problem if it was via the list.
I agree.
>> Thank you for your clear, and complete description.
>> Based upon this, I am one of those people that COULD build a MegaRAM,
>> or make a new/different design of it, if I wanted to.
> That's great! It's becoming hard to find MSX people who handles
>with hardware nowadays.
Sure!
My project with MegaRAM uses a double-bank of mapped
registers (16 bytes select ever 8kb block).
>> Okay, you can use it as a RAM expansion. But doesn't the MSX have a
>> thing called a memory mapper for that purpose?
>Yes, but I think I already said that Megaram was born earlier than Memory
>Mapper. When Memory Mapper was created, I didn't want to buy because I
>already had Megaram.
Reference for Mapped circuits are available on Elektor
Electronics Magazine. Principles of mapper are publis-
hed by brazilian Elektor on july'1986. The article
name is "Eprom Expansions".
>> BTW. my question was just out of curiosity. I've heard this MegaRAM
>> mentioned earlier, but what was it? How does it work?
>That's the idea!
>>>> -EXACTLY what memory ranges do these blocks occupy?
>>> There are blocks in the area 4000h-5FFFh, 6000h-7FFFh, 8000h-9FFFh and
>>> A000-BFFFh.
Graphic block diagram is:
MEGARAM SLOT MEGARAM BLOCKS
+-------------+ +----> +-------------+
| 0000h-3FFFh | | | 4000h-5FFFh | Block 0
+-------------+ ------+ +-------------+
| 4000h-7FFFh | | 6000h-7FFFh | Block 1
+-------------+ +-------------+
| 8000h-BFFFh | | 8000h-9FFFh | Block 2
+-------------+ ------+ +-------------+
| C000h-FFFFh | | | A000h-BFFFh | Block 3
+-------------+ +----> +-------------+
>I'm sorry, I had forget this detail about Megaram: Megaram has only 4
>registers for block numbers.
Yes. Four registers of 8bit.
>This implies that, when you select a block
>over page 0, it will be selected on page 2, too. The same is valid for
>page 3, that acts on page 1, too.
The most mysteriuos MegaRAM's feature is the mirror :)
MSB of address bus (A15) is ignored by MegaRAM!
>So, you can use Megaram on page 0 and page 3, but when you're in "block
>select mode"
IN A, (8Eh)
>and do a LD A,04h / LD (0000h),A the block 4 is selected for
>the area 0000h-1FFFh and also for 8000h-9FFFh.
If Slot (and sub-slot) Register are enable for same
cartridge. If not, you can select and read/write on
this 1st address, but not read/write on mirrored.
You can use 4 MegaRAM for every 16kb on same computer,
1st MegaRAM on 0-3FFFh, 2nd on 4000h-7FFFh, 3th on
8000h-BFFFh, and 4th on C000h-FFFFh. The (8Eh) port
sets "block select/read mode" when OUT, or "write/read
mode" when IN.
The same mechanic is used for "MegaRAM Disk" cartridge
on (8Fh) port, for enable internal DiskROM for
RAMDISK emulation.
> The opposite is also valid,
>when you do a LD A,04h / LD (8000h),A the block 4 is selected for the area
>8000h-9FFFh and also for 0000h-1FFFh. That's exactly what you said about
>many Megaroms (the most part of Konami ones).
Mirror or "shadow" is the best name for ?
>I had forget to explain. Megaram can be read and written in pages 0 and 3,
>and can also be "block-selected", but with the mirror effect over the
>pages 2 and 1.
MegaRAM can be read on all addresses.
Write is possible only when R/W mode is enable, other-
wise block select is acessible when "write" page
number over data area.
>> Second, if write-enable or block-switch state is undefined after a
>> reset,
No. The mode is undefined when computer startup,
after reset none changes are made on this register.
>> it could ofcourse be in write-enable state at the time of
>> reset, and behaving as normal RAM then, be detected as such (be it
>> at 4000-BFFFh only).
Yes, will be detected as normal RAM. But how much RAM
is found depends of registers value.
>But that's a good question! The computer could think that it's a normal
>RAM if the state is "write enable mode" while the slots are being scanned.
>I don't know how to answer your question, I guess that the start-up state
>should be "block select mode", but I'm not sure.
No changes are made when startup sequence begins.
MegaRAM are "RESET-insensitive". See technical informa
tion and electrical diagram on CPU MSX Magazine nr 35.
>> Not at all: it makes sure that you have trouble with programs, that
>> were written by some eggheads/stupids, that don't how to program in
>> the first place.
Ugh!
>> For mapper size detection, I have seen things like:
>> OUT (port),xx
>> IF IN (port)=yy THEN "big enough" ELSE "not big enough mapper"
>I have never seen such a stupidity!
Registers aren't user RAM memmory.
Registers only controls expanded address bus!
> Simple and good method: select (in descending order) each possible
> block, write its number in it in at some test address, and then
> (starting with block 0) check up until which block the block number
> matches what you find at the test address when selecting each block.
(...)
>I think that this method has a fault
Many faults for a test program...
>> If it exists, you can change the MegaRAM-disk from (EP)ROM state into
>> RAM state and vice versa (using both I/O ports), and detect that ->
>> MegaRAM-disk.
>Yes, but usually there's no need for that.
ROM state is ON or OFF.
No ROM are mapped on MegaRAM Disk.
>> I wrote a superbly constructed memory mapper detection routine once.
>> Detects ALL (including full 4096, those stupid 192, 384K etc., or no
>> mapper at all) sizes correctly, doesn't change the contents of the
>> mapper, AND does it without using any buffer memory.
I don't believe it. Full detection if 8 cartridges of
different quantities of RAM ? Withouth IN A, (F_h) ope
rations ?
>I think that it would be very good if
>the Mapper-detection and Megaram-detection routines were the same (unique
>routine for all kinds of memories!)
Yes, detections uses same principia.
>> One question: is this EPROM only at 4000-7FFFh, or also 8000-BFFFh?
>> (32K, or 16K mirrored)
>This EPROM is only at 4000h-7FFFh. In "show EPROM mode", the page 2 if
>full of junk (no data present, open data bus).
Interesting.
>The big defect of Megaram-Disk is that, after a reset, the ramdisk if
>formatted,
Erased information are provide for MegaRAM-BIOSDisk.
> what means that the FAT and the root directory is erased. I
>would like to modify this Megaram-Diskrom to never erase the contents of
>the ramdisk, but the EPROM is soldered!
> The FDC used in European MSX machines is either a TMS 1793 or 2793(...)
> All other European MSX's, and separate disk interfaces (Philips,
> Toshiba, Sony etc.) that I've seen, use the TMS 2793.
I shop 4 ICs WD2793BL... but no have schematics for!!!
>> I have datasheets of it, but only on paper.
I try to search on brazilians Enginnering bookstores.
>So do I. Recently, Alex Wulms explained to me how these FDCs work, and
>they work like the port based FDC. The main difference is that addresses
>7FF8h-7FFBh is mapped to ports D0h-D4h. There are other minor differences,
>but they are not important.
More tech info for help me on FDC concepts ?
>> The hardware using the TMS 2793 is about the same in all cases: a
>> diskROM is present in 4000-7FFFh, the FDC occupies a few addresses (
>> 7FFxh) through memory-mapped I/O, and mirrored at BFFxh of the same
>> slot (only the FDC, not the ROM; rest of page 2 is empty).
Ok. I understand.
>I had talked to Alex Wulms and he had said it has these datasheets, but
>that's only in paper. So, I couldn't get it. If you know some cheap way of
>sending information from paper to other countries, please contact me.
Only few copies are "sactisfaction" for me.
>And do you know what's the differences between WD1772 and WD1793?
I don't know, too.
>Ok, that's a good idea. The main idea is to get the knowledge used to make
>the disk copier and create an entire new operating system, much more
>efficient.
Marco, a name of project (SODA) is definitive ?
> But one of the difficulties is to understand how the all kinds
>of MSX hardware work, because the variability is really big
I think 1st priority detect all kinds of RAM.
>> I almost forgot - the reason why I wrote you:
>> If I would put this info about how the MegaRAM works, on my webpages,
>> would it be okay to include your name & e-mail, so that people might
>> ask you about it?
If you need electrical diagrams and tech info (in por-
tuguese, sorry) of MegaRAM, I send to you.
>> You seem to know what you're talking about here, and I myself don't
>> have a MegaRAM.
Wait for G-RAM(TM) (MegaRAM with 16-bit registers)
padronization. Will alocate 512Mbytes RAM/each slot.
MARUJO.
_______________ _ _ _______________ _______________________
| | |_| |_ __ _ __ | WALTER BERNARDO NUNES |
| /|| |_ _| \| |/ / | [EMAIL PROTECTED] |
\ / || | | | _| / / Graduacao Fisica-UFRGS |
\ / || |_| |_ |_| | /__________________________|
\__/______||___|___|___|_|_ / [tag ainda nao disponivel]
___________________________________
/"\
\ / CAMPANHA DA FITA ASCII - CONTRA MAIL HTML
X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****