New multi purpose board:512K RAM Expansion/32x Rom board/256K Ram+2X Rom board

Started by ikonsgr, 18:25, 05 September 22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

andycadley

Quote from: ikonsgr on 19:09, 02 May 23
Quote from: Zeit on 17:44, 02 May 23Α few questions, btw :
1 - Will this board allow me to run a 512K ROM game, like a .CPR file (Example :  Alcon 2020 - https://abalore.com/alcon2020.html)?
Unfortunately, for some unknown reason cpr games doesn't seem to work (btw, i've tried Alcon cpr on M4 board and it didn't load correctly either).
Cartridges use ROM slots 128+, along with some additional logic to map certain of those pages onto the lower ROM, ROM1 and ROM7. So you can't just run them by putting the contents in standard ROM slots 

ikonsgr

Quote from: andycadley on 19:47, 02 May 23Cartridges use ROM slots 128+, along with some additional logic to map certain of those pages onto the lower ROM, ROM1 and ROM7. So you can't just run them by putting the contents in standard ROM slots

You can't imagine how many hours i've spent trying to load these @#$! cpr files using ULIfAC and the ram/rom board!
Especailly for alcon i used directions from the creator himself abalore, but still, i couldn't make it work, despite everything was set correctly...  :( 

andycadley

The mapping to cartridge banks looks something like (temporarily ignoring RMR2):

CB00 -> Lower ROM and ROM 80h
CB01 -> ROM 0 and ROM 81h
CB02 -> ROM 7 and ROM 82h
CB03 -> ROM 83h
CB04 -> ROM 84h
CB05 -> ROM 85h
etc

In theory Alcon shouldn't need the ROM0/7 extra mappings and shouldn't care about ROM &80 so mapping CB00 into the Lower ROM and CB01+ into ROMs 1 and above should probably work. But it's always possible there is a bug somewhere that means that mapping is required (I'd guess it was only tested on a real Plus/GX or Play2CPC which would conceal any such bug since they implement the full mapping scheme).

Cartridges converted using a DSK->CPR tool however, which is most of them, will almost certainly need the dual mapping scheme in place to work properly.

eto

Quote from: andycadley on 09:30, 03 May 23The mapping to cartridge banks looks something like (temporarily ignoring RMR2):

CB00 -> Lower ROM and ROM 80h
CB01 -> ROM 0 and ROM 81h
CB02 -> ROM 7 and ROM 82h
CB03 -> ROM 83h
CB04 -> ROM 84h
CB05 -> ROM 85h
etc

In theory Alcon shouldn't need the ROM0/7 extra mappings and shouldn't care about ROM &80 so mapping CB00 into the Lower ROM and CB01+ into ROMs 1 and above should probably work. But it's always possible there is a bug somewhere that means that mapping is required (I'd guess it was only tested on a real Plus/GX or Play2CPC which would conceal any such bug since they implement the full mapping scheme).

Cartridges converted using a DSK->CPR tool however, which is most of them, will almost certainly need the dual mapping scheme in place to work properly.
Isn't it
CB02 -> ROM 82h
CB03 -> ROM 7 and ROM 83h
?

I couldn't find the specs but the original cartridges have AMSDOS on page 3, not page 2

andycadley

Quote from: eto on 07:50, 04 May 23
Quote from: andycadley on 09:30, 03 May 23The mapping to cartridge banks looks something like (temporarily ignoring RMR2):

CB00 -> Lower ROM and ROM 80h
CB01 -> ROM 0 and ROM 81h
CB02 -> ROM 7 and ROM 82h
CB03 -> ROM 83h
CB04 -> ROM 84h
CB05 -> ROM 85h
etc

In theory Alcon shouldn't need the ROM0/7 extra mappings and shouldn't care about ROM &80 so mapping CB00 into the Lower ROM and CB01+ into ROMs 1 and above should probably work. But it's always possible there is a bug somewhere that means that mapping is required (I'd guess it was only tested on a real Plus/GX or Play2CPC which would conceal any such bug since they implement the full mapping scheme).

Cartridges converted using a DSK->CPR tool however, which is most of them, will almost certainly need the dual mapping scheme in place to work properly.
Isn't it
CB02 -> ROM 82h
CB03 -> ROM 7 and ROM 83h
?

I couldn't find the specs but the original cartridges have AMSDOS on page 3, not page 2
My mistake, you are correct - it's clearly been too long since I last looked at it.

The full details are in https://www.cpcwiki.eu/index.php/Arnold_V_Specs_Revised#Enhanced_ROM_cartridge_support

zhulien

If you were to make a 4mb ram + 4mb rom board, what price could it be made for?

ikonsgr

