Welcome, Guest. Please login or register.


Author Topic: Internal memory expansion (Read 252314 times)

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Internal memory expansion
« Reply #330 on: 2020.October.16. 10:42:31 »
It would be very cool to see an Enterprise with the full 4Mb.  I still need to get my Enterprise motherboard working and wired up with a keyboard, maybe a project for after that...

It can be done, I have filled every single segment with Ram/Rom with the aid of the SymbiFace3 board. Amazingly, the system behaves the same as on a 128KB model, total stability.

.....But, there's no Enterprise-specific (i.e. EXOS) software that needs more than 512KB, is there?

Any there many (or any) EXOS programs that need more than 128KB?

On classic times coders took the 128KB Enterprise as an standard, and a lot of them didn't follow the official recommendations when programming. Then you find how some old programs take all available memory for its task(even on an 1MB or more, on an expanded EP) and don't release it at exit.... This is not a problem if you switch ON/OFF every time you run a program, but the Enterprise was created as a multi-session computer, even there are some tasks that can be stopped while doing others.

Other programs take the Ram without asking EXOS or use forbidden memory zones, making the system crash when the control is returned.

It has been only on actual times(quite some years now...) that Zozo has impulsed a standardization on programming, returning to the old official rules, what, added to his modified/fixed EXOS Roms, has brought us a more usable and enjoyable computer.

The previous chaos explains why there are only a few programs that can really benefit from more memory. But don't forget EXOS as the main beneficiary of more memory, because a lot of extensions can be loaded on Ram, better and bigger Ram Disks can be created, Roms can be emulated, etc.
« Last Edit: 2020.October.16. 10:53:09 by gflorez »

Offline elmer

  • EP fan
  • *
  • Posts: 196
  • Country: us
Re: Internal memory expansion
« Reply #331 on: 2020.October.16. 18:08:08 »
I would be interest for one in case if remains, i do not want to stole the opportunity from others who really need the expansion.

It looks like over 30 EP64's have been sold by the Egyptian sellers on eBay recently, but I can't see anywhere near that many new users here.

I'll put you down for one of the boards! :)

Once I've sold my spares, I'll release the design files and final JLCPCB manufacturer-approved Gerbers so that anyone can place another order for more ... they were an easy company to deal with and their board quality and SMT manufacturing seems excellent (to me), and very affordable.


Are these the bare boards or are the surface mount components attached? My soldering skills are probably not up to soldering surface mount components.

The surface mount (SMT) compnents were all factory (i.e. robot) installed by the board manufacturer ... that is why I wanted to create a simple single-sided board design. I certainly couldn't solder those small components myself either!  ;)

The two 0.1" headers male headers for EXP1 and EXP2 do still need to be soldered onto each SRAM board by the purchaser.

[ Guests cannot view attachments ]


I tried to create contiguous memory. Is this the wrong approach and should I change the address range?
I think contiguous range is the best way, as i remember i worked with at least 1 program which searches the biggest contiguous memory ranges for use.

Keeping the memory contiguous might be the best for anyone that wants to maximize their Enterprise with external modules ... but what I have done doesn't seem like it would cause a problem in practice with any of the expansion hardware designs that currently exist (including the Symbiface3).


The simple 74HCT138 decoding scheme that I have used can fit up to 2.5MB of RAM into the Enterprise's address space, with 2MB of that being contiguous.

Using a GAL/CPLD/FPGA for decoding definitely allows more flexibility, but I think that it is worth pointing out that the Enterprise's designers expected discontiguous blocks of 64KB RAM memory ... the original external 64KB expansion module was mapped into one of six different 512k regions of address space, resulting in a maximum of 384KB+128KB of RAM on a fully-expanded Enterprise.


Now, it might not be too difficult to extend what I have done and make a 1.5MB internal RAM expansion board, which could then use an external Symbiface3 to give a full 4MB of memory (3.5MB RAM and 0.5MB ROM) ... but how many people would really want such a board?
« Last Edit: 2020.October.17. 03:05:12 by elmer »

Offline geco

  • EP addict
  • *
  • Posts: 7218
  • Country: hu
    • Támogató Támogató
