Welcome, Guest. Please login or register.


Author Topic: SD card interface (Read 231541 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14709
  • Country: hu
    • http://enterprise.iko.hu/
Re: SD card interface
« Reply #60 on: 2013.October.29. 20:21:27 »
Yes it is also problem with the IDE interface.
160 bytes needed for each logical drive, for the EXDOS and device driver administration area. (Bigest part of these the storage space for the actual PATH of the drive.)
If you want all possible drives from F to Z then 21*160=3360 bytes plus some for the expansion ROM variables.
This is not a problem for the EXOS or BASIC, but some programs don't allocate memory from the EXOS, just directly overwrite it. These are calculating with the normal EXDOS memory usage (only A-E drives), with the IDE (and will the SD) more system segment used are are overwritten :evil:
Possible allocate memory in a separate segment, but two other problems:
- this function have a bug in EXOS 2.0/2.1 and can not be used :-( Only work with my bugfixed/updated EXOS version. Then needed to upgrade the onboard ROM
- many-many improper programs which are not allocate memory from the EXOS, directly overwrite F8-FF segments, then the separate segment for the IDE/SD ROM only safe bellow F8, then memory expansion needed.

Currently the IDE ROM allocate own segment if EXOS version are higher than 2.1 and memory expansion exist.

If the SD interface have a hidden RAM area in the ROM segment then all problem will be solved!

The hardcore users have (or can install) a upgraded EXOS and memory expansions, but many users want a easy way for using unmodified machine with modern fast storage, just want a play games as "plug and play" :-)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SD card interface
« Reply #61 on: 2013.October.29. 21:09:46 »
Quote from: Zozosoft
Yes it is also problem with the IDE interface.
160 bytes needed for each logical drive, for the EXDOS and device driver administration area. (Bigest part of these the storage space for the actual PATH of the drive.)
If you want all possible drives from F to Z then 21*160=3360 bytes plus some for the expansion ROM variables.

Ok, but using so much drives - as I guess - is only needed because of the size limitation of FAT12 (I would always prefer to use less drives, or even zero, as UNIX does not need this notion - drive letters are from CP/M originally even in DOS/Windows ...). If some hasn't got EXDOS at all and wants SD card, drives before F: can be used as well for SD card, right? And also the "try to modify EXDOS to use FAT16" would be a great idea :) I guess if someone does not have a true EXDOS card with floppy drive, FAT16 is always superior, and there can't be too much compatibility issues that they need FAT12 support at all ... And since they haven't got EXDOS card, no EXDOS ROM either, that must be supplied, maybe in a bit modificated form.

I am not sure how frequent some "average" user wants and SD card interface for the EP using also a "real" EXDOS and using tons of drive letters at the same time.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14709
  • Country: hu
    • http://enterprise.iko.hu/
Re: SD card interface
« Reply #62 on: 2013.October.29. 21:52:20 »
Quote from: lgb
(I would always prefer to use less drives, or even zero, as UNIX does not need this notion - drive letters are from CP/M originally even in DOS/Windows ...).
I like the letters, because the EXDOS have a drive letters :-D

Quote
drives before F: can be used as well for SD card, right?
If you delete the floppy drives then the RAMDISK go down to A: then will be problem because the programs search the RAMDISK at E:

Quote
And also the "try to modify EXDOS to use FAT16" would be a great idea :)
Adding FAT16 probably not a to hard work (but need a time...), but only solve the to big clusters problem. Maximum disk size still 65535 sectors.
The BIGDOS FAT16 can solve the partiton size problem, but this is will be very hard work, because the original sector operations use 16 bit registers for sector number, need to free up more registers and add new function calls for handle more than 65535 sectors.

Quote
I am not sure how frequent some "average" user wants and SD card interface for the EP using also a "real" EXDOS and using tons of drive letters at the same time.
Average users use a disk browser sw for select game :-) I will be modify (or write) one for display Volume Labels with the drive letters, then the drives looks as directory, for example DEMOS, GAMES_A-B, UTIL, etc

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
Re: SD card interface
« Reply #63 on: 2013.October.29. 21:55:11 »
Ok, I understand the problem now, I'll see what I can do! I agree this really wants to be a proper "plug and play" device so anyone with an Enterprise can use and SD card without having to open up the machine and install new ROM's or more memory.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14709
  • Country: hu
    • http://enterprise.iko.hu/
Re: SD card interface
« Reply #64 on: 2013.October.29. 22:01:35 »
Quote from: Saint
I can't get small SRAM easily --
Somewhere I have a lot of (least 40-50) W24257/W24512 (or compatible) SRAMs which are saved from 486 boards at about 15 years ago :-)
I used one for replace onboard memory :-)
[ Guests cannot view attachments ]

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SD card interface
« Reply #65 on: 2013.October.30. 12:20:06 »
It seems there is ENC28J60 emulation in FUSE spectrum emulator at least if you run it on Linux. So in theory, it would be possible to port the code into ep128emu or so, thus it'd be possible to develop software on the emulator for some kind of ENC28J60 based solution.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SD card interface
« Reply #66 on: 2014.February.10. 02:57:23 »

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: SD card interface
« Reply #67 on: 2014.February.19. 09:31:04 »
Quote
Fantastic! I look forward to seeing the new super-fast Enterprise computers which come out of this. May even over-clock one myself... 

Formerly you mentioned the planning of a new storage device for the EP, with an SD card solution.
Now, we have already an SD card solution, where we have an IDE controller card created by Zozo, and we use IDE to SD converters cheaply available on the net.
The only problem is with this solution (for me) the relatively big size. It is designed as a normal expansion card, like the exdos, or anything. And we connect HDDs or IDE to SD converters to it. So the SD card is much smaller, much quiet and slightly faster than the HDDs, but the size of the IDE card remain.

Do you still plan a small, probably inside assembled SD card solution, or it turned out a hard task ?
Z80 System

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
Re: SD card interface
« Reply #68 on: 2014.February.19. 10:00:46 »
Yes, I am still planning to do this. Funnily enough, I've just been thinking about prototyping it. I've got some edge connectors and vero board ready, and will be ordering some PLCC sockets and MAX3000A chips as well as some FLASH and SRAM so I can wire-wrap a test board.

I'm going to use the expansion port first, just because I can create a prototype without getting a PCB made for the edge connector, then when this is working I will think about the possibility of a cartridge version as well.

I've got it all drawn out on a piece of paper, using a GAL (I have quite a few spare now! :)) for the address decoding for FLASH, SRAM and the MAX3000A SPI chip (being memory mapped). This means I can move the design over more easily to the cartridge port if needed.

I was also thinking I may add 512KB RAM and 512KB FLASH to the board and possibly other things like a real time clock. The RAM and ROM would make this a nice external expansion for people who have an unexpanded EP64.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: SD card interface
« Reply #69 on: 2014.February.19. 10:27:32 »
Quote
I was also thinking I may add 512KB RAM and 512KB FLASH to the board and possibly other things like a real time clock. The RAM and ROM would make this a nice external expansion for people who have an unexpanded EP64.
Yes, I think the ROM is very important, because the EXDOS software have to be somewhere in the machine, and if your expansion will be in the cartridge instead of inside the machine body, then there will not be place for EXDOS.

Or maybe EXDOS can be placed to the mainboard to a modified system rom ... But in this case, the main machine have to be disassembled.

If we could make pretty small housing, the expansion version could be as good as the cartridge solution. But this housing could be hard task to do.
And that is a cool thing too, somebody can use the expansion for other cards, and your base HW could be in cartridge.

And yes, the ultimate best solution would be, when I get an original, unmodified EP, and place a cartridge to the left side, and I have everything ... :)

But, how I understand, the inside ram expansion is compatible with 10MHz machine too, so probably the best place for ram expansion is the inside place. So maybe the RAM has not neccessary to be in the cartridge. Or maybe in that situation, when I can use your "everythinginacartridge" expansion on an original, unmodified EP, with XXX+128K memory,
and with the 10MHz hack, we drop out the inside 64K expansion, and use your cartridge with an XXX+64K memory configuration at 10MHz.
« Last Edit: 2014.February.19. 10:47:16 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: SD card interface
« Reply #70 on: 2014.February.19. 10:37:04 »
Or maybe, I'm wrong at EXDOS, and your storage device will not be an EXDOS "extension" ?
I think the current IDE card work somehow like an EXDOS "extension", and this will be good for any storage device,
but in the emulator, there is a FILE device, what is not such like the IDE, but a different device for EXOS ... or what ...

Zozo, can It be good in practice, when a storage hw is not EXDOS "compatible" like the IDE card ?
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: SD card interface
« Reply #71 on: 2014.February.19. 10:57:33 »
Quote
Or maybe in that situation, when I can use your "everythinginacartridge" expansion on an original, unmodified EP, with XXX+128K memory,
and with the 10MHz hack, we drop out the inside 64K expansion, and use your cartridge with an XXX+64K memory configuration at 10MHz.
Or, the cartridge would be compatible with every single configuration ... with an original unmodified configuration (XXX+128K memory),
or a 10MHz hack, and dropped inner 64K configuration (XXX+64K memory),
or an XXMHz and inside already (for example 1MB) expanded configuration (XXX+1MB+64K memory) ... :)
Z80 System

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
Re: SD card interface
« Reply #72 on: 2014.February.19. 18:49:12 »
To be honest I was thinking more bare-bones style! Like these Speccy interfaces.

ROM and RAM would be positioned in memory such that they were not conflicting with the existing 512KB or 1MB internal expansion. I think it would need just EXDOS and Zozo's SD card driver (like the IDE CF driver).

One page of the RAM (well, 4KB of it) would be shared with one page of the ROM to enable the driver to only require a single page to operate. I believe this was the request, Zozo?

I believe there is a fast memory test we can include in this expansion as well? So people with unmodified EP's dont have to wait forever for the memory to test... :)

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SD card interface
« Reply #73 on: 2014.February.20. 00:07:56 »
Yes, Saint, on the expansion bay you have all the posibilities, not at the cartridge bay. But could be nice to find a good use for that little boxes that gave to the EP that look of expandability....

Thinking about RAMs and ROMs, the definitive design could be to have an image of the EP memory and drives, on a SD card, and fool the machine to think they are the real things.....like we do in the emulator.
« Last Edit: 2014.February.20. 00:10:58 by gflorez »

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: SD card interface
« Reply #74 on: 2014.February.20. 12:54:21 »
Quote
To be honest I was thinking more bare-bones style! Like these Speccy interfaces.
Okay, I read again in the hungarian topic, and I see that the IDE controller is an EXDOS extension.

So how I see, there is the EXDOS, which is the already done, de facto EP disk standard, and it has an EXOS device interface towards the EXOS ( DISK: ), and has a FAT12 implementation, and an other extendable device interface inside itself, handling different hardware devices.

This DISK: device can be the default device to EXOS, and file access will be done through EXDOS in this situation. (Without explicit device specification, like "TAPE:dummy.com"

So when a storage device is such an EXDOS extension, then it will capable of everything what EXDOS can do. It is good, because we have FAT12 filesystem, and every function what is implemented in EXDOS on the new device, immediately. It has drawbacks too, like FAT12 has many limitations, such the little partition size, and so on.


The second choice would be a different EXOS device, like TAPE: or DISK:, in this case we are not bound anymore to EXDOS, FAT12 or anything, but we have nothing from the already implemented features, too. So your SD device would be named SAINT:, and you will have to write every function from scratch, which handle files or filesystems on it, and offers the files to EXOS on a file access. In this case the default device could be SAINT:, and file access would go through the SAINT: device.


So it is, what I think I know. I do not understand what more bare-bones style that speccy interface works, and how could that style work with EP and/or EXOS.
« Last Edit: 2014.February.20. 13:05:47 by Z80System »
Z80 System