Quote from: zhulien on 07:18, 02 June 23If you were to make a 4mb ram + 4mb rom board, what price could it be made for?
Well,i don't think there are SRAM chips larger than 512K so in order to have 4MB RAM+ 4Mb Rom board would require 16 sram chips in total, which ,apart from the extra cost of the chips themselves, it would need a much larger board (maybe 3 times larger than current board), much more time to solder all these chips, and much greater chance of having 1-2 bad sram chips (which will need to remove and solder new ones)...
So, practically i don't think such a board could be cheap (or worth the trouble to make it at all), at least not without using larger sram chips (although as i already mentioned,i think you can't find larger 8bit sram chips than 512kb) and a more "professional" soldering, using stencil and an IR Oven.  :)

eto

There are 16MBit SRAM ICs (8bit data bus) in TSOP packaging with 5V support. So one IC for 2MB or two ICs for 4MB with the same or even less space required for a 512KB RAM expansion with a DIP SRAM. 

Going from 512K to 4MB will not require a lot more logic but of course it will be more expensive and harder to assemble due to the SRAM IC(s).


ikonsgr

Still the question is: WHAT ON EARTH YOU NEED 4096Kb RAM and....256XROMs? It's like having a today PC with.... 4096GB RAM! :)

Prodatron


GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

ikonsgr

Quote from: eto on 17:29, 28 June 23There are 16MBit SRAM ICs (8bit data bus) in TSOP packaging with 5V support. So one IC for 2MB or two ICs for 4MB with the same or even less space required for a 512KB RAM expansion with a DIP SRAM.
Going from 512K to 4MB will not require a lot more logic but of course it will be more expensive and harder to assemble due to the SRAM IC(s).

  You are right,i manage to find such SRAM chips: https://au.element14.com/cypress-semiconductor/cy62167ell-45zxi/sram-16mbit-2mx8bit-1mx16bit-tsopi/dp/2767921
 And i found them in rather cheap price on aliexpress: https://www.aliexpress.com/item/1005002071813249.html
But,apart from being practically useless to have such ridiculous amount of RAM/ROM for Amstrad CPC, the SMD TSOP package they come to, have very narrow pin spaces (btw,i also use SMD for 512kb Sram chip on ULIfAC, but they are in SOP package, which can be soldered rather easy, even without using extra flux ;) ), which makes it very difficult to solder it by hand (and would also need to use good & expensive flux too).
 However, what i might do in the future is to redesign ULIfAC with 2X512K SRAM chips on board, and have 512KB extra RAM+ 32XRom board at the same time  :)
 
 

zhulien

MSX can have up to 32mb RAM, surely it would be nice to have half that on a CPC :D

I think the ROM support in existing boards is pretty awesome.  32 is the current max in available boards, but 256 ROMS are possible.

eto

Quote from: zhulien on 11:44, 12 July 23MSX can have up to 32mb RAM, surely it would be nice to have half that on a CPC :D
Last time I checked even the seller of such a MSX RAM expansion did not have an idea what this could be used for. Just for curiosity: What do you have in mind that that could be done by having more memory than the usual 512K or 1MB expansions?

zhulien

Quote from: eto on 11:58, 12 July 23
Quote from: zhulien on 11:44, 12 July 23MSX can have up to 32mb RAM, surely it would be nice to have half that on a CPC :D
Last time I checked even the seller of such a MSX RAM expansion did not have an idea what this could be used for. Just for curiosity: What do you have in mind that that could be done by having more memory than the usual 512K or 1MB expansions?

Programming only - currently my memory management routines are partly working and theoretically able to handle 16mb, but... I only have 4mb, 2mb and 512kb exansions - if I had a real 16mb expansion, then i could verify my code on it :D

I intend my compiler to be able to compile large programs - I will call it the Julian Sideways Memory Model which I touched on in the RASM thread - but as no assembler currently caters for it at present, looks like I will need to make my compiler generate actual z80 code, not assembly language.

Instead of a usual memory map of 64kb address space for Z80 and lots of 64kb from the application point of view, it basically goes sideways and interbank calls are packed far addresses (likely using rst 6 <address> to invoke the memory banking routing).   The program stack is in main 64kb (not sideways).  Of course I don't need 16mb... just that's the maximum addressible with 256byte aligned memory when addressing using the packed far addresses. 

I am hoping to allow coders of utilities (and perhaps games) to use all that memory seamlessly without having to think too much (they still need a bit of thought).

TotO

Quote from: zhulien on 11:44, 12 July 23MSX can have up to 32mb RAM, surely it would be nice to have half that on a CPC :D
What is your usage of 32MB RAM? I can offer 4GB for the CPC. :-\
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

GUNHED

Quote from: Prodatron on 13:31, 29 June 23576 or 1024kB ought to be enough for anybody.
Please leave the decision to "anybody".
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)

GUNHED

Quote from: ikonsgr on 12:09, 29 June 23Still the question is: WHAT ON EARTH YOU NEED 4096Kb RAM and....256XROMs? It's like having a today PC with.... 4096GB RAM! :)
Well, some of us need more RAM for more complex software. And btw.: you guys buy that kind of PCs all the time, don't you?  :laugh:
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)