Re: Internal memory expansion
« Reply #332 on: 2020.October.17. 17:56:37 »
Thank you very much :-)
I created full 4mb  RAM config with sf3 for testing purpose, only 128 KB was ROM, worked without problem :-) , but memory test took quite long even with fast RAM test too, i think 512 kb RAM is enough nearly in all cases, as i remember 1 or 2 programs using the advantages of more RAM, but with SD card interface it does not matter, because both of them loads the whole program into memory if there is enough free memory.
Smaller portions of ranges can limit only 2 programs if i remember well.
The most important in all approach to include F8-FB segments nto the expansion, by this solution all non EXOS compatible programs will work too.

Offline emptiness

  • Beginner
  • *
  • Posts: 33
Re: Internal memory expansion
« Reply #333 on: 2020.October.17. 19:53:45 »
The surface mount (SMT) compnents were all factory (i.e. robot) installed by the board manufacturer ... that is why I wanted to create a simple single-sided board design. I certainly couldn't solder those small components myself either!  ;)

The two 0.1" headers male headers for EXP1 and EXP2 do still need to be soldered onto each SRAM board by the purchaser.

Excellent! Please sign me up for one. I've no problem soldering non-SMT stuff.

Now, it might not be too difficult to extend what I have done and make a 1.5MB internal RAM expansion board, which could then use an external Symbiface3 to give a full 4MB of memory (3.5MB RAM and 0.5MB ROM) ... but how many people would really want such a board?

Hmmmm :ds_icon_cheesygrin:

Offline emptiness

  • Beginner
  • *
  • Posts: 33
Re: Internal memory expansion
« Reply #334 on: 2020.October.17. 19:56:23 »
the Enterprise was created as a multi-session computer, even there are some tasks that can be stopped while doing others.

The more I learn about the Enterprise the more impressed I become. The hardware and solftware feel in a different league from the likes of the ZX Spectrum (the computer I grew up with).

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Internal memory expansion
« Reply #335 on: 2020.October.18. 01:23:08 »
I don't only want to throw words as true: on the emulator or on the real machine, if you have a SD cartridge or a floppy controller you can try this:

-Write a one program line, for example 10 REM.
-Execute LIST to see you program list....
-Execute :EXDOS . This will open you an EXDOS screen where you can for example do a DIR.
-Press the ESC key. The EP will freeze, but if you press once the reset key you are again on Basic.
-Execute LIST.

You can also do the same with the included word processor:
-Execute :WP on the Basic editor. This will open the word processor.
-Write some random text
-Press F8 and execute EXDOS+Enter
-Again the EXDOS screen will open. Make a DIR.
-Press the ESC key. This time the EP has not freezed, and you have returned safely to the text edition.

---------------

Basic itself is multisession, you can edit several programs at the same time, even jump between them while on execution.

-Write this program:
10 TEXT
20 CHAIN 1
-Execute this command: CHAIN 1
-Insert these lines:
10 print "HELLO"
20 CHAIN 0
-Execute this command: CHAIN 0

-You now see a flashing HELLO.

The CHAIN command not only swaps programs, also executes them.

-------

Another proof that the EP is multisession: almost all programs and some games have a clean exit to EXOS:

-Basic has the ":"
-WP has the F8 key
-EXDOS has its prompt.
-Try to search the exit on other languages or utilities, like Hisoft-Pascal, Lisp, Forth, Epdos, EGI, PaintBox, IS-Chess, etc

--------

The main tool to make this possible is an efficient management of memory. Every program will ask EXOS the necessary amount of memory, and at exit they have to free it, returning the memory to EXOS.
« Last Edit: 2020.October.18. 11:33:13 by gflorez »

Offline BruceTanner

  • EP lover
  • *
  • Posts: 609
  • Country: gb
Re: Internal memory expansion
« Reply #336 on: 2020.October.18. 09:54:41 »
-Write a one program line, for example 10 REM.
-Execute LIST to see you program list....
-Execute :EXDOS . This will open you a EXDOS screen where you can for example do a DIR.
-Press the ESC key. The EP will freeze, but if you press once the reset key you are again on Basic.
-Execute LIST.
It hasn't actually frozen, but it has failed to restore the text screen correctly. If you type (blind) TEXT 40 it will reset the screen without rebooting. I think this is a bug in EXDOS :oops:

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Internal memory expansion
« Reply #337 on: 2020.October.18. 11:38:03 »
Ah, yes... I have only repeated what you pointed some time ago.... but I didn't remember about executing TEXT blindly.

