Author Topic: dk'tronics ram, silicon disk and ram 7 2mb ram  (Read 3515 times)

0 Members and 1 Guest are viewing this topic.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2274
  • Likes Given: 3478
Hi everyone,

I am looking for people who own any of the following:
- 64KB dk'tronics silicon disk
- 256KB dk'tronics silicon disk
- 256KB dk'tronics ram
- RAM7's 2MB Ram expansion

I would like the owners to run some tests on these to confirm the exact I/O port decodings and which ram configurations these devices respond to and repeat. It would not take long :)

Thank you.


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

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.667
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4187
  • Likes Given: 439
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #1 on: 21:56, 18 June 16 »
I own both a 256K RAM and 256K SD from DKTroniks (for the 6128) and a 256K RAM for the 464.

Bryce.

Offline gerald

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.484
  • Liked: 1028
  • Likes Given: 257
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #2 on: 22:22, 18 June 16 »
Hi everyone,

I am looking for people who own any of the following:
- 64KB dk'tronics silicon disk
- 256KB dk'tronics silicon disk
- 256KB dk'tronics ram
- RAM7's 2MB Ram expansion

I would like the owners to run some tests on these to confirm the exact I/O port decodings and which ram configurations these devices respond to and repeat. It would not take long :)

Thank you.


To my knowledge, the dk'tronics interface only use A15/IORQn/WRn /D7/D6 for bank selection.
So every IO address with A15 low and D7/D6 high will write the memory mapping register.
« Last Edit: 00:25, 19 June 16 by Bryce »

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.667
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4187
  • Likes Given: 439
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #3 on: 00:26, 19 June 16 »
Edited to move the text from behind the Quote Expansion tab.

Bryce.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2274
  • Likes Given: 3478
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #4 on: 09:01, 19 June 16 »

To my knowledge, the dk'tronics interface only use A15/IORQn/WRn /D7/D6 for bank selection.
So every IO address with A15 low and D7/D6 high will write the memory mapping register.


Yes I think you are correct, but I am also interested in how these decode D5-D3.

I expect the 256KB Ram to decode d4 and d3 only. The silicon disc probably decodes d5 and d4 only.

@Bryce: I will send you a private message.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1980
  • Likes Given: 4650
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #5 on: 19:57, 20 June 16 »
Hi everyone,

I am looking for people who own any of the following:
- 64KB dk'tronics silicon disk
- 256KB dk'tronics silicon disk
- 256KB dk'tronics ram
- RAM7's 2MB Ram expansion

I would like the owners to run some tests on these to confirm the exact I/O port decodings and which ram configurations these devices respond to and repeat. It would not take long :)
Thank you.


You may like to also check the X-MEM, i found some strange behaviour recently, but I have to look at it more detailed. Use out &7ec4,&c4, then beginning at &4000 you won't find what you expect. Or maybe my unit is broken.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline gerald

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.484
  • Liked: 1028
  • Likes Given: 257
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #6 on: 20:13, 20 June 16 »
Use out &7ec4,&c4, then beginning at &4000 you won't find what you expect. Or maybe my unit is broken.
What do you expect ?

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2274
  • Likes Given: 3478
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #7 on: 21:23, 20 June 16 »

You may like to also check the X-MEM, i found some strange behaviour recently, but I have to look at it more detailed. Use out &7ec4,&c4, then beginning at &4000 you won't find what you expect. Or maybe my unit is broken.

Yes I have x-mem and I will also emulate it. I will test that selection.
 
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1980
  • Likes Given: 4650
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #8 on: 23:00, 20 June 16 »
What do you expect ?


Rennert could confirm the effect! My routine does detect 1 MB, but it has 512 KB:
Dropbox - cpca


So I have to overwork my source. It seems that the 512 KB you address using port &7Fxx are somehow accessible through &7Exx too. I have to check more in detail after work.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline gerald

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.484
  • Liked: 1028
  • Likes Given: 257
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #9 on: 23:34, 20 June 16 »

Rennert could confirm the effect! My routine does detect 1 MB, but it has 512 KB:
Dropbox - cpca


So I have to overwork my source. It seems that the 512 KB you address using port &7Fxx are somehow accessible through &7Exx too. I have to check more in detail after work.
Is your routine right ? It should detect 576k (512 XMEM + 64k internal extension)
What you see at 7Exx is the internal 64k extension RAM or any extension that maps there.
The XMEM decode A8 as part of the memory mapping. If it's 0, it will not map its RAM.
TotO had plan for a YMEM that would give 512k additional RAM for a total of 1M (but since 640k ought to be enough for anybody, we may never see it  ;D )

Offline SRS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 583
  • Country: de
  • Schneider CPC464 - what else ?
  • Liked: 571
  • Likes Given: 316
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #10 on: 23:58, 20 June 16 »
I have DOBBERTIN 512kb (self-expanded from 64k) at Schneider 464 if you need to test that, too.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1980
  • Likes Given: 4650
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #11 on: 18:01, 21 June 16 »
Is your routine right ? It should detect 576k (512 XMEM + 64k internal extension)
What you see at 7Exx is the internal 64k extension RAM or any extension that maps there.
The XMEM decode A8 as part of the memory mapping. If it's 0, it will not map its RAM.
TotO had plan for a YMEM that would give 512k additional RAM for a total of 1M (but since 640k ought to be enough for anybody, we may never see it  ;D )



