Hello wiki!
Those of you following the wiki edits carefully or reading push'n'pop forums may have heard about it already. Here comes a new interface from PulkoTronics!
What's in it?- USB host to plug USB devices to the CPC
- Built-in support for mass storage devices and FAT32 filesystem, "easy" access to files (that is easy if you know z80 programming for now, later it will be really easy as the appropriate tools are written)
- Built-in fast SD card port (6MHz), also with FAT32 support,
- Built-in fast serial port (150KB/s, 13 times faster than the CPC Booster) with USB connector to communicate with another computer, integrated buffers and flow control.
- Remote computer can trigger an interrupt or reset the CPC, useful for cross-development setups.
- Configurable interrupts - can send NMI, INT, or nothing at all
How does it works?- There are two main devices: the CH376 handles the USB host and SD card side of things, and is accessed at FE80 (data) and FE81 (command/status). The communication side is handled by a TL16C550D, mapped at FEB0-FEB7. This is similar to the chip used on most PC hardware and some Amiga expansions like the SilverSurfer.
- There is an FT230X chip to convert the UART to USB for connecting with a modern PC (standard serial ports are not that common anymore, and they wouldn't be fast enough anyway). The FT230X also generates 12MHz and 24MHz clocks for the two other chips.
- The 16C550 "modem control" lines are connected to various things (CH376 interrupt, FT230X general IO pin for remote control) and turns them into interrupts.
What is it useful for?- Not much currently because there is no software yet, but in the future:
- Use the USB key or SD card directly from BASIC and well-behaving apps (which support extra disk ROMs and a C drive). Load games and tools from the mass storage media,
- Connect to another computer like the CPC Booster, load snapshot, DSK or other files from it and write them to floppies or the mass storage media. A snapshot of 128K could be loaded in 0.86 seconds, a snapshot of 64K in less than 0.43 seconds.
- Use SLIP (serial line IP) and a properly setup gateway (Linux machine or similar) to connect the CPC to the Internet.
Where to buy one / How much does it cost?I guess no one will want to manufacture them for me, so I'll have to solder everything myself?
The price for this will be 24.90 euros + shipping (same as the MiniBooster). It pays for all the parts, and the time I spend assembling and debugging the boards.
Current statusI just finished routing the board and drawing the schematics. Help welcome in checking them. I also hand-built a prototype with only the USB mass storage part, which is working fine when I test it from BASIC.
I have not written any serious software for the board, yet. I hope I can get some help with that, at least.
How does it look?- I have not built the boards yet, but you can find 3D rendering and schematics on my webserver: Index of /drop/albireo/
- The board is 69x41mm, same width, but smaller height than the now well-known Mother-X4 format. It should fit on the MX4 without any problems, or of course you can use it standalone (but the board has no built-in ROM, so don't expect direct use from BASIC without a ramcard, megaflash/flashgordon, or any other way to add the appropriate ROM).
- The Kicad project file is available: ch376 in CPC stuff – avrstuff
There is no software available for this board currentlyWhat you buy is only the hardware. You will have to write your own drivers for it or wait for someone to provide support (as a tool loadable from disk, a ROM, etc). While I have started some work on a ROM, I make no promises or guarantee that I will get that to work, and if I do, when it will be made available.
What will be possible with appropriate softwareSome people will want to use it to load games from it. Remember that it is not a floppy emulator. This means, anything accessing the floppy disk without going through the AMSDOS system ROM, will not load.
Anything that uses AMSDOS, but initializes only ROM 7 or ignores the current drive setting, will not work.
The ROM will also use some memory for itself, which can also create some issues. It's possible to keep the RAM use quite low, but still some bytes will be used at least to store the new RSXs from the ROM.
BASIC programs should not be a problem, more complex software may need some patching. To get an idea, the games with 1 or 2 blue dots listed here will most likely work:
http://cngsoft.no-ip.org/cpc_lzx.htm . The one with red dots will not (this is for the unprotected games).
What will be possible without a ROMIf you don't have a ROM expansion already (RamCard, Rom Board, MegaFlash, FlashGordon, X-Mem or similar), this board can still be used with software running in RAM. In that case, the software must be loaded from disk or tape - no autoboot support! The software will of course use some memory for itself, which possibly means even more compatibility problems if you want to use it as a game loader.
I don't plan to provide this kind of software, at all - because I don't need it myself. If someone else decides to attempt it, I can provide support, hints and technical documentation (writing the programming docs and examples is higher on my TODO list than writing the software).
Power supplyThere was a question about the power supply required for the board. It needs 5V, and the power consumption is around:
- Glue logic - 20mA
- CH376S - 30mA
- TL16C550D - 10mA
- FT230X - 8.3mA
- [/l][/l]
Total: 69mA, to which you need to add power for an SD card (30 to 100mA depending on the model chosen) and/or USB devices.
[/list]