Thanks.

Offline dangerman

  • EP fan
  • *
  • Posts: 100
Re: Internal memory expansion
« Reply #338 on: 2020.October.19. 22:31:15 »
If you type (blind) TEXT 40 it will reset the screen without rebooting.

To avoid blind typing, by default you can press F5 for "TEXT" or even SHIFT F5  which will redisplay an existing text screen.

I think this is a bug in EXDOS :oops:

I'm not sure it's a bug as such. EXDOS has no easy way of knowing what was previously displayed.

Offline Judge

  • EP lover
  • *
  • Posts: 704
  • Country: hu
Re: Internal memory expansion
« Reply #339 on: 2020.December.02. 20:27:34 »
It looks like over 30 EP64's have been sold by the Egyptian sellers on eBay recently, but I can't see anywhere near that many new users here.

I'll put you down for one of the boards! :)

Once I've sold my spares, I'll release the design files and final JLCPCB manufacturer-approved Gerbers so that anyone can place another order for more ... they were an easy company to deal with and their board quality and SMT manufacturing seems excellent (to me), and very affordable.


The surface mount (SMT) compnents were all factory (i.e. robot) installed by the board manufacturer ... that is why I wanted to create a simple single-sided board design. I certainly couldn't solder those small components myself either!  ;)

The two 0.1" headers male headers for EXP1 and EXP2 do still need to be soldered onto each SRAM board by the purchaser.


Thanks, John!

[ Guests cannot view attachments ]

[ Guests cannot view attachments ]
Üdv.Judge

Offline elmer

  • EP fan
  • *
  • Posts: 196
  • Country: us
Re: Internal memory expansion
« Reply #340 on: 2020.December.02. 20:37:26 »
Thanks, John!

Excellent, I'm so glad that you had no problems installing the board, and it's good to see it working on some else's computer! :ds_icon_cheesygrin:

Your soldering skills look so much better than my old hands and eyes were capable of doing! ;-)

Offline elmer

  • EP fan
  • *
  • Posts: 196
  • Country: us
Re: Internal memory expansion
« Reply #341 on: 2021.January.12. 17:41:15 »
I only have 2 of the 512KB memory expansion boards left, if there is anyone else out that that wants to add some memory to the Enterprise 64 that they recently bought from Egypt or Russia. ;-)



Offline elmer

  • EP fan
  • *
  • Posts: 196
  • Country: us
Re: Internal memory expansion
« Reply #342 on: 2021.February.18. 18:32:56 »
I only have one 512KB memory expansion board available if anyone wants it! ;-)

Here are my memory board design files for EasyEDA, together with the Gerber files and production order files for anyone that wants to get another batch of boards manufactured at JLCPCB.

I have also included the final "Production" files that I got back from JLCPCB, which have the "Tooling Holes" that JLCPCB added so that they could manufacture the boards.

The only strange thing in the process was that I had to edit the "PickAndPlace" file to rotate the SRAM chip 90 degrees, because EasyEDA had output the file with the wrong orientation.  This was only visible when I uploaded the files to their website, and then looked at rendering of the board before finally confirming the order.

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Internal memory expansion
« Reply #343 on: 2021.February.18. 20:23:31 »
Great!

Thanks for being so kindly sharing your work.

Offline elmer

  • EP fan
  • *
  • Posts: 196
  • Country: us
Re: Internal memory expansion
« Reply #344 on: 2021.February.18. 21:33:59 »
Great!

Here's a design that you might find even more interesting! ;-)

After I had confirmed that the 512KB board was working, I decided to see if I had learned enough about EasyEDA to expand it into a larger board.

Here's the design for a 1.5MB SRAM board. :cool:

I don't plan on actually making any of these for myself, because I think that I may have come up with an idea that better fits my needs, but someone else here might be interested in this.