Well, I don't see an mirror of the internal 64k as you suggested, but I will look into this again. I haven't seen the same effect with any other 512 KB expansion (Inicron, dk'tronics, Dobbertin, Yarek f.e). Sadly I ran out of time yesterday, so I couldn't do anything after work, but I will check details soon and let you all know.

However your information of A8 probably directs me to the right way I guess. Shouldn't X-MEM be active when A8 = 1 (means port &7Fxx instead of &7Exx for example)?

I got one Y-MEM, just ask TotO to make one for you.  :)
« Last Edit: 18:09, 21 June 16 by TFM »
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline gerald

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.484
  • Liked: 1028
  • Likes Given: 257
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #12 on: 19:29, 21 June 16 »
However your information of A8 probably directs me to the right way I guess. Shouldn't X-MEM be active when A8 = 1 (means port &7Fxx instead of &7Exx for example)?

an IOREQ with A15 = 0, D7 = 1, D6 = 1 will write the RAM configuration to the XMEM.
The XMEM configuration takes A8 in addition to D[5:0].

A8, D5, D4, D3 address one of the 16 possible 64k block.
The XMEM will only handle the 8 block addressed with A8 at 1.
The YMEM does the same, but with A8 at 0.

 
« Last Edit: 17:46, 22 June 16 by gerald »

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2274
  • Likes Given: 3478
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #13 on: 11:31, 22 June 16 »
I have DOBBERTIN 512kb (self-expanded from 64k) at Schneider 464 if you need to test that, too.
@SRS: I got your pictures. :)

I/O port decoding is the same as Dk'tronics. A15=0, all other address bits can be any value.

Dobbertin supports all ram configs as expected.

On a 464 with ROMs enabled and config 3 (c3 etc) is chosen we see:

&0000-&3fff: base ram &0000-&3fff
&4000-&7fff: upper rom
&8000-&bfff: base ram &8000-&cfff
&c000-&ffff: upper rom

I think this is different to Dk'tronics with 464. I will check.

The result are great :)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1980
  • Likes Given: 4650
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #14 on: 18:45, 22 June 16 »
an IOREQ with A15 = 0, D7 = 1, D6 = 1 will write the RAM configuration to the XMEM.
The XMEM configuration takes A8 in addition to D[5:0].

A8, D5, D4, D3 address one of the 16 possible 64k block.
The XMEM will only handle the 8 block addressed with A8 at 1.
The YMEM does the same, but with A8 at 0.


I did some testing yesterday and I guess the most easy way to explain is that the 512 KB RAM of the X-MEM can be addressed using port &7Fxx, while the original 64 KB expansion RAM of a 6128 get 'moved' to port &7ECx. So the CPC has 640 KB all together. Which is an advantage over all other 512 KB expansions.
Ok, and there are some mirrors of this RAM at other ports like &78xx to &7Dxx.


Did I get it eventually?  :-X ;D :)

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline TotO

  • 6128 Plus
  • ******
  • Posts: 3.730
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2858
  • Likes Given: 1717
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #15 on: 11:23, 23 June 16 »
The X-MEM is addressed like a 1MB memory expansion and provide 512K through the &7Fxx port.
So, it allow to upgrade the RAM up to 1MB. (the CPC 6128 already provide 64K to reach 640K).

Please, avoid to use mirror address into your code. It is quick and dirty and against the CPC evolution.
Why? Because, what you see as mirror are free space to add things and not to do lazy optimisations.

"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1980
  • Likes Given: 4650
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #16 on: 17:41, 23 June 16 »
The X-MEM is addressed like a 1MB memory expansion and provide 512K through the &7Fxx port.
So, it allow to upgrade the RAM up to 1MB. (the CPC 6128 already provide 64K to reach 640K).

How can the RAM of the X-MEM being upgraded to be 1 MB?


Please, avoid to use mirror address into your code. It is quick and dirty and against the CPC evolution.Why? Because, what you see as mirror are free space to add things and not to do lazy optimisations.

Nobody wants to use these mirrors, but they are very confusing to software. It would have been better to omit them at hardware level. But ok, it is like it is.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline gerald

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.484
  • Liked: 1028
  • Likes Given: 257
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #17 on: 18:24, 23 June 16 »
How can the RAM of the X-MEM being upgraded to be 1 MB?
With the YMEM  :laugh:
Nobody wants to use these mirrors, but they are very confusing to software. It would have been better to omit them at hardware level. But ok, it is like it is.  :)
These mirror also exist with DKtronics extension. You just need to have a bit clever extension memory detection.
Uniquely tag each of the possible 64k bank with a unique number from higher bank to lower bank (ie from 78xx to 7Fxx), then tag the base RAM.
Now read back the tags from 7Fxx to 78xx and check the tags. If it's the expected one, you have a valid extension block. If not, forget it.
Doing so will just ignore the mirrors.

You also want to check that writing to the extension does not corrupt the base ram. This will happen with a symbifaceII on a 464/664 or an wrongly configured XMEM .

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1980
  • Likes Given: 4650
Re: dk'tronics ram, silicon disk and ram 7 2mb ram
« Reply #18 on: 19:46, 23 June 16 »
For 4 MB one would have 256 blocks of 16 KB or 64 blocks of 64 KB. I always checked for full 512 KB blocks, now I will check in addition for 64 KB at &7EC4-7, so it's fine. But for advanced memory management it would be nice to have an (from the software side) easy to use structure. Guess I got that in FutureOS, now with an additional bit telling if this 'special' 64 KB are there or not.  :)


I thought TotO was talking about a way to extend the X-MEM itself, of course there is the Y-MEM which is nice.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus