Enterprise Forever

:UK => Hardware => Interface => Topic started by: elmer on 2021.March.02. 21:06:19

Title: Internal memory expansion plus USB
Post by: elmer on 2021.March.02. 21:06:19
JLCPCB (https://jlcpcb.com/), the manufacturer that made my 512KB internal memory expansion board (https://enterpriseforever.com/interface-57/exp1-and-exp2-pinouts/msg82103/#msg82103), has expanded the list of components that they offer, and can now also install USB connectors.

This has created the possibility of designing something that I would personally like to have ... an internal 1M byte memory expansion board, together with a USB port so that the Enterprise has a fast path to communicate with a PC, or perhaps a Raspberry Pi.

The FT245RL (https://ftdichip.com/products/ft245rl/) USB chip that I am thinking of using is very simple to interface with on the Enterprise side, and needs no complicated USB software to be written. All of the really difficult stuff is handled by the chip itself, and by the PC drivers that the manufacturer provides for free.

One of the friends who provided me advice on my previous board is already using the FT245RL in a new design that he is working on, and so I am lucky enough to have his experience to help me with an Enterprise board design.


The obvious use for the USB connection would be to quickly transfer files between the Enterprise and a PC, without the need to swap SD cards.

Although the FT245RL can transfer 1M bytes per second, experience on other 1980s computers has shown that we are more likely to get 50-100K bytes per second on the Enterprise.


The board layout (3" x 1.75") is nearly finished, and so I am thinking about how many to order.

If this works, and is affordable (approx $30 USD  or 10,000 HUF), would anyone be interested in a board like this?


One more thing ... since this uses a GAL for the memory decoding, I hope that it should coexist happily with the Symbiface3, EPNET and other existing Enterprise expansion boards.

I am currently planning to use segments C0h-FBh, and either B8h-BFh or 78h-7Fh.  Can anyone see any problems with that?

====================================================================

A JLCPCB, az 512 KB-os belső memória bővítőkártyámat gyártó gyártó kibővítette az általuk kínált alkatrészek listáját, és most USB-csatlakozókat is telepíthet.

Ez megteremtette a lehetőséget egy olyan dolog megtervezésére, amelyet személy szerint szeretnék ... egy belső 1 M bájtos memóriabővítő kártyát, egy USB-porttal együtt, hogy az Enterprise gyors utat tudjon elérni a PC-vel, esetleg egy Raspberry Pi-vel való kommunikációhoz. .

Az FT245RL USB chip, amire gondolok, nagyon egyszerűen kezelhető az Enterprise oldalon, és nem kell bonyolult USB szoftvert írni. Az összes nagyon nehéz dolgot maga a chip kezeli, és a PC-illesztőprogramok, amelyeket a gyártó ingyen biztosít.

Az egyik barát, aki tanácsot adott nekem az előző táblámon, már használja az FT245RL-t egy új dizájnban, amelyen dolgozik, és ezért szerencsés vagyok, hogy tapasztalataim segítenek az Enterprise fórum tervezésében.


Az USB-kapcsolat nyilvánvaló használata a fájlok gyors átvitele lenne az Enterprise és a PC között, az SD-kártyák cseréje nélkül.

Bár az FT245RL másodpercenként 1 millió bájtot képes átvinni, az 1980-as évek más számítógépein szerzett tapasztalatok azt mutatják, hogy nagyobb valószínűséggel kapunk 50-100 ezer bájtot másodpercenként az Enterprise-on.


A tábla elrendezése (3"x 1,75") majdnem kész, ezért azon gondolkodom, hogy hányat rendeljek.

Ha ez működik, és megfizethető (kb. 30 USD vagy 10 000 HUF), érdekelne valakit egy ilyen tábla?


Még egy dolog ... mivel ez GAL-t használ a memória dekódolásához, remélem, hogy boldogan együtt kell élnie a Symbiface3, az EPNET és más meglévő Enterprise bővítő táblákkal.

Jelenleg a C0h-FBh és a B8h-BFh vagy a 78h-7Fh szegmensek használatát tervezem. Láthat valaki ezzel problémát?
Title: Re: Internal memory expansion plus USB
Post by: Tutus on 2021.March.02. 21:47:21
If this works, and is affordable (approx $30 USD  or 10,000 HUF), would anyone be interested in a board like this?
This is huge! :smt038 :smt038 :smt038
I'm interested in 2 pieces.
And I see you using the bottom plastic fixing pin. Previous internal memory expansion cards have not used this and are moving. :bow:
Where do you plan to unplug the USB port?
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.02. 22:30:10
Where do you plan to unplug the USB port?

A mini-USB connector (https://jlcpcb.com/parts/componentSearch?searchTxt=C91144) is mounted on the left hand side of the board.

I am assuming that anyone that really wants to have this USB capability, will be OK with permanently running a standard 2 meter USB cable out of the back of their Enterprise, probably through the existing hole in the Enterprise case used by the Tape Recorder connectors.


And I see you using the bottom plastic fixing pin. Previous internal memory expansion cards have not used this and are moving. :bow:

The board will be large enough that this seemed like a good idea, especially with the weight of the USB cable on the left hand side of the board.

I was lucky that Allf posted his old 64KB board design files (https://enterpriseforever.com/hardware/what-internal-ram-expansion/msg80006/#msg80006) last year, and it was possible to measure the exact location of the plastic standoff pin from those. :ds_icon_cheesygrin:
Title: Re: Internal memory expansion plus USB
Post by: geco on 2021.March.02. 22:35:44
sounds cool I would like also 1 or 1+1 (one for spare)
both planned memory configuration seems to be good.
Title: Re: Internal memory expansion plus USB
Post by: tofro on 2021.March.02. 23:42:48
That sounds really good! And I would definitely be interested in a board.
Title: Re: Internal memory expansion plus USB
Post by: Judge on 2021.March.03. 00:26:02
I ask for one board, as I wrote in my letter.  :smt024
Title: Re: Internal memory expansion plus USB
Post by: Dr.OG on 2021.March.03. 05:30:46
Interested in 1 board.
Title: Re: Internal memory expansion plus USB
Post by: kokkiklhs on 2021.March.03. 09:58:33
I'd also like two of these, if possible!
:cool:
Title: Re: Internal memory expansion plus USB
Post by: BruceTanner on 2021.March.03. 10:59:00
Just to be clear, in case it is not clear to everyone... this would NOT allow a USB memory stick to be plugged in because it would be a USB slave device. To allow a USB memory stick it would have to be a USB host/master. In the past I have looked for a USB host chip that could be easily interfaced to the EP (ie. a parallel memory mapped type interface) but I could not find one, they all seem to be i2c etc.

But correct me if I am wrong...
Title: Re: Internal memory expansion plus USB
Post by: tofro on 2021.March.03. 13:04:02
I hope that was clear for everyone - it was clear to me.

Software for a USB seriel slave is sortof straightforward. USB host, however, is a lot more complicated and probably beyond the scope of an 80'ies Z80 machine, however intelligent the host chip implementation is.
Title: Re: Internal memory expansion plus USB
Post by: Dr.OG on 2021.March.03. 13:15:47
Actually I need the memory expansion, as I have an SD card interface and an EXDOS card clone already. USB slave is a bonus. So it's fine to me.
Title: Re: Internal memory expansion plus USB
Post by: gflorez on 2021.March.03. 14:25:41
Great idea! I wait expectantly.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.03. 18:47:07
Just to be clear, in case it is not clear to everyone... this would NOT allow a USB memory stick to be plugged in because it would be a USB slave device. To allow a USB memory stick it would have to be a USB host/master. In the past I have looked for a USB host chip that could be easily interfaced to the EP (ie. a parallel memory mapped type interface) but I could not find one, they all seem to be i2c etc.

But correct me if I am wrong...

You are absolutely correct!

The FT245R's USB connection is just like giving the Enterprise motherboard a fast new serial port that we can connect to a modern PC.

That is all that it does ... but it is something that we don't currently have on the Enterprise, and it can be useful if (and only if) someone writes software on the Enterprise to use it.


For myself, I want to create an Enterprise game on a PC, and then be able to quickly transfer that to a real Enterprise and run it, to make absolutely sure that it works.

This kind of USB connection will allow me to do that (if I write a loader that runs on the Enterprise).


Someone else may want to write some software that allows you to transfer files from the PC to the Enterprise, which would be very useful for downloading new files here on EnterpriseForever, and then copying them to your Enterprise's SD adapter.


Someone might be interested in hacking the EXOS "NET:" driver to use the USB connection (together with a USB hub and a Raspberry Pi), and create a fast network that could play multi-player Enterprise games ... although I suspect that would be unlikely.


Adding the USB hardware to the memory board does nothing by itself, but it is the cheapest and easiest way to enable us to add some extra capability to the Enterprise without getting in the way of the SzörG's wonderful SD Card Adapter, or everyone's hard work on Symbiface3.
Title: Re: Internal memory expansion plus USB
Post by: dangerman on 2021.March.03. 21:38:51
Yes, the difficulty with serial is that it's a continuous stream rather than a file system - so we'd have to implement some protocol on top of it to transfer files. I've had a little success using the built in serial port to transfer files from a laptop (slowly), but there's no way of choosing the files from the EP end, and it never knows when the file ends.

However, there's probably already an xmodem client for CP/M or something like that.
Title: Re: Internal memory expansion plus USB
Post by: Allf on 2021.March.04. 06:22:14
-  Is it possible to use only the usb expander without memories? (I already have 1 GB built-in + SF3 + FDD interface)
- The amount of shipping cost should be added to the calculated price. (I think.) How much would it be?
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.04. 17:18:11
Yes, the difficulty with serial is that it's a continuous stream rather than a file system - so we'd have to implement some protocol on top of it to transfer files. I've had a little success using the built in serial port to transfer files from a laptop (slowly), but there's no way of choosing the files from the EP end, and it never knows when the file ends.

However, there's probably already an xmodem client for CP/M or something like that.

You are absolutely correct!

The problem of transferring files across a serial link was solved back in the 1980s/1990s, but we have just not had a reason to use those old solutions on the Enterprise, yet.

There are already CP/M versions of XMODEM, ZMODEM (http://cpmarchives.classiccmp.org/cpm/Software/WalnutCD/cpm/modems/zmodem/) and KERMIT (http://www.z80.eu/kermit.html) file-transfer programs.

There is the classic CP/M communications program ZMP, and a modern port of ZMP (https://github.com/mecparts/zmp) using the latest Z80 version of HiTech C.

There is a modern version of KERMIT called E-KERMIT (https://www.kermitproject.org/ek.html) which can probably be compiled for the Enterprise using SDCC.


The PC side of any file transfers can use TeraTerm (https://ttssh2.osdn.jp/index.html.en) or PuTTY (https://www.putty.org/) on Windows, or minicom (https://salsa.debian.org/minicom-team/minicom) on Linux.


All of that software is already written, we just need to either configure it, or build it, for the Enterprise.

That does not mean that it will be trivial to get working, but it is not like we are starting with absolutely nothing.


-  Is it possible to use only the usb expander without memories? (I already have 1 GB built-in + SF3 + FDD interface)
- The amount of shipping cost should be added to the calculated price. (I think.) How much would it be?

This board connects to the Enterprise motherboard's EXP1 and EXP2 connectors, and so I don't believe that you could use it with your current 1MB expansion board, you would have to replace that board with this one.

Shipping from the USA to Hungary for my other memory boards has cost about $17 USD (approx 5,100 HUF).  If a lot of people were interested in this board, when it has been manufactured and we are sure that it works correctly, it might be cheaper to send all of the boards in one package, and then have someone in Hungary distribute them out to everyone.
Title: Re: Internal memory expansion plus USB
Post by: Judge on 2021.March.04. 17:54:20
If a lot of people were interested in this board, when it has been manufactured and we are sure that it works correctly, it might be cheaper to send all of the boards in one package, and then have someone in Hungary distribute them out to everyone.

Hi John,

That's what I undertake.


Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.04. 19:00:37
That's what I undertake.

:ds_icon_cheesygrin:
Title: Re: Internal memory expansion plus USB
Post by: gflorez on 2021.March.04. 20:22:51
I have seen similar solutions, the best one is the ZX Spectrum Interface 1 Bis (https://sites.google.com/site/interface1bis/), a modern approach to the Microdrives... as partitions on a micro-SD.

It also has a micro-USB port that you can connect to a PC, where a daemon app interacts with the Interface.

The interface connected to the Spectrum has a modified Rom with a special driver to manage a directory on the PC so, from the user point of view, a very big storage unit can be managed at high speed. Along storage, there are also other valuable options, like a virtual printer and Internet connection through the PC.

If I remember well, the linked page has some sources of the files used.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.05. 22:33:37
I have seen similar solutions, the best one is the ZX Spectrum Interface 1 Bis (https://sites.google.com/site/interface1bis/), a modern approach to the Microdrives... as partitions on a micro-SD.

Cool, I didn't know that someone had done that for the Spectrum! :cool: :ds_icon_cheesygrin:

I am more familiar with other projects that do the same kind of thing, such as DriveWire (https://sites.google.com/site/drivewire4/) for the Tandy Color Computer, and RespeQt (https://github.com/RespeQt/RespeQt) for the Atari 800.

Something like those could also be done on the Enterprise, but you would really want to integrate it into EXDOS, and it would be a lot of work that I am afraid might never be done, especially since you would have to be careful not to break the existing versions of EXDOS that people use for floppy discs and the SD Card adapter.

It wouldn't be fair for me to get people's hopes up about that, because it is not something that I am personally interested in working on. It is far more than I need or want.

Writing a small program to transfer a file across the serial link, and then use an existing EXDOS ROM to save it to floppy/SD is *much* easier to develop, and much more likely to get completed because it is a manageable project.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.05. 22:35:19
I'm getting closer to a final design! :mrgreen:
Title: Re: Internal memory expansion plus USB
Post by: gflorez on 2021.March.06. 09:14:33
Something like those could also be done on the Enterprise, but you would really want to integrate it into EXDOS, and it would be a lot of work that I am afraid might never be done, especially since you would have to be careful not to break the existing versions of EXDOS that people use for floppy discs and the SD Card adapter.

Don't worry about breaking EXDOS... it stands for EXpandable Disk Operative System. In fact, the SDEXT.Rom is a driver extension to integrate the SD on the system, and there is even an IDE driver, also written by Zozo.

But there are other imaginative ways to add file management to the Enterprise, for example the FILE I/O driver that IstvanV uses on the emulator to manage a PC directory, and the "tunnel" like driver used by Geco on the SF3. They work even on a Tape only Enterprise(without EXDOS), managing the default device of EXOS. I name them tunnel drivers because they are able to manage the unknown format on the PC drive or a FAT32 formatted pen-drive, transparently to the user.

A file transfer manager will be an excellent start for your USB port, but please, leave the hardware well documented just in case...
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.06. 18:49:18
A file transfer manager will be an excellent start for your USB port, but please, leave the hardware well documented just in case...

Just like my 512KB memory board, I will upload all of the design files and Gerber files here once the first batch of boards is sold, and I have covered the actual production costs for making the boards (excluding my time).


I have looked at Zozosoft's memory test code in the EXOS 2.4 ROM, and I hope that I have chosen a specific set of USB port addresses, so that the memory region will not falsely detected as either RAM or ROM by the Enterprise.

Here are the current details ...

The address range is selected which file is used to program the ATF16V8BQL GAL.


Option 1:

  Segments $78-$7B - USB
  Segments $7C-$7F - RAM
  Segments $C0-$FB - RAM

Option 2:

  Segments $B8-$BB - USB
  Segments $BC-$FB - RAM


If Option 1:

  $78:00xx - Status Port Address  (read only, write is ignored, bits 0-4 can be used to detect if the hardware exists)

    bit 7 = PWREN# (0 when active USB connection to a PC)
    bit 6 = RXF#   (0 when you can read data from the FIFO)
    bit 5 = TXE#   (0 when you can write data to the FIFO)
    bit 4 = 0
    bit 3 = 0
    bit 2 = 1
    bit 1 = 0
    bit 0 = 1

  $78:01xx - Data Port Address  (read and write)

    USB data FIFO.


If Option 2:

  $B8:00xx - Status Port Address  (read only, write is ignored, bits 0-4 can be used to detect if the hardware exists)

    bit 7 = PWREN# (0 when active USB connection to a PC)
    bit 6 = RXF#   (0 when you can read data from the FIFO)
    bit 5 = TXE#   (0 when you can write data to the FIFO)
    bit 4 = 0
    bit 3 = 0
    bit 2 = 1
    bit 1 = 0
    bit 0 = 1

  $B8:01xx - Data Port Address  (read and write)

    USB data FIFO.


The port addesses are mirrored for 4 segments, i.e. a 64KB address range.

Within each segment, the port addresses are mirrored every 512 bytes, i.e. only
A8 is used for decoding the address within the 64KB address range.



<Modified 2021-03-18 to swap RXF# & TXE# bit order to match latest board design.>
Title: Re: Internal memory expansion plus USB
Post by: gflorez on 2021.March.06. 22:22:27
Great. Have you looked at LGB's Z80 ports list (http://ep.lgb.hu/doc/ports.html)?

Since the time he created the list, other hardware have taken position, for example, SF3 uses 20-2F and 40-4F ranges(incompatible with the Spectrum Hardware emulator).

I see you use F8h and B8h as communication ports. Good selection, single unused ports, but you must re-assure that these are not mirrors ports of other nearer ports, from the RTC card (https://gafz.enterpriseforever.com/Hardware/PCB/Picture/Clock&Calendar-1.jpg) or Dave.

Usually, a wealthy EP returns 255 from an unused port(for example "PRINT IN(XX)"  ), but I don't know how to test a port on Output.
Title: Re: Internal memory expansion plus USB
Post by: geco on 2021.March.07. 00:01:20
Great. Have you looked at LGB's Z80 ports list (http://ep.lgb.hu/doc/ports.html)?
As i see there is no direct port usage, they are memory mapped ports.
What i do not understand in this moment how they works, each 78:00xx status registers have relation to 78:01xx, ex 0000 belongs to 0100? And these ranges are totally mirrored in the 4 "port" segment also? so 78:00xx has the same content as 79:00xx or 7a:02xx?
I think both option is good, i like better option 2 :-)
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.07. 00:12:48
I see you use F8h and B8h as communication ports. Good selection, single unused ports, but you must re-assure that these are not mirrors ports of other nearer ports, from the RTC card (https://gafz.enterpriseforever.com/Hardware/PCB/Picture/Clock&Calendar-1.jpg) or Dave.

I suspect that you have misunderstood what I wrote ... which is a very easy thing to do when we're both relying on Google Translate! ;-)

The two USB hardware port addresses are not mapped into the Z80's I/O Port address range, because the Z80's /IORQ signal is not available on either EXP1 or EXP2, and frankly even if it was, there are not enough pins on GAL16V8 to map both RAM segments and I/O ports.

The USB hardware occupies a 64KB region in the Enterprise's 4MB memory map (i.e. 4 segments) ... which is why I have to be careful that the EXOS scan for RAM/ROM segments will not harm the USB chip.

Using a whole 64KB region is somewhat wasteful, but we can afford the memory space, and it is the best solution that I could think of actually building something that is both affordable and easy-to-install.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.07. 00:43:20
As i see there is no direct port usage, they are memory mapped ports.

Precisely, yes! :)


What i do not understand in this moment how they works, each 78:00xx status registers have relation to 78:01xx, ex 0000 belongs to 0100? And these ranges are totally mirrored in the 4 "port" segment also? so 78:00xx has the same content as 79:00xx or 7a:02xx?
I think both option is good, i like better option 2 :-)

The hardware only uses address bits A21-A16, which define a 64KB region (4 segments), plus A8 to chose between the STATUS and DATA registers of the USB interface.

A0-A7 and A9-A15 are ignored, because there aren't enough pins available on the GAL16V8, and because even if there were, routing the extra address lines on the board would be horrible.

So you can read the STATUS register at $78:0000, or $78:0001..$78-00FF, or $78:0200-$78:02FF, or $78:0400-$78:04FF, and repeated all the way up to $7B:3EFF.

In the same way, you can read the DATA register at $78:0100, or $78:0101..$78-01FF, or $78:0300-$78:03FF, or $78:0500-$78:05FF, and repeated all the way up to $7B:3FFF.


The two registers are put 256 bytes apart from each other so that the EXOS routines that detect memory will never try to read or write the DATA register, and so that a simple INC H or DEC H can be used to switch between the registers.

So, to read a sequence of bytes from the USB FIFO, with 'BC' being the number of bytes to read, and 'DE' being the address where you want to put them ...

Code: [Select]
LD A, 78h
OUT (0B1h),A

INC B
LD HL, 4000h
.WAIT: BIT 5,(HL)
JR NZ,.WAIT
INC H
LD A,(HL)
DEC H
LD (DE),A
INC DE
DEC C
JR NZ,.WAIT
DEC B
JR NZ,.WAIT
Title: Re: Internal memory expansion plus USB
Post by: geco on 2021.March.07. 01:39:08
so the different status, and data registers are equivalent, and i can use ex status register 78:0000 and data register 78:0114 for reading/writing the data (i know it does not make sence, because in this way the operation is slower), because a0 - a7 are ignored.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.07. 01:58:37
so the different status, and data registers are equivalent, and i can use ex status register 78:0000 and data register 78:0114 for reading/writing the data (i know it does not make sence, because in this way the operation is slower), because a0 - a7 are ignored.

Yes, that is correct ... but only with this specific version of the hardware. ;-)

It is best if we all just agree to write our programs to access the USB ports at $78:4000 and $78:4100 (or $B8:4000 and $B8:4100), because then the hardware can be improved in the future without breaking anything.


For instance, in the future, if we used a GAL20V10 for memory decoding instead of a GAL16V8, then we get an extra 4 I/O pins to use for fun stuff.

That would allow for more ports, or for something like an 8KB dual-port RAM that could provide shared memory with a Z280 ... all on one small internal board.

It might never happen, but it is best if all of us programmers just behave politely, and we'll see if someone invents something cool in the future. :)  :cool:
Title: Re: Internal memory expansion plus USB
Post by: gflorez on 2021.March.07. 09:17:12
I suspect that you have misunderstood what I wrote ... which is a very easy thing to do when we're both relying on Google Translate! ;-)

The two USB hardware port addresses are not mapped into the Z80's I/O Port address range, because the Z80's /IORQ signal is not available on either EXP1 or EXP2, and frankly even if it was, there are not enough pins on GAL16V8 to map both RAM segments and I/O ports.

I thank you for the care with which you have answered my ignorance...

I usually read too fast without reasoning and that creates imperfect conclusions.

Now, re-reading your messages, I can(slowly) understand the mechanism. Yes, you don't have /IORQ directly. 
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.18. 16:50:52
I've had some feedback from a professional electronic engineer, who told me that the PORT1 chip wasn't needed because the FTDI's data bus is tri-state.

So I have altered the board layout, and also added a resistor network to pull up the status lines, which tri-state whenever the FTDI chip is held in /RESET, which happens whenever the USB cable is not connected to a PC.

Here's the current layout ...


Title: Re: Internal memory expansion plus USB
Post by: dangerman on 2021.March.19. 22:39:07
Great stuff! :smt041
Title: Re: Internal memory expansion plus USB
Post by: Zozosoft on 2021.March.20. 20:02:12
Just one idea: Is it possible to add 512K Flash ROM? To store the USB driver and other ROMs.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.21. 18:20:36
Great stuff! :smt041

Thanks, I'm learning a lot while trying to design this. :mrgreen:
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.21. 18:28:47
Just one idea: Is it possible to add 512K Flash ROM? To store the USB driver and other ROMs.

JLCPCB do not offer any modern surface-mount 5V 512KB flash ROM chips, so I can't just add one to the board.

They do list one type of 128KB flash ROM, but it is never in stock and available for manufacture, and so there is no point in even trying to add that to my design.


It might be possible to add a DIP socket to the board, but it would make the board significantly larger.

Even then, I am not sure that I could add in a 32-pin socket for a 39SF040/27C040, but it might be slightly more reasonable to add in a 28-pin socket for a 64KB 27C512, which would be plenty of space for a driver and a couple of ROMs.


Now having said that ... what driver are we talking about?

I can't imagine the USB serial port as a boot-time bulk-storage replacement for either the SD Card Adapter, or the MicroTeam floppy disk interface, or the Symbiface 3, and all three of those existing hardware boards already have plenty of unused ROM space that could be used for such a driver, if someone wanted to write one and create something like a "DriveWire".


If you want to change the EXOS "SERIAL:" driver to use the USB, then that might be more sensible to do inside the EXOS ROM itself, especially because there is still 6KB of unused space within the EXOS 2.4 ROM.


If you are really talking about having some space for existing ROMs, then do people really want that?  If so, would 64KB be enough?  Yes, I know that there are more than 64KB of Enterprise ROMs, but are they useful ROMs that people need to be permanently inside the Enterprise, or can they just be loaded with EPDOS's "LROM"?


Oh, one more thing ... since I am very new at this, I am also worried about adding too many new device loads onto the Z80's memory and data buses.
Title: Re: Internal memory expansion plus USB
Post by: BitHajlito on 2021.March.21. 20:22:22
Hello elmer

I want to order too, if you finished the design. 1 piece. Thank you.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.26. 16:54:45
It might be possible to add a DIP socket to the board, but it would make the board significantly larger.

Even then, I am not sure that I could add in a 32-pin socket for a 39SF040/27C040, but it might be slightly more reasonable to add in a 28-pin socket for a 64KB 27C512, which would be plenty of space for a driver and a couple of ROMs.

I've spent a lot of time trying to reorganize the circuit board to add either a 28-pin or 32-pin DIP for a ROM, and it just isn't working out well. :(

I think that it is probably best for me to go ahead and order just a couple of boards with the current design, and make sure that it works properly.
Title: Re: Internal memory expansion plus USB
Post by: gflorez on 2021.March.26. 18:12:28
Have you tried to use the bottom side to put the Eprom Socket alone? There is enough space for it.

I tried it successfully (https://enterpriseforever.com/interface-57/internal-real-time-clock/msg62174/#msg62174) on one of my Saint's memory expansions. What I did was to solder the flashrom chip pins to the Ram chip pin-tips on the underside.

 (https://enterpriseforever.com/interface-57/internal-real-time-clock/?action=dlattach;attach=17323;image)

(https://enterpriseforever.com/interface-57/internal-real-time-clock/?action=dlattach;attach=17325;image)

Clarification: not all pins where soldered, as some signals go in different pin positions on FlashRoms and Rams.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.27. 17:22:57
Have you tried to use the bottom side to put the Eprom Socket alone? There is enough space for it.

Yes, I did consider putting the flash ROM DIP on the bottom of the board, but it doesn't help because you still need through-holes for the pins, and the surface-mount RAM chips are the same width as the flash ROM, meaning that you can't interleave the parts on the board, and so you still need to move the SRAM chips out of the way by exactly the same amount that you would if you put the flash ROM on the top of the board.
Title: Re: Internal memory expansion plus USB
Post by: gflorez on 2021.March.27. 20:36:58
Sorry, as usual I have not explained me well....

I mean to add a 5v FlashRom (https://pdf1.alldatasheet.es/datasheet-pdf/view/55581/AMD/29F040.html) on PLCC packgage, there are SMD sockets (https://ae01.alicdn.com/kf/HTB1r.xvOXXXXXavXVXXq6xXFXXXo/50pcs-PLCC32-SMD-IC-Socket-PLCC32-Socket-adapter-32-Pin-PLCC-Converter-PLCC-32.jpg) for it.

Or it can be totally soldered, on PLCC or TSOP encapsulate, but then you need to take the /WE signal from the EP mainboard. Zozo can modify his SD cartridge updater software. It also uses AMD.
Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.March.27. 22:34:38
Or it can be totally soldered, on PLCC or TSOP encapsulate, but then you need to take the /WE signal from the EP mainboard. Zozo can modify his SD cartridge updater software.

So you mean like this board ...

[attach=1]


The problem with that, is the question of who is going to add those components to the bottom of the board?

The PCB manufacturer will not do it, and I am certainly not capable of hand-soldering either an SMT PLCC socket or a TSOP package.

Neither are most of the people here, I suspect, or they would have already built their own boards.


Replacing the USB components with a through-hole PLCC socket is something that I can imagine would work, and be something that probably more people could solder on at home because it is 0.1" spacing ... but I have no interest in that myself, because having the USB is the most interesting part of the board to me.
Title: Re: Internal memory expansion plus USB
Post by: gflorez on 2021.March.28. 07:43:54
You are right. I tend to think all as a challenge. Once having lots of memory and a way to load files, Roms can be emulated.

Simplicity is also important.


Title: Re: Internal memory expansion plus USB
Post by: elmer on 2021.June.08. 03:34:49
For anyone wondering what has happened with this ... I got sidetracked with another project, and when I was ready to come back to this and place an order for production, JLCPCB had run out of stock of the FT245R chips.

I keep on checking regularly to see if the part has become available again, but with no luck.

I don't know if this is related the global shortage of components that everyone is complaining about, but I don't think that there is much that I can do, except to keep on waiting.
Title: Re: Internal memory expansion plus USB
Post by: geco on 2021.June.08. 16:00:05
sad news, but yes, i heard the same issue from others too, a lot of things are out of stock.
Title: Re: Internal memory expansion plus USB
Post by: dangerman on 2021.June.09. 20:55:48
That's annoying. Hope that stock comes back soon.