TotO

Quote from: GUNHED on 17:43, 12 July 23Please leave the decision to "anybody".
Close to 40 years of CPC, and 512K is not standard, because "anybody" got this decision to be only 64/128K.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

GUNHED

/offtopic...

It's so funny in the CPC scene: All the time somebody wants to tell the community what they don't need or what can't be done. That's treating the community like a bunch of babies, who need to be told everything (alternative would be some sort of intended dictatorship, but I don't wan't to even get into this).

So why do some few always tell us what we don't need or what we can't do ???

Let me tell you my opinion: Their software or hardware is just limited. So they want everybody else to stick to that unnecessary and crazy limitations.

The best example of such a person / behaviour is Bill Gates and his 640 KB RAM barrier.

....end-of-offtopic/
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)

Prodatron

Quite a ludicrous statement.
TBH, in reality: The only existing software, which supports more then 128K for real running code, is SymbOS.
Everything else is either streaming stuff or theory.
Zhuliens project is maybe interesting.
But currently it's only theory as there is nothing we can see in reality.
IMHO if you like to realize such a project it is better to finish something and have a working demonstration. Instead of just talking about it too much and ask hardware developers to build stuff before you start with your imaginary super system.
What's about demonstrating it first with "only" 576K or 1MB or 4MB first? Show some useful examples, which are already running and working? Why don't you do this first?

When you just want to stream stuff (which is the only use case of current 2-4MB expansions) it's better to support big mass storage devices. This is faster than first load stuff into memory and then stream it from memory. Of course it's your bad luck, if your DOS can't stream stuff from mass storage (or doesn't support "modern" mass storage at all). Hint: Use UniDOS! It's just great!
If you are not able to support fast streaming from mass storage you may cry for a lot of RAM. But if this is the only reason, then I don't see much sense for big ram expansions.

Still there could be games which use a lot of animations for sprites, or big maps, tiles, graphics in general, which would be cool. But would they fill more than 1-2MB? I doubt it. But if yes: Why doesn't someone release such games, as we already have a lot of 1-2MB expansions since years.
like: "I finished a great game, which requires 16mb ram, but as Ikonsgr and Toto are not building big memory expansions, I can't release it"

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

zhulien

@Prodatron I like coding programming related utilities and systems stuff - I recently compiled a z80 c compiler which generates z80 source but it doesn't fit in the CPC 64k memory map - however I can make it build itself in a certain way with symbol tables and buffers that fit within the CPC's 64k memory map - but the compiler source itself is larger than what is available - if i can understand it's source enough to compile itself side-ways then it will fit 100% and if I am capable of doing that (it is harder to adapt other's code than your own when it wasn't designed to do that in the first place) - then it can compile any sized application up to 16mb sideways as long as the symbol table is not exhausted - but then a second enhancement would likely to allow the symbol table to be on the heap sideways also so there is no longer any limitations within that 16mb space other than byte alignment - and direct memory access for far data / functions. 

Point noted on the existing expansions - I have a variety of them for testing and that is enough for development - let's see how things develop - and if I get a compiler of a sort in a usable state and we need more than 4mb physical memory for something that people want to use - I guess it will one day happen.  As you know with your development of Symbos, it took years to get to where it is and you should be commended for your dedication.  It would be great if there were those in the CPC community that did like to work as a team like there are on some other platforms... some things likely could happen faster if that was the case.

eto

Quote from: zhulien on 07:45, 13 July 23we need more than 4mb physical memory for something that people want to use - I guess it will one day happen. 
Once there is a clear purpose, somebody will build it. 

Keep in mind that your software must be a true game changer. Sure, a few people will buy it just because it exists. but the majority needs a good reason to spend >100€ for a RAM expansion. Something that brings the CPC to a new era. Maybe something that doesn't exist on a PC, it will just work on a CPC (that would be fantastic) - or something that exists somewhere else but can now work on a CPC in such a great way that we still feel the nostalgia - just so much better than what we can get with the limitation of 4MB. 


TotO

I have build hundreds of 1MB Z-MEM expansion since 2016 to use with SymbOS and the M4 board (ROM).
The other usages I know for it are FutureOS and Bad Arnold (demo). The 2MB version was not produced.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

GUNHED

Quote from: Prodatron on 21:32, 12 July 23Quite a ludicrous statement.
TBH, in reality: The only existing software, which supports more then 128K for real running code, is SymbOS.
Very, true that is indeed - as you say - quite a ludicrous statement.  :P
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)

zhulien

That's because they think having 64gb in their PC graphics card has a value and a RAM expansion in their CPC doesn't - yet they would learn a sh*t load more if they tried to learn something on their CPC than most ever would with their 64gb PC graphics card.  To me... learning is the CPC killer app!

Powered by SMFPacks Menu Editor Mod