CPCWiki forum

General Category => Amstrad CPC hardware => Topic started by: PulkoMandy on 15:54, 18 October 15

Title: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 15:54, 18 October 15
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?
How does it works?
What is it useful for?
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 status
I 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?
There is no software available for this board currently
What 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 software
Some 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 ROM
If 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 supply
There 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]
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: VincentGR on 16:17, 18 October 15
This would be great!  :o
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:26, 18 October 15
Kicad source files if you want to have a closer look at the schematics or PCB and make some changes:
ch376 in CPC stuff – avrstuff (http://pulkomandy.tk/projects/avrstuff/browser/CPC%20stuff/ch376)


Help reviewing the schematic and PCB will be appreciated, it would be nice if I can get the boards to work without patches when I build the first batch.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: gerald on 16:54, 18 October 15
Quote from: PulkoMandy on 16:26, 18 October 15
Kicad source files if you want to have a closer look at the schematics or PCB and make some changes:
ch376 in CPC stuff – avrstuff (http://pulkomandy.tk/projects/avrstuff/browser/CPC%20stuff/ch376)


Help reviewing the schematic and PCB will be appreciated, it would be nice if I can get the boards to work without patches when I build the first batch.
Some suggestion :
- SD socket : you should have pull-up on unused D1 and D2 pin.
- U5 : use a 74ls38 instead of 74ls00. This is an open drain quad 2 input nand. You can then remove the diodes to NMI/INT. You will however need to add a pullup to the RESET output.
- Since you mostly use SMD component, I suggest you to try to have most of them on the same PCB side. You then can use a stencil for solder paste and hot air reflow. This is far quicker to solder.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 17:10, 18 October 15
Ohhh shald we start counting orders yet? :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 18:07, 18 October 15
Maybe people want to know the approximate price first? But we can start counting, yes.


@Gerald: thanks, I modified the Kicad project to use an LS38. I'm not sure there is a way to fit all the ICs on the same side unfortunately (and I don't want to redo all the routing for now). I don't have the hardware for that kind of soldering available anyway...


[edit]
Pricing information now available: I can sell the board for 24.90 euros + shipping, same price as the Mini Booster.


I will wait a little more for comments and reviews of the schematic (and look at it again after some time thinking about something else so I can see my own mistakes), then I'll start ordering all the parts. I will also start writing some docs for it, since the CH376 docs are not that easily understandable if you don't speak chinglish  :laugh: .
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 22:09, 18 October 15
Hi Pulko, this is an awesome project!


I would like to order two of them and also support them with FutureOS and my games.


One question (since I'm not into USB). Could your card be used to create a CPC network, something like 5 CPCs?


Wonderful news!!!  :) :) :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ||C|-|E|| on 23:26, 18 October 15
This is amazing! I would like one!  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 06:11, 19 October 15
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179): hi, sorry, there is no network function planned. I don't know if USB devices could be used for that (USB to RS485 or USB to Ethernet or even WiFi modules, maybe?). In that case the z80 would have to do some USB work and I don't know how much CPU time would be left for other things (it depends on how these USB devices are designed).


Another solution is connecting all the CPCs to a central "hub" using the high speed serial link. The hub could be a computer with multiple USB ports (possibly a PC computer, but a dedicated hub could be built from any hardware with multiple USB host ports).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: majikeyric on 08:20, 19 October 15
Hi!
Count me in for 2 units 8)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 08:31, 19 October 15
If/when stand-alone, how to connect to 464 with DDI, and, did it get enough power from the Expansion-Bus?

And wouldnt this type of connector be better to plug it directly into the MX4?
(As from the actual rendering it seems there is an Adapter required to connect it to MX4)
(http://www.cpcwiki.eu/forum/index.php?action=dlattach;topic=9492.0;attach=12459;image)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 08:37, 19 October 15
Yes, I will use an angled connector like this. I did not find a 3D model for it in my tools, but the PCB footprint is the same.


The power supply is 5 volts, from the expansion bus. I never ran into problems with this. Of course, it depends what you connect to the USB port. a self powered hard disk is probably a bad idea. You can use an usb pen drive, or an hard disk with separate power supply. I will check the required power for each component this evening when I'm back home.


If you connect both this and the DDI to a 464 you will need a special cable. I will not sell any cables with the board because I don't want to handle the various cases (no cable, centronics, edge, ...). You will have to find someone else to supply the cable.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 10:41, 19 October 15
Interested in 2 please.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 12:30, 19 October 15
I'll take one.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Optimus on 12:34, 19 October 15
I'll get one.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Ast on 13:09, 19 October 15
Hi Pulko, count on me for 1 piece...

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 13:16, 19 October 15
And one for me, of course :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: hsimpson on 13:25, 19 October 15
I'll take one piece.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 13:27, 19 October 15
Here, have a 3d rendering with the proper connector model :)


[attach=2]
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: SOS on 16:12, 19 October 15
Please, i will also get one  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: tonio8bits on 16:48, 19 October 15
Hello, I'll take 2 !!  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 19:23, 19 October 15
Current waiting list
Power supply
There was a question about the power supply required for the board. It needs 5V, and the power consumption is around:
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.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:28, 19 October 15
Quote from: PulkoMandy on 19:23, 19 October 15
Current waiting list

       
  • 0 - PulkoMandy
  • 1 - OffseT
  • 2 - TFM (x2 - what's up with people ordering two devices? do you use that much CPC to need two boards?)


TBH: I want to use them for a connection between two CPCs. In addition I need them to test my planned software and FutureOS support for them. However I'm glad to wait until everybody got one and then maybe get a 2nd one. That's all left to you.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 19:35, 19 October 15
@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26): Please add me to the list
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Sykobee (Briggsy) on 19:39, 19 October 15
My 464 would like one of these... Especially if  someone writes a fast tape emulator for it!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: skywalky on 19:41, 19 October 15
@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26), one for me, please.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Jungsi on 19:50, 19 October 15
I'll take also one please! :-)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Poliander on 19:52, 19 October 15
I'm also in for one, please.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: yannis_uno on 19:58, 19 October 15
Count me in for 1 please, thanks!

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Rennert on 19:58, 19 October 15
I buy 1 board please ;)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:40, 19 October 15
Some precisions since I get some questions by PM (don't be shy, share your questions here so everyone can get the answers!)


There is no software available for this board currently
What 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 software
Some 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 (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 ROM
If 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).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: HAL6128 on 21:02, 19 October 15
...count me for another one!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 21:12, 19 October 15
Current waiting listI have updated the first post with the info from my replies, so they don't get lost in the flow of preorders (already 27 boards to assemble! This will keep me busy during the winter at least)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 21:13, 19 October 15
Quote from: PulkoMandy on 19:23, 19 October 15
Current waiting list

       
  • 0 - PulkoMandy
  • 1 - OffseT
  • 2 - TFM (x2 - what's up with people ordering two devices? do you use that much CPC to need two boards?)
  • 4 - ||C||-||E||
  • 5 - majikeyric (x2)
  • 7 - CraigsBar (x2)
  • 9 - pelrun
  • 10 - Optimus
  • 11 - AsT
  • 12 - Gryzor
  • 13 - hsimpson
  • 14 - SOS
  • 15 - tonio8bits (x2)
  • 17 - Audronic
  • 18 - gros_minet
Power supply
There 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
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.
Well my 2 are as follows... 1 for the cpc's easily accessible and interchangeable. The other one will be lost, hidden and embedded in my just CPC tower.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Joseman on 23:40, 19 October 15
1 for me too please!! :)

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Tai on 23:50, 19 October 15
Please, count me in for 1 board!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Grim on 04:58, 20 October 15
+1 board, thanx.

A few more questions:
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 06:21, 20 October 15

Max. Storage size

The datasheet doesn't give any limit for the SD card size. It is FAT32, so there is a limit of one partition of 2TB. I did my tests with an USB drive of 2GB and it seems to be working for now. I'm not sure how much space we need to fit the complete CPC software collection?


[edit]
After checking the chinese website of WCH, there is a size limit of "only" 32GB. It does support SDHC cards to allow this. I don't know if a larger drive can be used on USB, I'll have to test that.


Serial speed

For now everything about the serial interface is theoretical - I only drawn the schematics for it. Here is the math:
Is it reachable in real world conditions? On the hardware level, one difficult thing at such high speed on a serial link is keeping the two sides synchronized. This is why the USB adapter is integrated on the board: this way, the USB adapter and the serial controller run on the exact same clock. There is no way they can get out of sync.


On the software level, the z80 will be the limiting factor. Well optimized code could achieve this speed. To help the z80, there are a few features on the board:
Everything else for the maximal speed is in the hands of people writing the z80 code. Can you write a loop tight enough to run this fast?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: reidrac on 08:36, 20 October 15
I'd love to have one board, if that's possible. Thanks!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: fastofruto on 09:16, 20 October 15
Hi! One for me please!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: cosa_nostra-6128 on 11:27, 20 October 15
Hi! One for me please!,thank very much
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 11:49, 20 October 15
I think I want one too! Thanks!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: oratyper on 12:07, 20 October 15
Hello, one for me please  ;D  Thanks
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: NiNxPe on 14:08, 20 October 15
+1 plz  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 15:33, 20 October 15
Quote from: PulkoMandy on 06:21, 20 October 15
Max. Storage size

After checking the chinese website of WCH, there is a size limit of "only" 32GB. It does support SDHC cards to allow this. I don't know if a larger drive can be used on USB, I'll have to test that.

In the datasheet V1.0 I found (for chip version &41) the limit the size in general to 32 GB due to the file-system IIRC.


Quote from: PulkoMandy on 06:21, 20 October 15

Interrupts: I don't know yet if this will be useful, the z80 can get an interrupt when the receive buffer is nearly full.

Such an interrupt would be a great feature, because it's desirable it the CPU can do something else than data transfer in parallel.

The datasheet is written in bad english, have to browse through it again to find out how to select and load files. But there maybe a better source of information out there in the net.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:01, 20 October 15
CH376 programming resources

Yes, there are some resources that are helpful to better understand the datasheet.
The CooCox driver was helpful: CooCox provides free and open-source CH376 USB disk and SD card file management (http://www1.coocox.org/driver_comp/ch376-usb-disk-and-sd-card-file-management-controller-c645.html?mc=6&sc=59)
My early WIP code for the AMSDOS compatible filesystem ROM: cpctools/resources/CH376 at master · cpcsdk/cpctools · GitHub (https://github.com/cpcsdk/cpctools/tree/master/resources/CH376) The file ch376.i has description of all the commands in a more compact form, but not all the details. It should give a good overview of how things work. It includes only the FS commands for now, not the USB low level ones.
Current waiting listLatest design changes
I'm still refining the routing. Today changes:
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: fgbrain on 21:15, 20 October 15
Hi!

Will it be possible to connect and use USB printers or mice??
That would be great! But then one USB port is not enough ;D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Vandalsk on 21:38, 20 October 15
Please, count me for 2 boards please! Thanks.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 21:50, 20 October 15
Netter Avatar!  ;) ;D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 22:18, 20 October 15
Quote from: fgbrain on 21:15, 20 October 15
Hi!

Will it be possible to connect and use USB printers or mice??
That would be great! But then one USB port is not enough ;D


Hi,
"Connecting" is of course possible. Getting them to actually do something, however...  :D


More seriously, the controller chip can also handle some other USB devices, as far as I can tell anything HID should not be a problem. However, it is then acting as a simple USB controller, which means the CPC will have to do some work: reading the HID reports as they come on the wire, parsing them (the format is fairly simple), and moving the mouse cursor on screen, of course.


For printers, I have no idea if this would work. It depends on the printer, the interface it exposes and how hard it is for the CPC to generate the data to send to it.


You can read the datasheet for CH375 if you want to get a more precise idea of how the chip works for this.


CH376: usb mass storage / sd card FAT32
CH375: usb host for other kind of devices
CH372: usb device (for plugging the CPC as a "slave" device to another computer - this will probably not be used, by me at least)


The CH376 is compatible with 375 and 372 and is programmed the same way for the relevant parts.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: dirtybb on 23:29, 20 October 15
Hi,
I'm in for one. Thanks !
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Dubliner on 07:02, 21 October 15
Hi,

Count 1 board for me as well :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Vandalsk on 18:08, 21 October 15
Quote from: TFM on 21:50, 20 October 15
Netter Avatar!  ;) ;D

Passt zu meinem Vornamen :-D Von der Haartracht .... bin ich eher das Gegenteil. :-D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 18:32, 21 October 15
What I found on a quick search...


Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:09, 21 October 15

Current waiting list
0 - PulkoMandy
1 - OffseT
2 - TFM (x2)
4 - ||C||-||E||
5 - majikeyric (x2)
7 - CraigsBar (x2)
9 - pelrun
10 - Optimus
11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)


Latest changes
Today I replaced the FT230X with an FT231X. This is the chip doing usb<>serial conversion for the high speed link. The reasons for this:
I'm fairly happy with the design now. I will start ordering the chips and make a final check that all footprints are correct on paper. Then I'll order a first batch of 5 boards and try to make them work (these will be "version 0.9" boards). If there are any problems found, I will fix them and then order a bigger batch. I don't want to order 50 boards now and be left with unusable boards because I made a mistake somewhere.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 23:02, 21 October 15
You are right about that. Please take your time for testing and debugging if needed. I'm sure we all are willing to wait longer and get a reliable product.  :) :) :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Cpcmaniaco on 10:46, 22 October 15
2 more for me please.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 14:37, 22 October 15
When this comes I hope to see USB mouse support. And then support for it in symbos and futureos. And then finally in can sell my symbiface ii and move everything to m4x based expansions.

So happy ;)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 16:02, 22 October 15
Quote from: CraigsBar on 14:37, 22 October 15
When this comes I hope to see USB mouse support. And then support for it in symbos and futureos. And then finally in can sell my symbiface ii and move everything to m4x based expansions.

So happy ;)


Green light from my side.  :)  Already implemented a detection of the Albireo even before the hardware does exist. (Bit 1 of the first config byte was unused, now it tells if the USB port is present).  8)  Of course I honestly got no idea about USB programming, so I need some information about it. But a mouse it usually not that hard to implement.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 17:45, 22 October 15
You will need the CH375 datasheet for this, it has the command for communicating with a device that is not mass storage. It is a two part document, CH375DS1.pdf and CH375DS2.pdf. I'm not sure if the second part is available in english yet...


USB mouses (and keyboards, gamepads, etc) use the HID protocol above USB. There is a possibly complex setup phase (I'm not sure how much of this the CH376 handles for you), and then you can poll the device for periodic reports (usually at 125Hz but this is configurable). You get a report with the mouse buttons state, and dx/dy since the previous polling.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Bryce on 20:00, 22 October 15
The easiest way to host a USB mouse is to force it back into PS/2 mode, this is what my AMX Mouse adapter does. It has the disadvantage that fancy multi-speed 16 button gaming mice won't be supported, but 3 buttons and a scroll wheel are enough to support anything the CPC ever knew and a bit more.

Bryce.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:22, 22 October 15
This won't work here, the controller chip doesn't talk any PS/2. So yes, USB is more complex, but the hardware handles at least some of it, and it is only an extra functionality on this already feature packed board.

I ordered a first batch of components, so I can check on paper that everything fits the board as expected. I also double checked that the SD socket I used is hand solderable (it is!). Note that this socket is a bit unusual, it is not the type where you slide the card in, instead it opens and closes to lock the card in. This makes the pins under it a lot easier to reach. I hope no one has problems with that :)


I also made some last cleanups and changes to the PCB
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 17:39, 23 October 15
Hi, sorry for derailing a bit... can you tell more about the CURSOR signal? Is is a constant signal like 1 MHz or is it more complex?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Grim on 17:57, 23 October 15
Quote from: PulkoMandy on 20:22, 22 October 15I wired the CURSOR signal from the expansion port (from the CRTC) so it can be used as a cheap "timer" interrupt (it can trigger when the CRTC scan reaches a particular position on screen).
Won't that cause any problem with the PlayCity (http://www.cpcwiki.eu/index.php/PlayCity#Introduction)? Can it be made optional?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:50, 23 October 15
Quote from: TFM on 17:39, 23 October 15
Hi, sorry for derailing a bit... can you tell more about the CURSOR signal? Is is a constant signal like 1 MHz or is it more complex?


The CURSOR signal comes from the CRTC. It is meant to be used to draw a cursor on screen, but for some reason, people at Amstrad did not use it and instead decided to put it on the expansion port.


The signal triggers when the CRTC reaches a particular character and line, and it can also be made to blink (on for 16 frames, off for 16 frames). So, by setting the cursor at some position on screen, you can get a kind of "raster interrupt" that triggers when the CRTC reaches that line.


This is available on the PlayCity as well. On my board, the signal is wired to the serial controller which handles all the interruts. There is a mask to enable or disable all of them, and route them to either NMI or normal INT. I think this is enough to avoid interferences? (interrupts are disabled by default, if I did things right).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 20:58, 23 October 15
Quote from: PulkoMandy on 20:50, 23 October 15
The signal triggers when the CRTC reaches a particular character and line, and it can also be made to blink (on for 16 frames, off for 16 frames). So, by setting the cursor at some position on screen, you can get a kind of "raster interrupt" that triggers when the CRTC reaches that line.


Ah! Thanks! So I set the (invisible) CURSOR to one screen address, and if the beam reaches that spot, then the CURSOR pin provides a signal. This is once per FRAME I assume, right?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 21:25, 23 October 15
Yes, that's it.


The cursor is usually a block, so it could trigger several times (on 8 consecutive lines of a character for example, so one interrupt every line). But you can configure the cursor to be one single line as well.


The cursor is configured using registers 14 and 15 (character address, these work like R12 and R13) and R10 and R11 (line in the character). Some details here: http://www.6502.org/users/andre/hwinfo/crtc/crtc.html (http://www.6502.org/users/andre/hwinfo/crtc/crtc.html)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 21:57, 23 October 15

Thank you for your great explanation!  :) :) :)

My idea is at the side to have some FDC routines controlled by a 25 us NMI, so by "just" using the 2nd register set one could do a lot while loading data. However this may not be really easy, because the timing is really tight. My actual floppy routine need about 16 us per byte (iirc) by using an IN L,(C):JP (HL) construction. Now NMI handling is a few us in addition... we'll see.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 21:59, 23 October 15
 :o Huh... The Missing Link for configurable Rasterline-Interrupt?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 22:11, 23 October 15
Quote from: Grim on 17:57, 23 October 15Won't that cause any problem with the PlayCity (http://www.cpcwiki.eu/index.php/PlayCity#Introduction)?
Yes, it will cause conflicts with the PlayCity and should damage the CTC timer and trigger 1 by using CURSOR and NMI.
By the way, I don't understand why an USB board have to use those signals to properly work. Should conflict with the GA too.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 22:41, 23 October 15
You do not need to use any of this for just the USB part, of course. I'm just including these as extra features because I had some pins left to handle them, and I don't like unused pins much.


I dont understand what I could damage? I'm triggering interrupts with an open collector driver, just as the internal logic in the CPC. If the PlayCity doesn't handle that, how does it works? Are there schematics for it somewhere? As for the cursor signal, I'm only using it as an input, and I see no way this could damage anything. The only risk I see is triggering multiple interrupts at the same time, which is not really a problem and easily avoided if you program each device properly.


I know that the interrupts can conflict with the gate array, there are ways around that - either reset the GA counter often enough, or disable the INT and use NMI. I don't plan to use vectored interrupts. It is possible to check Albireo's status register, and if there are no flags set there, it means the interrupt came from the gate array or some other extension.


I'm out of dipswitches for hardware disabling of the cursor signal, but I can include a small solder link so it can be (relatively) easily disconnected.


I have started writing the developer documentation while I wait for the chips to be delivered. It is only an early draft now, but here you go: Shinra Team (http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 13:35, 24 October 15
Update of the developer guide, to explain the general design and feature set of the board, as well as the interrupt management: Shinra Team (http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Munchausen on 13:45, 24 October 15
Hey PulkoMandy, great board! I'd like to preorder 2 please! (hmm, still got to get a C4CPC)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 14:32, 24 October 15
Current waiting list
0 - PulkoMandy
1 - OffseT
2 - TFM (x2)
4 - ||C||-||E||
5 - majikeyric (x2)
7 - CraigsBar (x2)
9 - pelrun
10 - Optimus
11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 -


The first batch will be of 5 boards, if all goes well the next batch will be 50 boards (and a lot of work for me to assemble them). We'll see then if there are enough orders for a 3rd batch.
Title: Albireo - USB/SD/Serial interface for CPC
Post by: jrodriguezv on 18:40, 24 October 15
Hi! I would like to preorder two boards, please :-)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 19:00, 24 October 15

Quote from: PulkoMandy on 22:41, 23 October 15I dont understand what I could damage? I'm triggering interrupts with an open collector driver
When your board will trigger the NMI signal, it will go to the CTC Zc1/To1 output (not open drain).
About the CURSOR signal, I have said shit... Change nothing on your board for it.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: netmercer on 21:14, 24 October 15
Hi PulkoMandy!
I want to preorder one board, please.  :D

What you have been developed, seems to be very impressive !!!

Best regards
netmercer
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 16:33, 26 October 15
Quote from: TotO on 19:00, 24 October 15
When your board will trigger the NMI signal, it will go to the CTC Zc1/To1 output (not open drain).


Does this mean that if there is another board at the side of the PlayCity generating an NMI, that this will destruct the PlayCity? Can it be protected? Sorry for a basic question, but I guess a lot of people would like to know.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:55, 26 October 15
Quote from: TFM on 16:33, 26 October 15

Does this mean that if there is another board at the side of the PlayCity generating an NMI, that this will destruct the PlayCity? Can it be protected? Sorry for a basic question, but I guess a lot of people would like to know.  :)


Yes. This means it is incompatible also with the multiface 2 or anything generating an NMI. I don't know if it will destroy the CTC, but it will short circuit its output. Multiple options are possible:
* The CTC overheats and is destroyed
* The CTC "wins" and the NMI does not work
* The CTC is not destroyed, and things still work


The problem is on the PlayCity side, the interrupt and NMI signals are meant to be driven with open collector outputs to avoid this kind of conflict (otherwise there would be only one interrupt source). I can't do anything about it, except warning users of the problem and advising them to not use the NMI mode when they also have a PlayCity.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 17:44, 26 October 15
Thank's for the update. This is important information, especially since there is a MX4 version of the Multiface II (Talreks clone). So it's better to know about this issue.


Of course problems can be omitted by using the right kind of software, which only activates one NMI source at a time. However in case of the MF2 no software 'knows' when the user will press the button. So maybe a general warning about using the MF2 for all devices capable of generating an NMI would be good (on software side when using NMI features).  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 18:25, 26 October 15
Well, the problem is on the PlayCity side. I would have to check the multiface 2 schematics to know if it also has a problem. My board is doing things the "right way" and if everyone did the same, there would not be a problem here.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Bryce on 20:57, 26 October 15
Sorry to say it, but that's a really sloppy design if that's the case. Especially as it could have been easily avoided with a single diode.

Bryce.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 22:08, 26 October 15
Absolutly not... Just keep in mind that only one NMI source must exist into a computer design to work properly.
Chose if you want to use a Multiface II or a Playcity or ... But only one.
More that one NMI signal = Not Maskable Interrupt goes Maskable!  :picard:
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: gerald on 22:11, 26 October 15
Quote from: TotO on 22:08, 26 October 15
Just keep in mind that only one NMI source must exist into a computer design to work properly.
source ?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 22:15, 26 October 15

Not you...  :-\
NMI can't be vectored. Witch routine to exec to $0066 for witch device if you can't know who send it?
What is going if two NMI was received by the Z80 at the same time?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: gerald on 23:18, 26 October 15
Quote from: TotO on 22:15, 26 October 15
NMI can't be vectored. Witch routine to exec to $0066 for witch device if you can't know who send it?
What is going if two NMI was received by the Z80 at the same time?
NMI is usually reserved for system critical interrupt such as memory error detection, debugger ...
While it simplify the design, nothing forbid it to be driven by multiple devices with the help of an interrupt controller.

However, in the CPC case, you will have to handle the allowed source in SW.
Also, NMI is edge triggered. This mean that if a device is driving it low all time until acknowledged, any other source will not be able to trigger it and this can be a problem.

Now for the PlayCT NMI, if it is driven from the PLD, you just need to replace your output driver by a tri state on and only allow it to be driven low or high-Z. Or use a diode.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:08, 27 October 15
The interrupt routine could scan all devices to find which one triggers the NMI. I agree this can create problems if multiple sources are used at the same time, of course. But, this doesn't mean there can't be multiple sources, used one at a time. Something like this:
In that case, only one NMI at a time is used, and there is no problem handling them. During the program run, there is no problem (Albireo doesn't care what you do with the NMI line). But during the loading, PlayCity is trying to prevent Albireo to trigger an NMI?
There is also the same problem with the Mulitface design. There, there is no conflict, because when the MF2 triggers an NMI, it also maps in a ROM at &0066 to override the interrupt vector (yep, that's essentially a way to do vectored NMIs!). When the PlayCity NMI is triggered, it gets to the internal RAM or ROM (or whatever is mapped to the z80 at that time). Again, no conflict, except the PlayCity will be trying to keep the NMI signal high while the Multiface is trying to drive it low...


Another argument: on the CPC schematics, you can see that there is a pull-up on NMI to allow it to be used this way (same on BUSRQ for DMA transfers). (the pull up for INT is inside the gate array). It really shouldn't be an all-exclusive direct drive signal.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 11:21, 27 October 15
I have never seen any system designed to use more than one NMI signal.
In example, the PCW don't provide NMI on the expansion port because it is used by the FDC.

Looking the Z80 CPU datasheet, you can see that pull-up is only required for the INT applications.
The CPC was not designed to use more than one NMI signal, but to work if no NMI signal exist.
(the pull-up on the NMI pin is only here to avoid to indefinitely loop on the &0066 address)

By the way, the PlayCity (AKA CTC-AY) was designed to allow to free some CPC potential by mainly:
- Adding the missing Z80 counter/timer companion
- Fixing the IM2 mode to allow to use vector interrups
- Using the NMI signal as very high priority rasterlines generator
- Using CURSOR registers to acuratly configure them

It was not intended than other device use NMI while this board is plugged because that.
Sorry for the Off Topic. I stop here.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Bryce on 11:58, 27 October 15
The Commodore 64 has 3 devices connected to the /NMI.

Bryce.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 13:52, 27 October 15
Yes, and those 3 devices (CPU, CIA, CARTRIDGE) receive the NMI signal from the RESTORE key.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Shining on 14:22, 27 October 15
Please also count one for me....
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 15:39, 27 October 15
Ok, so taken all together, as long as we program responsible, it's not a problem with the NMIs.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Grim on 17:44, 27 October 15
All I would like to know is if the PlayCity can be fixed/protected, and how, so that it can not possibly be damaged by foreign NMIs, or not. Thank you.
Sorry if I give the impression of not caring at all about NMI theology and who's right and who's wrong, I really don't :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 18:15, 27 October 15
All you need is adding a diode between the CTC output and the NMI pin. I don't know how easy this is on the playcity, it depends on the PCB layout, if the chip is on socket, etc.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: archcosmo on 03:51, 28 October 15
Hi PulkoMandy

put me down for one unit please
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:05, 28 October 15
Current waiting list
0 - PulkoMandy
1 - OffseT
2 - TFM (x2)
4 - ||C||-||E||
5 - majikeyric (x2)
7 - CraigsBar (x2)
9 - pelrun
10 - Optimus
11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)

47 - netmercer
48 - Shining
49 - archosmo
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 11:46, 28 October 15
About this NMI thingy, does it mean that I can't make a program that receives data from the PC and them send to the Playcity in realtime? (else, big fire?)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:57, 28 October 15
Since Albireo is flexible, you can configure it to use the regular INT or no interrupts at all (and poll the status yourself).



OUT &FEB4, 0 ' No interrupts!
OUT &FEB4, 4 ' Interrupts on INT
OUT &FEB4, 8 ' Interrupts on NMI - Do not use with unpatched PlayCity!


See the programming manual for details on the interrupt management: http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml#heading_toc_j_13

Unrelated news: I'm getting the first package of components this evening, so I can start checking that all the IC footprints on the board have the correct size and that the ICs don't accidentaly overlap.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 16:20, 28 October 15
What's about this: NMI creating devices which are in danger could be placed on an adapter for MX4 boards. Ok, it gets probably about 2 cm higher, but this small adapter can hold the diode (or what ever suits best) to protect the card.
Still (in case I understood that) a careful way of coding would be enough to omit trouble, by doing this:
- Use NMIs of one source at a time
- Switch off NMIs when not needed

(That's what we have to do anyway if we don't want to face a crash after f.e. starting an new app or soft reset of the CPC).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Bryce on 16:32, 28 October 15
Quote from: TFM on 16:20, 28 October 15
What's about this: NMI creating devices which are in danger could be placed on an adapter for MX4 boards. Ok, it gets probably about 2 cm higher, but this small adapter can hold the diode (or what ever suits best) to protect the card.
Still (in case I understood that) a careful way of coding would be enough to omit trouble, by doing this:
- Use NMIs of one source at a time
- Switch off NMIs when not needed

(That's what we have to do anyway if we don't want to face a crash after f.e. starting an new app or soft reset of the CPC).

But there only is ONE device that needs the diode and that's the PlayCity. All other devices should have the NMI implemented correctly.

Bryce.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 16:38, 28 October 15
Quote from: Bryce on 16:32, 28 October 15
But there only is ONE device that needs the diode and that's the PlayCity. All other devices should have the NMI implemented correctly.
Bryce.

Well, then it would be nice to know:
- Which Diode
- Where to cut a line on the PCB
- Where to put the diode in
- In which direction

Of course a picture can tell it all. Now... I got the CPC-AY (predecessor of the PlayCity), in this case it may look different again. As you know I do the software, you do the hardware.  :laugh: :laugh: :laugh:  What I try to tell... not everybody will be perfect in soldering and will be able to patch the PlayCity, so IMHO it would be desirable to care about the problem from the software side (just to be on the save side).
As Grim I don't care who is right or wrong, just want to see it all running together in harmony.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:45, 28 October 15
Well, on the software side, all I can tell is "don't use NMI if you have a playcity connected". On the hardware side, I would like to help, but I don't have the PlayCity nor the CTC-AY, and there are no schematics or PCB drawings available as far as I know. Give me one of these and I can tell you where the fix goes.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 16:53, 28 October 15
Ok, so software is supposed to ask for PlayCity (or know it's presence by using some configuration bytes).


IMPOTANT: Auto detection of hardware need to be aware of this, speaking of FutureOS, maybe SymbOS and other applications.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 17:00, 28 October 15
Well, you can do everything in Albireo without using the NMI (using regular INT instead, or no interrupts at all and polling the status register). The test for Albireo does not need interrupts either, so you can safely detect both boards and then decide what to do with the interrupts.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 07:47, 29 October 15

@Grim (http://www.cpcwiki.eu/forum/index.php?action=profile;u=123): Since years, I have forget that PlayCity's NMI not came directly from the CTC but it was an inverted signal from the CPLD...
So, I should reprogram the CPLD to protect itself against external signals. (fixing with a diode will be a pain in ass)

@Targhan (http://www.cpcwiki.eu/forum/index.php?action=profile;u=110): If you use the Albireo board to communicate with the PC and not to play with NMI, it will be not a problem.

By the way, the real question is about the Z80 CPU... How it will work when connected to two NMI sources??? (or two signals NMI come to it at the same time)
The NMI pin is not open-drain as the INT pin, because the computer only have to receive one Not Maskable Interrupt.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 08:35, 29 October 15
I don't see a problem on the z80 side. There is an external pull-up which will make sure the pin stays high, unless one of the devices forces it to 0. There isn't anything special about the NMI or INT pin to handle that. The important thing is that devices driving the lines are only driving it low, and leave it floating when not in use. The pull-up will then do its job of raising the line high.


As I already mentionned, it is possible to vector NMIs, not using IM2 of course, but using other solutions like paging in different things at address 0x66 (the Multiface 2 pages in its internal ROM there, for example). And of course it's possible to mask/disable the NMIs on each device and use only one at a time, or, it is still possible to handle multiple ones, with some care in how the interrupt routine is written. In the case of Albireo, disabling its NMI output is possible, then interrupts from other devices can be checked and handled, then the Albireo one can be enabled again and it will trigger a new NMI if it has something new to say.


Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 09:33, 29 October 15
In this case, I will make a campain to update all the PlayCity boards.
But I remain skeptical about the fact of using more than one NMI.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 09:50, 29 October 15
Shared interrupt lines are nothing special - the handler just queries all the devices to find out which ones actually need attention when it's triggered. That actually requires that none of the devices are a special snowflake that assumes it's the only thing there and the interrupt is the only information it provides, which is pretty shortsighted.


The only thing different about an NMI compared to a normal maskable interrupt is that it's guaranteed to trigger the vector regardless of the state of the CPU - the DI/EI flag is ignored. That's it.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:09, 29 October 15
Actually, there is more to it, as Gerald already mentionned. On the z80, the INT signal is level triggered, but NMI is edge triggered. In simple cases, this doesn't matter, but imagine the following situations:


* One device triggers INT
* The z80 does an automatic DI and enters the interrupt handler code
* During the interrupt processing, another device triggers INT
* The z80 acknowledges the interrupt of the first device, and exits the interrupt handler (EI, RET)
* Because the second device is still holding INT low, immediately after the RET, the z80 enters the INT handler again (if using IM2, it goes to device 2 handler directly)
* The z80 can now process the interrupt from the second device


In the case of an NMI, it doesn't work this way. The NMI is "disabled" as long as the pin is held low.


* One device puts NMI low and holds it low
* The z80 enters the NMI handler
* Second device also pulls NMI low
* The z80 processes only the NMI from the first device
* The z80 exits the NMI routine, but the NMI line is still low because of device 2
* No NMIs can happen anymore!


This means the NMI handler must be carefully written to:
* Check ALL devices that could trigger an interrupt
* Disable the NMI on each device to make sure the NMI line goes up again (just acknowledging the interrupt is not enough, it must be locked at the "high" state until re-enabled by the CPU, providing a way to mask the NMI)
* Process all requests from the devices
* Finally, re-enable the NMI line of each device. If there is again an interrupt pending, we will enter the NMI handler again (before exiting it - we can't use the "EI/RET" trick of the regular INT here, where EI is effective only after RET is executed) - This means the NMI handler should also detect this condition and make sure to not overflow the stack by too many re-entries
* Do this in a loop until all devices are quiet again and there is no NMI to process anymore


Essentially, this emulates the behavior of INT in software.


There are other ways to handle this, for example the NMI handler could just increment a variable to signal that the NMI occured, then your main loop would check for that, do the actual processing and acknowledge each device.




And of course there is the case where you don't want to handle multiple NMIs at the same time. You first load something from Albireo (snapshot file, files from the USB, whatever), then you swithc Albireo interrupts off. Then, the program starts, and it uses the PlayCity after setting up its own handler. In this case there are no interrupt conflict problems, still the two devices have used the NMI at some point.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 12:03, 29 October 15
Z80 Family Interrupt Structure (http://www.z80.info/1653.htm)
Cant this be solved by Daisy-Chaining? IE1 of Albireo to IE0 of Playcity?

Or do we need something like a MX4 Mk.II with an Interruptcontroller like Intel 8259 to get a "real" Expansionport-system like ISA?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 12:24, 29 October 15
For normal interrupts, there is no problem.
For NMI, the z80 does not acknowledge the interrupt, so I'm not sure the daisy chaining would work.


An interrupt controller (or even just a priority encoder between different interrupt lines) would work, but may make things even more complex. Also I'm not sure it would mix well with the z80 (using IM2 for example).


These solutions are nice but they require moving away from the expansion port as designed by Amstrad (adding more signals, etc). It is then time to consider using a more standard bus, maybe ISA from PC, or S-100 from earlier machines starting with the Altair. This was already done in the form of the CPC-ISA :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 13:40, 29 October 15
Quote from: PulkoMandy on 10:09, 29 October 15
Actually, there is more to it, as Gerald already mentionned.


I didn't explain the steps, doesn't mean I don't know what they are :) I consider that a pretty standard handler design for that sort of interrupt hardware.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 14:43, 29 October 15
You really want to see the CPC working like a PC 8088?  :picard2:
Better to return to the original topic subject...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: arnoldemu on 15:00, 29 October 15
Quote from: PulkoMandy on 10:09, 29 October 15
* One device puts NMI low and holds it low
Do not assume this. I expect devices to pulse NMI. (hold it low for a short time)

You already gave the reasons:
- no way for device to know NMI interrupt handler has been executed and completed
- no masking of NMI

So I think it's only safe for 1 device to issue NMI because then you know your code will not be interrupted.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 15:23, 29 October 15
Well, Albireo at least uses level interrupts. As long as it holds the NMI low, no other device can re-enter the NMI handler. Only when the interrupt is acknowledged, the NMI goes high again and a new interrupt can be triggered. This provides a way to "lock" the NMI and make sure it doesn't get nested too early.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 17:06, 29 October 15
IMHO we should use the NMI only if we really need it. For anything else the INT does just fine.  :)


Let me elaborate on this: The gain of the NMI it that it will happen immediately, so its usage is for very time critical things (rasters, FDC I/O, cyberwar). In case there would be more than one NMI sources 'firing' at one the routine would need to find out which one it is. So all the speed gain is lost, all the precision is lost.
:)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Grim on 19:50, 29 October 15
While developing software tinkering with NMIs and along the way, inevitably, some bugs happen (they always do), damaging or destroying one of your board: Premature end of development, beach-time aye! :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: awergh on 12:37, 30 October 15
I would like to order one to if im not too late.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 12:40, 30 October 15
Current waiting list
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Ast on 17:57, 30 October 15
As you can see, it's not too late... Thanks Pulko !
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:00, 30 October 15
50 - that's a decent number for preorders!  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:23, 30 October 15
The plan is to do a first batch of 5 boards (collector v0.9 edition), and if everything works fine on those, a second batch of 50 (or else, a second batch of 50 after fixing all the issues).


Progress report
After some difficulties with getting the packages (due to me getting only one tracking number when there were 4 packages), I now have all components for the first 5 boards (and some for the next 50 already). I'm still waiting for the main part, the CH376 USB controller, which I ordered from a different supplier.
This means I can start checking the board layout in real life and make sure all the footprints are correct and the chips will fit in place. Then, I can order the PCBs and start assembling them.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 21:47, 30 October 15
Dear community don't beat me up for this, but...


IMHO it would be a good idea to sell these 5 board on ebay (after they did their duty and are of no more use). That way the development would be funded and the producer would receive so kind of "compensation" for the development process.  ;)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 22:39, 30 October 15
Well I have a better idea: why aren't the first guys being given their hardware are the one that actually PAY Pulko for his work?


Pulko, how do you want to be paid (Paypal? Cheque?)? I wouldn't want you to go bankrupt because of all this...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Ast on 01:21, 31 October 15
Quote from: Targhan on 22:39, 30 October 15
Well I have a better idea: why aren't the first guys being given their hardware are the one that actually PAY Pulko for his work?


Pulko, how do you want to be paid (Paypal? Cheque?)? I wouldn't want you to go bankrupt because of all this...
More if affinity ?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 08:44, 31 October 15
I will of course not send board to people who didn't pay. I can accept standard bank transfer (for everyone in euro-zone) or paypal (for international orders). If you want to bypass the waiting list, the best way is probably to meet me at some demoparty (I usually attend Forever and ReSeT) and get your board there (you also save the shipping price).


I don't want people to pay for the board more than it's worth (especially for the first prototypes). So I won't put them on an ebay bid myself. If you want to make me happy, you can:
I don't want to accept payments in advance, because it would put me under pressure to deliver the boards quickly. As long as no one has paid, I can cancel the project at any time if things goes wrong, or hand it over to someone else (anyone wants to help assembling the boards?).


I will ship the boards in the order of the waiting list, unless people want to be moved down in the list to make sure people actually interested in writing software (not just using already existing tools) get their boards first. OffseT and TFM are already at the top, and they plan to write support for Mass storage under AMSDOS and networking under FutureOS, respectively (if I followed things correctly).


So, if you have a planned use for the board already, just talk about it here and try to get people to move after you in the list because they want your software  :D . Don't worry, eventually everyone will get a board.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Dubliner on 19:16, 02 November 15
You can actually put me in a lower place of the waiting list. Since i can't develop anything myself, let's give others the chance of getting it earlier and develop something nice for the comunity :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 22:28, 03 November 15
Quote from: Dubliner on 19:16, 02 November 15
You can actually put me in a lower place of the waiting list. Since i can't develop anything myself, let's give others the chance of getting it earlier and develop something nice for the comunity :)
Me too. That's 2 more early boards for the developers out there

Sent from my A3-A30 using Tapatalk

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 23:05, 03 November 15
Ok, so hands up eveybody who is willing to develop something for the Albireo!
(I do, but who else does? Or plans to do?)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 23:40, 03 November 15
I am, but I will first make very raw tools (and I'm currently too busy... Maybe at the beginning of the next year).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 00:03, 04 November 15
Drivers are beyond my knowledge but i plan to adapt my project for it as the ch376 allows low-level-sector access. I hope that MX-MASS gets this low-level functions too. Im afraid of the drive torturing with its continuous sector accesses and motor starts and stops...
But there is no need to put me on a higher rank on the list. i am happy there, where i am.

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:27, 04 November 15
Which motor do you mean?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 21:54, 04 November 15
The Motor(s) of the Disk drive. U4s overworld is 64bk in size, divided into heaps of 256 tiles of 256bytes. Reading new Tiles each 22 steps in one of the directions on the world done...
Motorstops, Motorstarts, Head positioning... etc, you han hear that in Winape. Thats what i mean by torturing the drive; hardware isn't getting younger.



Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 22:05, 04 November 15
[ot]
@Fessor (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1495) : your drive is stronger than you think, and no driver should mess with it. However, I think your game simply needs optimization. You shouldn't rely on the drive too much. Don't hesitate to ask for advice (in another thread... :)).[/ot]
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 23:48, 04 November 15
Quote from: Fessor on 21:54, 04 November 15
The Motor(s) of the Disk drive. U4s overworld is 64bk in size, divided into heaps of 256 tiles of 256bytes. Reading new Tiles each 22 steps in one of the directions on the world done...
Motorstops, Motorstarts, Head positioning... etc, you han hear that in Winape. Thats what i mean by torturing the drive; hardware isn't getting younger.


You can leave the motor on in "times" you need to load a lot. For the belt it's good that it gets moved. My first drive belt in my first drive made it up to now, because it's working more often. Not using it may be a bigger thread. But that's just my experience.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: wilco2009 on 20:52, 06 November 15

Great!!!   :o

It is possible to get one yet?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Grim on 03:51, 21 November 15
Quote from: TotO on 07:47, 29 October 15
@Grim (http://www.cpcwiki.eu/forum/index.php?action=profile;u=123): Since years, I have forget that PlayCity's NMI not came directly from the CTC but it was an inverted signal from the CPLD...
So, I should reprogram the CPLD to protect itself against external signals. (fixing with a diode will be a pain in ass)

@TotO (http://www.cpcwiki.eu/forum/index.php?action=profile;u=290) : Late reply, as I successfully missed to read this so far, erm ... sorry for that :/
So, if I ordered a PlayCity, say around next month, this alleged Death by NMI problem would be fixed? Or should I delay my Geekmas a bit? (pani pwoblem, my CTC-AY prototype can keep working in the mean time :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 09:01, 21 November 15
Yes, it is.
I will made the global update after Geekmas for others.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 23:00, 15 December 15
Current waiting list
0 - PulkoMandy
1 - OffseT
2 - TFM (x2)
4 - ||C||-||E||
5 - majikeyric (x2)
7 - CraigsBar (x2)
9 - pelrun
10 - Optimus
11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009

= Some news =

So, some weeks ago I received the PCBs. I assembled one board, fixed a mismatched resistor value and got most of the serial port part working (the board is recognized by my PC on USB, I could configure the FTDI chip as I wanted, and the UART is detectde by the CPC). I haven't tested actually sending and receiving bytes yet, but I don't expect much problems on that side. If someone already started writing some test code for the serial port, I can try to run it now.

On the mass storage side, I haven't managed to get the CPC to talk with the CH376 controller. This is strange, because a very similar design was working just fine on the prototype board. It could be a defective chip or maybe it was damaged during my experiments. I reviewed my schematics several time but I can't see a problem. I will try to assemble a second board and see if I get the same problem.


There are some minor problems with the PCB routing, mostly the footprint for the CH376 being slightly too wide. I will fix this, and it means the final version of the PCB may have enough space for an activity led which I couldn't fit on the prototypes.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 23:09, 15 December 15
Good luck! [nb]If an error can't be found quick, sometimes it helps to do something else and go back later.  :) [/nb]
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: wilco2009 on 23:16, 15 December 15
Nice!.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:07, 16 December 15
Current waiting list
0 - PulkoMandy
1 - OffseT
2 - TFM (x2)
4 - ||C||-||E||
5 - majikeyric (x2)
7 - CraigsBar (x2)
9 - pelrun
10 - Optimus
11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 09:02, 16 December 15
Thanks for the update man! Do take your time in ironing out any difficulties, no need to rush it :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 17:44, 16 December 15
I wonder that @Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13) is missing out on this, it would be the perfect network hardware for his Symbos network software - or maybe I got something wrong. However, this nice Albireo will open new worlds for the CPC.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 17:56, 20 December 15
Some progress today: I found the problem with the USB controller wiring and I got the boards to read the directory from an USB drive with my BASIC test program. The first 5 boards will come with a patch-wire to fix the problem.

I also had a problem with the SD connector, some pins were swapped. I could fix this, also with some extra wires.

Before shipping, I'd also like to test that the serial port is working. For this someone has to write a little test program, setting up the serial port and sending/receiving some bytes. If no one does it I'll write one myself, but that may delay the shipping of the boards.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:09, 25 December 15
Please delay for shipping for 1-2 month. I face private problems. Thank you.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 15:23, 26 December 15
Already shipped
0 - PulkoMandy
1 - OffseT
OffseT will be writing the filesystem drivers, which will make the board a lot more useful out of the box. TFM shipment delayed as requested.
@||C||-||E||, @majikeyric (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1497): I can send you two prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list

2 - ||C||-||E||
3 - majikeyric (x2)
5 - TFM (x2)
7 - CraigsBar (x2)
9 - pelrun
10 - Optimus
11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: majikeyric on 16:55, 26 December 15
Hi Pulko!
I prefer waiting for the final board. I'm not in hurry.
Thanks :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 18:34, 26 December 15
Already shipped
0 - PulkoMandy
1 - OffseT


OffseT will be writing the filesystem drivers, which will make the board a lot more useful out of the box. TFM shipment delayed as requested.
@||C||-||E||, @craigsbar (http://www.cpcwiki.eu/forum/profile/?u=1497): I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list
Prototype boards2 - ||C||-||E||
3 - CraigsBar (x1)
4 - TFM (x1)

Final version
5 - majikeyric (x2)
7 - CraigsBar (x1)
8 - TFM (x1)
9 - pelrun
10 - Optimus
11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 18:57, 27 December 15
59 units - not bad :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ||C|-|E|| on 20:17, 27 December 15
Hello!

Sorry for my late reply! (I am still on holidays) I would prefer to wait for the final version of the board, I am not in a hurry right now!  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 22:18, 27 December 15
Already shipped
0 - PulkoMandy
1 - OffseT


@craigsbar, [url=http://www.cpcwiki.eu/forum/index.php?action=profile;u=1106]#smfpackscodepelrun (http://www.cpcwiki.eu/forum/profile/?u=1497)[/url]: I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list
Prototype boards
2 - CraigsBar (x1)
3 - pelrun
4 - TFM (x1)

Final version
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x1)
9 - TFM (x1)

10 - Optimus
11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 02:27, 28 December 15
Put me down for the final version, thanks.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:23, 28 December 15
Already shipped
0 - PulkoMandy
1 - OffseT


@craigsbar, (http://www.cpcwiki.eu/forum/profile/?u=1497) @Optimus (http://www.cpcwiki.eu/forum/index.php?action=profile;u=39): I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list
Prototype boards
2 - CraigsBar (x1)
3 - Optimus
4 - TFM (x1)

Final version
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x1)
9 - TFM (x1)
10 - pelrun

11 - AsT
12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 14:29, 28 December 15
I am happy to wait for the final version. Let the guys who will be coding for these get them first.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: tonio8bits on 16:41, 28 December 15
Final version for me too, please ! :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 17:55, 28 December 15
Already shipped
0 - PulkoMandy
1 - OffseT


@Optimus (http://www.cpcwiki.eu/forum/index.php?action=profile;u=39), @Ast (http://www.cpcwiki.eu/forum/index.php?action=profile;u=573) : I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list
Prototype boards
2 - AsT
3 - Optimus
4 - TFM (x1)

Final version
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x2)
10 - TFM (x1)
11 - pelrun


12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Apollo on 22:43, 28 December 15
Hi Pulko, just found this thread and I must say, great project!
Can I still order 2x boards?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 14:40, 29 December 15
Already shipped
0 - PulkoMandy
1 - OffseT

Boards number 2 and 3 are ready for shipping.
@Optimus (http://www.cpcwiki.eu/forum/index.php?action=profile;u=39), @Ast (http://www.cpcwiki.eu/forum/index.php?action=profile;u=573) : I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list
Prototype boards
2 - AsT
3 - Optimus
4 - TFM (x1)

Final version
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x2)
10 - TFM (x1)
11 - pelrun


12 - Gryzor
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
53 - Apollo (x2)
55 - One board left in the second batch!

The second batch will be 50 boards. I don't know if there will be another run after that (I will be very bored of soldering and assembling all the boards).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Ast on 18:45, 29 December 15
Can you send/show us any pictures of the board ?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 19:29, 29 December 15
There was a 3D rendering posted earlier (see page 2 of the topic). I will post pictures of the actual boards when I'm back home, next week.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: dxs on 00:02, 30 December 15
@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26) please put me in for the very last board thanks!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:46, 31 December 15
Already shipped
0 - PulkoMandy
1 - OffseT

Boards number 2 and 3 are ready for shipping.
@Gryzor (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1), @Ast (http://www.cpcwiki.eu/forum/index.php?action=profile;u=573) : I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list

Prototype boards (batch 0)
2 - AsT
3 - Gryzor
4 - TFM (x1)

Final version (batch 1)
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x2)
10 - TFM (x1)
11 - pelrun
12 - Optimus

waiting list
13 - hsimpson
14 - SOS
15 - tonio8bits (x2)
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
53 - Apollo (x2)
55 - dxs

The batch will be 50 boards. I don't know if there will be another run after that (I will be very bored of soldering and assembling all the boards).

waiiting list (batch 2)
56 - No one in this batch yet!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Ast on 20:25, 02 January 16
Hi, after a little reflexion, i prefer waiting for the final version.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:55, 02 January 16
Already shipped
0 - PulkoMandy
1 - OffseT

Boards number 2, 3 and 4 are ready for shipping.
@hsimpson (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1433), @SOS (http://www.cpcwiki.eu/forum/index.php?action=profile;u=941) : I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list

Prototype boards (batch 0)
2 - Gryzor
3 - hsimpson
4 - SOS

Final version (batch 1)
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x2)
10 - TFM (x2)
12 - pelrun
13 - Optimus
14 - Ast
15 - tonio8bits (x2)

waiting list
17 - Audronic
18 - gros_minet
19 - Fessor
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
53 - Apollo (x2)
55 - dxs

The batch will be 50 boards. They will be ordered soon.

I don't know if there will be another run after that (I will be very bored of soldering and assembling all the boards). You can still put orders on the waiting list and we'll see then.

waiiting list (batch 2)
56 - No one in this batch yet!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: hsimpson on 21:36, 02 January 16
I prefer finał version board.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 22:00, 02 January 16
I also Prefer the Final Board


Thanks    Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 22:23, 02 January 16
Already shipped
0 - PulkoMandy
1 - OffseT

Boards number 2, 3 and 4 are ready for shipping.
@Fessor (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1495) , @gros_minet (http://www.cpcwiki.eu/forum/index.php?action=profile;u=479) : I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Current waiting list

Prototype boards (batch 0)
2 - Gryzor
3 - gros_minet
4 - Fessor

By popular demand, some pictures of the prototypes. As you can see the patches aren't that bad, I'm sure you can live with that:
[attachimg=1]
[attachimg=2]

Final version (batch 1)
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x2)
10 - TFM (x2)
12 - pelrun
13 - Optimus
14 - Ast
15 - tonio8bits (x2)
17 - hsimpson
18 - SOS
19 - Audronic

waiting list
20 - Sykobee (Briggsy)
21 - skywalky
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
53 - Apollo (x2)
55 - dxs

The batch will be 50 boards. They will be ordered soon.

I don't know if there will be another run after that (I will be very bored of soldering and assembling all the boards). You can still put orders on the waiting list and we'll see then.

waiiting list (batch 2)
56 - No one in this batch yet!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 10:07, 03 January 16
Quote from: PulkoMandy on 22:23, 02 January 16
Boards number 2, 3 and 4 are ready for shipping.
@Fessor (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1495) , @gros_minet (http://www.cpcwiki.eu/forum/index.php?action=profile;u=479) : I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

I prefer the final version.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 17:43, 03 January 16
Already shipped
0 - PulkoMandy
1 - OffseT

Boards number 2, 3 and 4 are ready for shipping.
@Sykobee (Briggsy) (http://www.cpcwiki.eu/forum/index.php?action=profile;u=100) , @skywalky (http://www.cpcwiki.eu/forum/index.php?action=profile;u=900)  : I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

Information about payments
I only have 3 boards to be shipped now, so I don't want to accept payments for the 50 next boards, yet. Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you). An exception is if you want to get one of the prototype boards, in that case, contact me now and I'll ship it to you immediately and give you payment details.

I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

Current waiting list

Prototype boards (batch 0)
2 - Gryzor
3 - Sykobee (Briggsy)
4 - skywalky

Final version (batch 1)
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x2)
10 - TFM (x2)
12 - pelrun
13 - Optimus
14 - Ast
15 - tonio8bits (x2)
17 - hsimpson
18 - SOS
19 - Audronic
20 - gros_minet
21 - Fessor


waiting list
22 - Jungsi
23 - Poliander
24 - Yannis_uno
25 - Rennert
26 - HAL6128
27 - Joseman
28 - Tai
29 - Grim
30 - reidrac
31 - cosa_nostra_6128
32 - Targhan
33 - oratyper
34 - NiNxPe
35 - Vandalsk (x2)
37 - Dirtybb
38 - Dubliner
39 - ronaldo (x2)
41 - cpcmaniaco (x2)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
53 - Apollo (x2)
55 - dxs

The batch will be 50 boards. They will be ordered soon.

I don't know if there will be another run after that (I will be very bored of soldering and assembling all the boards). You can still put orders on the waiting list and we'll see then.

waiiting list (batch 2)
56 - No one in this batch yet!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Cpcmaniaco on 04:05, 04 January 16
I wanted, 1 of the prototype boards and 1 final version of the 2 boards I tell you on the number 41.


Perhaps you can send me now the prototype if you like it, or I can wait until you have the final version and send me the 2 versions together.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 21:23, 04 January 16
Already shipped
0 - PulkoMandy
1 - OffseT

Boards number 2, 3 and 4 are ready for shipping.
@Sykobee (Briggsy) (http://www.cpcwiki.eu/forum/index.php?action=profile;u=100) : I can send you prototype boards (with patch-wires to fix the issues I discovered), or you can wait a bit and get the final version of the board without the patches. What do you prefer?

If there is a hardware problem, you can send the board back to me and I'll fix or replace it. So don't worry about getting a prototype. (and if you get a final version, I will do the same, because I don't want the boards to be thrown away in case of problems).

Information about payments
I only have 3 boards to be shipped now, so I don't want to accept payments for the 50 next boards, yet. Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you). An exception is if you want to get one of the prototype boards, in that case, contact me now and I'll ship it to you immediately and give you payment details.

I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

Current waiting list

Prototype boards (batch 0)
2 - Gryzor
3 - cpcmaniaco (x1)
4 - Sykobee (Briggsy)

Final version (batch 1)
5 - ||C||-||E||
6 - majikeyric (x2)
8 - CraigsBar (x2)
10 - TFM (x2)
12 - pelrun
13 - Optimus
14 - Ast
15 - tonio8bits (x2)
17 - hsimpson
18 - SOS
19 - Audronic
20 - gros_minet
21 - Fessor


waiting list
22 - skywalky
23 - Jungsi
24 - Poliander
25 - Yannis_uno
26 - Rennert
27 - HAL6128
28 - Joseman
29 - Tai
30 - Grim
31 - reidrac
32 - cosa_nostra_6128
33 - Targhan
34 - oratyper
35 - NiNxPe
36 - Vandalsk (x2)
38 - Dirtybb
39 - Dubliner
40 - ronaldo (x2)
42 - cpcmaniaco (x1)
43 - Munchausen (x2)
45 - jrodriguezv (x2)
47 - netmercer
48 - Shining
49 - archosmo
50 - awergh
51 - wilco2009
52 - dodogildo
53 - Apollo (x2)
55 - dxs

The batch will be 50 boards. They will be ordered soon.

I don't know if there will be another run after that (I will be very bored of soldering and assembling all the boards). You can still put orders on the waiting list and we'll see then.

waiiting list (batch 2)
56 - No one in this batch yet!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: dirtybb on 09:10, 05 January 16
Hello,
I can wait for the  final version, ty


Envoyé de mon iPhone en utilisant Tapatalk
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 11:33, 05 January 16
I recognized this a little bit late, great project, finally we have this on the CPC, fantastic, PulkoMandy!  :o :)

Of course I am interested in this hardware as well, especially for SD card, USB mass storage, USB mouse and of course network (via bridge) support in SymbOS.
Not sure, if it's still possible to order it, if yes, I would be interested in:
1x as soon as possible in whatever condition
1x final version
CU,
Prodatron
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 19:22, 05 January 16
This is embarassing, as the preorder list for the first batch of boards is already complete. I don't mind shipping you one of the prototype boards, but it will shift all orders down, and the last person to order will not get a board from the first batch.
@dxs (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1074): is it ok if I move you to the second batch? Or, does someone else want to delay his order to the second batch so Prodatron can get a board to work on SymbOS support?

Also, an update: I have ordered the PCBs for the second batch. It will take a few days or weeks before I get them. Please be patient :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 21:09, 05 January 16
Quote from: PulkoMandy on 19:22, 05 January 16
This is embarassing, as the preorder list for the first batch of boards is already complete. I don't mind shipping you one of the prototype boards, but it will shift all orders down, and the last person to order will not get a board from the first batch.
@dxs (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1074): is it ok if I move you to the second batch? Or, does someone else want to delay his order to the second batch so Prodatron can get a board to work on SymbOS support?

Also, an update: I have ordered the PCBs for the second batch. It will take a few days or weeks before I get them. Please be patient :)


Hi! He can have one of my boards and you set my 2nd board at the end of the list. No problem!  :)

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Munchausen on 21:46, 05 January 16
Was going to offer the same as TFM... offer is there anyway :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: dodogildo on 00:29, 06 January 16


Quote from: PulkoMandy on 19:22, 05 January 16

@dxs (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1074): is it ok if I move you to the second batch? Or, does someone else want to delay his order to the second batch so Prodatron can get a board to work on SymbOS support?


Wouldn't it be cooler to delay one piece of x2 orders to the 2nd batch instead of moving @dxs?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: dxs on 00:37, 06 January 16
Hi, being the last one ordering do what you think is best. Happy soldering btw I know how boring this can be...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 17:43, 06 January 16
Quote from: dxs on 00:37, 06 January 16
Hi, being the last one ordering do what you think is best. Happy soldering btw I know how boring this can be...


Oh yes, I'm soldering too at the moment... nice job for weekends  :-X  Since I will really busy this month it's just fine to leave one of my Albis for prodatron, he waits already too long for CPC networking hardware.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:25, 09 January 16
Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

You can pay either using paypal or a bank account transfer. The price is 20 euros, or 24 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.

If there is a hardware problem, you can send the board back to me and I'll fix or replace it. So don't worry about getting a prototype. (and if you get a final version, I will do the same, because I don't want the boards to be thrown away in case of problems).

Already shipped (with tracking numbers for those who chosen tracked shipping)
Batch 1 waiting list
Status: the PCBs have been ordered, it can take a few weeks before I get them. I have parts of the components to solder, and will order the remaining part when the PCBs are shipped.



  • 4 - cpcmaniaco (x1, prototype board)
  • 5 - ||C||-||E||
  • 6 - majikeyric (x1)
  • 7 - CraigsBar (x2)
  • 9 - TFM (x2)
  • 11 - pelrun
  • 12 - Optimus
  • 13 - Ast
  • 14 - tonio8bits (x2)
  • 16 - hsimpson
  • 17 - SOS
  • 18 - Audronic
  • 19 - gros_minet
  • 20 - Fessor
  • 21 - Sykobee (Briggsy)

  • 22 - skywalky
  • 23 - Jungsi
  • 24 - Poliander
  • 25 - Yannis_uno
  • 26 - Rennert
  • 27 - HAL6128
  • 28 - Joseman
  • 29 - Tai
  • 30 - Grim
  • 31 - reidrac
  • 32 - cosa_nostra_6128
  • 33 - Targhan
  • 34 - oratyper
  • 35 - NiNxPe
  • 36 - Vandalsk (x2)

  • 38 - Dirtybb
  • 39 - Dubliner
  • 40 - ronaldo (x2)
  • 42 - cpcmaniaco (x1)
  • 43 - Munchausen (x2)
  • 45 - jrodriguezv (x2)
  • 47 - netmercer
  • 48 - Shining
  • 49 - archosmo
  • 50 - awergh
  • 51 - wilco2009
  • 52 - dodogildo
  • 53 - Apollo (x2)
  • 55 - dxs
Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: AlexD on 19:55, 09 January 16
Hi there, this project really looks cool!
Is it still possible to order one board ?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:38, 09 January 16
Yes, it is. I'm waiting for the 50 next boards to be delivered so I can assemble and ship them.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: AlexD on 21:18, 09 January 16
then count me for one board :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 09:38, 10 January 16
So this is heading to 100 units then! :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 10:00, 10 January 16
Poor Pulko... A pain in ass to solder all before next christmas!  ;D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:04, 10 January 16
Quote from: Gryzor on 09:38, 10 January 16
So this is heading to 100 units then! :)


We'll see, maybe the second batch will be smaller if there aren't much more orders. But I guess there may be a new wave of interested buyers for each new software supporting the board, so now that OffseT and Prodatron are working on that, let's see what happens!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Dizrythmia on 03:43, 11 January 16
Quote from: PulkoMandy on 10:04, 10 January 16

We'll see, maybe the second batch will be smaller if there aren't much more orders. But I guess there may be a new wave of interested buyers for each new software supporting the board, so now that OffseT and Prodatron are working on that, let's see what happens!
No offense, but that's what I'm waiting for. I'm sure it's an amazing piece of kit but I want to see what software support ends up happening with it first :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:28, 11 January 16
Yes, I'm actually quite suprised that 50 people are ready to order the board even if it was clearly mentionned that it currently comes with no software.


Some news on the "batch 1" boards:
The PCBs are on the way from China. I also ordered the missing components during the week-end.


And, I have to fixup the pricing. I soled the prototypes for 20 euros or 24 euros with tracked shipping. However, I will have to raise the price a bit for the final version. The change covers for:

So, the price will be:
This is as was originally announced in the first post.

If you already paid for your boards, no need to adjust anything - christmas rebate for you! This only applies to payments made from now on.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Munchausen on 11:11, 11 January 16
Quote from: PulkoMandy on 09:28, 11 January 16
Yes, I'm actually quite suprised that 50 people are ready to order the board even if it was clearly mentionned that it currently comes with no software.

A community that is enthusiastic for new hardware can only be good - maybe it's because there's been so much good new hardware lately. Anyway, the board is more likely to get software support when >50 people have one :D. Also, it seems like quite minimal software effort (comparatively) is needed to get access to FAT USB/SD drives.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: reidrac on 11:31, 11 January 16
Quote from: PulkoMandy on 09:28, 11 January 16
Yes, I'm actually quite suprised that 50 people are ready to order the board even if it was clearly mentionned that it currently comes with no software.

There's always the option to wait until someone else cracks the problem, but when you said we had to write drivers, I assumed that the hardware comes with documentation to do that.

Is there any chance to get some docs to look at before the hardware is ready?

I fancy giving it a go myself (given the time); and I assume that there's a risk obviously (hardware with no software, there's a chance that it won't do what it says on the tin).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:15, 11 January 16
There is some documentation available.

Some basic description of the hardware and wiring:
Shinra Team (http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml)

The datasheets for the components:
[ul]
[/ul]

A test program I wrote in BASIC (with access to SD and USB and reading the root directory entries):
http://pulkomandy.tk/drop/ch376.bas (http://pulkomandy.tk/drop/ch376.bas)

The general workflow is (not all steps are used for all commands):
[ul]
[/ul]

Of course, if you have questions, I can try to answer them.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:10, 13 January 16
Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.

If there is a hardware problem, you can send the board back to me and I'll fix or replace it. So don't worry about getting a prototype. (and if you get a final version, I will do the same, because I don't want the boards to be thrown away in case of problems).

Already shipped (with tracking numbers for those who chosen tracked shipping)
Batch 1 waiting list
Status: the PCBs have been ordered, it can take a few weeks before I get them. I have parts of the components to solder, and will order the remaining part when the PCBs are shipped.



       
  • 4 - cpcmaniaco (x1, prototype board)
  • 5 - ||C||-||E||
  • 6 - majikeyric (x1)
  • 7 - CraigsBar (x1)
  • 8 - TFM (x1)
  • 9 - pelrun
  • 10 - Optimus
  • 11 - Ast
  • 12 - tonio8bits (x2)
  • 14 - hsimpson
  • 15 - SOS
  • 16 - Audronic
  • 17 - gros_minet
  • 18 - Fessor
  • 19 - Sykobee (Briggsy)

       
  • 20 - skywalky
  • 21 - Jungsi
  • 22 - Poliander
  • 23 - Yannis_uno
  • 24 - Rennert
  • 25 - HAL6128
  • 26 - Joseman
  • 27 - Tai
  • 28 - Grim
  • 29 - reidrac
  • 30 - cosa_nostra_6128
  • 31 - Targhan
  • 32 - oratyper
  • 33 - NiNxPe
  • 34 - Vandalsk (x2)

       
  • 36 - Dirtybb
  • 37 - Dubliner
  • 38 - ronaldo (x2)
  • 40 - cpcmaniaco (x1)
  • 41 - Munchausen (x2)
  • 43 - jrodriguezv (x2)
  • 45 - netmercer
  • 46 - Shining
  • 47 - archosmo
  • 48 - awergh
  • 49 - wilco2009
  • 50 - dodogildo
  • 51 - Apollo (x2)
  • 53 - dxs
  • 54 - AlexD
  • 55 - jaime
Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: HAL6128 on 21:26, 13 January 16
Quote from: PulkoMandy on 20:15, 11 January 16
Some basic description of the hardware and wiring:
Shinra Team (http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml)
...
A test program I wrote in BASIC (with access to SD and USB and reading the root directory entries):
http://pulkomandy.tk/drop/ch376.bas (http://pulkomandy.tk/drop/ch376.bas)

The general workflow is (not all steps are used for all commands):
[ul]
  • Send a command byte
  • Send parameters
  • Wait for INTERRUPT (either a real interrupt if you setup the interrupt routing on Albireo, or polling bit 7 of the status register)
  • Use command 22 to get operation status
  • Use command 27 to get result data
[/ul]

Of course, if you have questions, I can try to answer them.
At first sight it looks very easy in handling it, even in BASIC (...I'm really not a very advanced nor a good programmer). Therefore my question: I understand the polling principle? During polling I'm not able to do anything parallel, because I always check some status bits. "Waiting for an interrupt" sounds for me, that I'm able to do other things and an interrupt interrupts my program somewhere? How do my program know if an interrupt emerge? Is it possible to do that in BASIC? (Is this a stupid question?)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 08:50, 14 January 16
It will be difficult to use the interrupts from pure BASIC, because it makes no plans for external interrupts (you only have the AFTER and EVERY statements, but these are not enough as they are designed to wait for the Gate Array interrupts).


As the first boards are being delivered, I got questions about the SD card socket. It is not a push/push or push/pull type as usual. You need to unlock it by pulling it towards the top of the board, theen lift it open like this: http://www.digikey.com/-/media/Images/Product%20Highlights/H/Hirose%20Electric%20Co%20Ltd/Hirose%20DM3CS%20Connector/hirose-dm3cs-2.jpg?la=en&ts=385828a8-3d05-4bba-ad73-95667476d7eb (http://www.digikey.com/-/media/Images/Product%20Highlights/H/Hirose%20Electric%20Co%20Ltd/Hirose%20DM3CS%20Connector/hirose-dm3cs-2.jpg?la=en&ts=385828a8-3d05-4bba-ad73-95667476d7eb) . Then you insert the microSD card and close it.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 15:37, 17 January 16
Hi,
This week-end I have updated the documentation page and wrote a new test program. It all happens at Shinra Team (http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml).

What you will find (towards the bottom of the page):

Of course, while the mouse is used, no access to mass storage is possible (you need to remove the USB drive to plug the mouse, and the CH376 can only drive either the USB port or the SD card, but not both at the same time). I hope everyone is ok with no mouse moves while there is disk activity?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 01:11, 18 January 16
Can't wait to work with it  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Munchausen on 08:41, 18 January 16
Quote from: PulkoMandy on 15:37, 17 January 16
Of course, while the mouse is used, no access to mass storage is possible (you need to remove the USB drive to plug the mouse, and the CH376 can only drive either the USB port or the SD card, but not both at the same time). I hope everyone is ok with no mouse moves while there is disk activity?

So you can't have a hub and multiple devices?

Sounds like really useful example code :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:26, 18 January 16
I haven't tried plugging an hub yet. I think it can work, but maybe not at the same time as the internal mass storage/fat32 driver.
In the example code for the mouse you can see there is a "set address" step. The idea is that when a device is plugged on a hub, you need to assign it an (unique) address. Then you can use this address to talk to the device. the default address for newly plugged devices is always 0. There is apparently some way for one device to get address 0, until it is configured. Then, you can use address 0 to configure the next device, and so on.
I will have to experiment more with that to decide what works and what doesn't.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:31, 23 January 16

Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!


You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.


If there is a hardware problem, you can send the board back to me and I'll fix or replace it. So don't worry about getting a prototype. (and if you get a final version, I will do the same, because I don't want the boards to be thrown away in case of problems).


Already shipped (with tracking numbers for those who chosen tracked shipping)

Please let me know when your board is delivered!

Batch 1 waiting list
Status: 50 PCBs received. I have the components to assemble 25 boards (about one per day, if I do this in the evening), and I will order more components once these 25 first are assembled and shipped.



       
  • 12! - Optimus
  • 13! - Ast
  • 14! - tonio8bits (x2)
  • 16 - CraigsBar (x1)
  • 17 - gros_minet
  • 18 - Fessor
  • 19 - Sykobee (Briggsy)
  • 20 - skywalky
  • 21 - Jungsi
  • 22 - Poliander
  • 23 - Yannis_uno
  • 24 - Rennert
  • 25 - HAL6128

       
  • 26 - Joseman
  • 27 - Tai
  • 28* - Grim
  • 29 - reidrac
  • 30 - cosa_nostra_6128
  • 31 - Targhan
  • 32 - oratyper
  • 33 - NiNxPe
  • 34 - Vandalsk (x2)
  • 36 - Dirtybb
  • 37 - Dubliner
  • 38 - ronaldo (x2)
  • 40~ - cpcmaniaco (x1)

       
  • 41 - Munchausen (x2)
  • 43 - jrodriguezv (x2)
  • 45 - netmercer
  • 46 - Shining
  • 47 - archosmo
  • 48 - awergh
  • 49 - wilco2009
  • 50 - dodogildo
  • 51 - Apollo (x2)
  • 53 - dxs
  • 54 - AlexD
  • 55 - jaime
Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ||C|-|E|| on 12:00, 26 January 16
I already paid mine!  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Singaja on 12:09, 26 January 16
Can someone post a photo how does it look like upon receiving? :-)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Apollo on 13:14, 26 January 16
You can push my second board into the second batch as well so others don't need to wait longer  ;)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 18:28, 31 January 16
I received mine this past week, so thanks :) It looks lovely even with the manual mods. No time to test it though yet :(
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 23:45, 04 February 16
Quote from: PulkoMandy on 09:31, 23 January 16

       
  • 4 - cpcmaniacoLA004875968FR (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004875968FR)
  • 5 - ||C||-||E|| LA004971085FR (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004971085FR)
  • 6 - TFM (x1) LA004971111FR (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004971111FR)


Gosh! Tracking numbers are hell. If I click am mine.... nothing... I did send a package to TotO recently, tracking number doesn't work either. Maybe an US problem?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:11, 05 February 16
Usually it means they didn't scan the barcode anywhere yet, but I find that surprising after one week. Even if the destination country doesn't offer tracking, you should at least get "package left France for international shipping" or somesuch.
I'll go to the post office tomorrow, I'll ask them, they probably know better.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 17:04, 05 February 16
Thanks!  :) :) :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:53, 06 February 16
Hi, I checked with the post office and it turns out it is an user error on my side when using their self-service machine. The package should get to you eventually, but the tracking number may or may not work, it depends if they catch and scan it.


Sorry about this.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 04:20, 07 February 16
Quote from: PulkoMandy on 11:53, 06 February 16
Hi, I checked with the post office and it turns out it is an user error on my side when using their self-service machine. The package should get to you eventually, but the tracking number may or may not work, it depends if they catch and scan it.
Sorry about this.


Thanks!!! Can't wait to give it a try.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 10:17, 09 February 16
Hey, @PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26) , I noticed the wiki page for the device is rather poor at the moment... would you object if I copied the material from your site?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:25, 09 February 16
No problem with that, the device is "free hardware" (schematics are available and everything) and the documentation is also freely redistributable and modifiable.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 10:27, 09 February 16
Thanks for that :) Still, I can't go around just copying pages like that, hence I had to ask!


Ok, going to add all the details soon!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 11:52, 09 February 16
Done :)


Albireo - CPCWiki (http://www.cpcwiki.eu/index.php/Albireo)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: majikeyric on 16:18, 11 February 16
I received my board today!!!! Many thanks Pulko! Great work!!!! 8)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Sykobee (Briggsy) on 16:38, 14 February 16
Thanks Pulko, I've paid! Great to see that things like USB mouse are so simple - maybe someone will hack up some of the old mouse supporting software (Art Studio, etc) to use a USB mouse on this device.


(I have been so bus the past few months I had completely forgotten about it)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: reidrac on 10:18, 16 February 16
I finally started to read the docs and I'm looking forward to get my board to start fiddling with it!

I only see a minor limitation and is that the board doesn't include a ROM to automatically install the driver (excuse me if that's not the right terminology, I'm newbie here), and needing another board to provide the ROM (or, in my case, loading the driver from tape as I only own a 464 with no ROM expansion) is not ideal.

EDIT: to be clear, I already knew that because you mentioned it in the first post. But until I read the documents I guess I didn't understand the implications  :picard:

I still think is a nice piece of very versatile kit (and I want mine, 29th on the list!); just wanted to mention that I would love it even more if in a future revision it included a ROM on board ;) That said from the ignorance, because I don't know how difficult would that be (if possible).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 10:28, 16 February 16
That's not really a limitation - if you're going to be fiddling around with hardware, then you already want to buy a MotherX4/X-MEM/X-MASS/Minibooster from TotO (especially since the Albireo is designed to plug into the MotherX4.) They're cheap, readily available, and everyone already has one. Putting a ROM board directly in the peripheral is just going to conflict with the other hardware.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: reidrac on 11:00, 16 February 16
Quote from: pelrun on 10:28, 16 February 16
That's not really a limitation - if you're going to be fiddling around with hardware, then you already want to buy a MotherX4/X-MEM/X-MASS/Minibooster from TotO (especially since the Albireo is designed to plug into the MotherX4.) They're cheap, readily available, and everyone already has one. Putting a ROM board directly in the peripheral is just going to conflict with the other hardware.

OK, thanks for the advice. I see that there's a market for people already having expansion boards, but I still think it would be nice to have a solution that ticks all the boxes instead of requiring 2 boards + the MotherX4.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 11:06, 16 February 16
The CPC 464 is a base system that require many things to be up-to-date.
If too much plugs are required, you should start to take a look for a CPC 6128.
It is more reliable and cost less than DDI+Floppy+RAM expansions.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: reidrac on 11:17, 16 February 16
Quote from: TotO on 11:06, 16 February 16
The CPC 464 is a base system that require many things to be up-to-date.
If too much plugs are required, you should start to take a look for a CPC 6128.
It is more reliable and cost less than DDI+Floppy+RAM expansions.

Yes, well... you're probably right. This is about tinkering anyway, my 464 is just fine and I use it mostly because I do development and the occasional gaming.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 11:19, 16 February 16
I understand well the choice to keep your own CPC.
But, building a new expansion to embbed all the features required is close to redo a new CPC mainboard.  ;D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:24, 16 February 16
Yes, you need an X-Mem/MegaFlash/FlashGordon/RamCard/ROMBoard if you want to use a system ROM. The reason for that is that I ran out of space on the board, and also that I already have a FlashGordon here, and it is not possible to have another board provide ROMs in that case (they would conflict as the FlashGordon uses all available ROM numbers from 0 to 31, and ROMs above 7 are not initialized by the OS on the 464).


You don't need a minibooster and an x-mass, both have functionalities that for the most part overlap with Albireo.


There are other solutions than loading everything from tape however:
For example, you can write a minimal driver that you load from tape/disc. It can be something very small that initializes the SD card or USB drive and reads a few sectors from there with a more complete code to manage the board. It is less convenient than a ROM, of course, but better than nothing.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 12:06, 16 February 16
Quote from: PulkoMandy on 11:24, 16 February 16You don't need a minibooster and an x-mass, both have functionalities that for the most part overlap with Albireo.
When the softwares will exist for.  ;D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 12:15, 16 February 16
That is also the case for X-MASS  ;D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 13:11, 16 February 16
No, as the X-MASS was designed to be compatible with existing things.  ;D
So, you can use it with BDOS, SymbOS and others since it was available.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 13:21, 16 February 16
None of which run on a CPC464 (without X-MEM) so in reidrac's case it doesn't really help.


Also, BDOS is easily hacked to support more devices (including Albireo), but the author explicitly disallowed me from doing this.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 13:30, 16 February 16
Today, a ROM board is a must have.  8)
By the way, a new hardware require softwares to be used.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 13:41, 16 February 16
Yes, but the people who can write hardware can't always write good software.
And people who can write software need hardware to test it with.


I think I was clear enough about the status of Albireo, if people are ready to pay for a barely tested hardware without software, that's their problem  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: reidrac on 13:45, 16 February 16
Quote from: PulkoMandy on 13:41, 16 February 16
I think I was clear enough about the status of Albireo, if people are ready to pay for a barely tested hardware without software, that's their problem  :D

Well, that's not a nice way of putting it. I don't see it as a problem but as an opportunity, and also I like to support the development of new hardware.

Of course I'd be better off giving my money to TotO as his boards are already tested by a lot of happy customers.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 14:37, 16 February 16
Quote from: PulkoMandy on 13:41, 16 February 16
Yes, but the people who can write hardware can't always write good software.
And people who can write software need hardware to test it with.
Sure. It is why the MiniBooster is CPC Booster compatible, The X-MEM is CPC/DK' compatible and the X-MASS is Symbiface compatible.  :-\

Quote from: PulkoMandy on 13:41, 16 February 16I think I was clear enough about the status of Albireo, if people are ready to pay for a barely tested hardware without software, that's their problem  :D
:D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 14:55, 16 February 16
Quote from: TotO on 14:37, 16 February 16
Sure. It is why the MiniBooster is CPC Booster compatible, The X-MEM is CPC/DK' compatible and the X-MASS is Symbiface compatible.  :-\


Well, it is nice in some ways, but also means we have to live with the limitations of the old designs: slow speed, hard to find components, and simple design problems. For example, it is not possible to run GitHub - EtchedPixels/FUZIX: FuzixOS: Because Small Is Beautiful (https://github.com/EtchedPixels/FUZIX) on the CPC because the memory banking scheme is too limited. It is great that the X-devs make these existing designs more polished and easily available, but at the same time, I think it's possible to go further and make better devices, and in some cases the improvements are worth some compatibility breakage. This is also why I'm putting efforts in publishing all the schematics and PCB routing files, so people can build on the work and improve it. Maybe some day there will be an X-USB based on Albireo design?  8)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 16:01, 16 February 16
Quote from: PulkoMandy on 14:55, 16 February 16Well, it is nice in some ways, but also means we have to live with the limitations of the old designs: slow speed, hard to find components, and simple design problems.
The speed limitation is on the CPC side. Your Albireo chips will be sold out before 80s parts. Design problems are part of the challenge.  :D

Quote from: PulkoMandy on 14:55, 16 February 16For example, it is not possible to run FuzixOS (https://github.com/EtchedPixels/FUZIX) on the CPC because the memory banking scheme is too limited. It is great that the X-devs make these existing designs more polished and easily available, but at the same time, I think it's possible to go further and make better devices, and in some cases the improvements are worth some compatibility breakage.
The more difficult is to keep the compatibility, not to break it. It is easy to handle a MMU or anything else...  ;)
But, I think that we have better to do with the CPC specifications, before looking to port things not designed for it.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:19, 16 February 16
for the slow speed I was referring to the MiniBooster, which is far from the CPC speed limitations for its serial port. This is one of the problems I hope to solve with Albireo.


As for the chip used, the TL16C550D is the same UART that is fitted on old PC hardware, only rated for faster speed ratings. It is essentially 80s hardware, but still in production  :laugh: . There is already a version which doubles the speed again available, but in packaging too small for my soldering skills.
The CH376 is a microcontroller (8051 based) with a pre-programmed custom firmware, and even if they stop manufacturing it, there are replacement options (either the CH378, or writing an open source equivalent on another suitable microcontroller).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 17:31, 16 February 16
Quote from: PulkoMandy on 16:19, 16 February 16for the slow speed I was referring to the MiniBooster, which is far from the CPC speed limitations for its serial port. This is one of the problems I hope to solve with Albireo.
With the fano transfert program, we was able to use the MiniBooster up to 230400bps but failled at 460800bps. If I remember well, it was more a CPC limitation that not allow to reach the expected speed when doing IN/OUT data exchange.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 18:15, 16 February 16
To stay compatible is a great thing! Please do also consider the new features of the 6128 Plus if possible (thinking of enhanced banking for example). The SF2 for example offers extended ROM banking (a ROM can be banked in at &C000 or at &4000), but it's not compatible to the Plus.


IMHO it's ok to "break compatibility" / add something new when it really has an advantage, but it the gain in speed is lower than let's say 50% then I would stick with compatibility. There is no perfect advice / solution, it all depends on the single case!  :)


Great to see so much new hardware for the CPC emerging.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 18:52, 16 February 16
Quote from: TotO on 17:31, 16 February 16
With the fano transfert program, we was able to use the MiniBooster up to 230400bps but failled at 460800bps. If I remember well, it was more a CPC limitation that not allow to reach the expected speed when doing IN/OUT data exchange.


The main problem with the Minibooster is the lack of hardware flow control, which makes things more complex both for the CPC and for the other side of the link. With Albireo, the other computer can just send a huge chunk of data (128K, for example), and the CPC can read it at its own speed. The hardware flow control and FIFO buffers will do all the hard work of making sure no bytes are lost. This means the serial link can be much faster even if the CPC can't handle the flow directly. This allows to operate as close as possible to the CPC limitations of a tight optimized IN loop, not having to check if bytes are available.
Also, the serial link is kept as short as possible (about 2 centimeters on the PCB) and the long wire to the other computer uses USB, which has a lot more solid error checking, retry on error, etc.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 21:35, 16 February 16
Quote from: PulkoMandy on 18:52, 16 February 16With Albireo, the other computer can just send a huge chunk of data (128K, for example), and the CPC can read it at its own speed.
Curious to see the result.

Quote from: PulkoMandy on 18:52, 16 February 16Also, the serial link is kept as short as possible (about 2 centimeters on the PCB) and the long wire to the other computer uses USB, which has a lot more solid error checking, retry on error, etc.
I think that is not a problem. The Minibooster with the blutooth module (2cm too) fail at the same speed.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ukmarkh on 23:24, 16 February 16
If this new device comes with software that enables me to play my entire collection of CPC games from a USB stick, then sign me up.


Things I would like to see added, or in the future:


- New games being developed, support CPC link for multiplayer purposes i.e. play each other at Battleships or Chess for example. 
- Scrap 64K, All games with option of 128K and 256K
- Use Plus graphics where possible, but also include stock CPC version.
- All new hardware designs, must come ready to go, with built in PSU and case. Or integrate / replace the board inside of the CPC. Fitting perfectly.


Thanks in advance  ;)



Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CloudStrife on 18:47, 18 February 16
Quote from: TotO on 21:35, 16 February 16
Curious to see the result.
I think that is not a problem. The Minibooster with the blutooth module (2cm too) fail at the same speed.

On the CPC Booster if your speed is faster than the CPC you loose bytes. And if is too slow you need to do pooling to know if a new byte is available.

So you end with something like that:

    LD  BC,&FF06 ; 4µs
wait_flag:
    IN  A,(C)   ; 4µs
    JP  P,wait_flag ; flag on bit 7 so sign flag work - 3µs
    DEC C       ; 1µs
    IN  A,(C)   ; 4µs
    LD  (HL),A  ; 2µs
    INC L       ; 1µs
    INC C       ; 1µs

    JP  NZ,wait_flag    ; 3µs


Some unrooling can be done, but for the main part is at least of 16 NOP. So in theory 62500 octet/s.
The problem is that at 460800 baud the interval between two characters is: 1 / (460800 / 10) = 21.7µs
So 21.7 - 16 = 5.7µs of margin. And just the jitter introduce by the flag waiting is enough to made you loose bytes !

And even with a slightly lower speed, you have no time to support border case (looping over 256 octets block, test if transfere is finished, etc.)


On the Albireo with the help of the FIFO we can do burst read of 14 bytes without problem. And if the baudrate is too high, the sender just wait.
So plenty of time for support border case scenario

We end with some code like that:

    LD  DE,&4000    ; Start address
    LD  HL,&02BC    ; Size, only work for multiple of 14 for the moment.
read_hl_bytes_to_de:
    ADD HL,DE
    EX  DE,HL       ; HL: current DE: end addr
    LD  B,&FE
read_loop_begin:
    LD  C,&B3   ; 2µs
wait_fifo_flag: ; Test if FIFO trigger level is reach
    IN  A,(C)   ; 4µs
    AND 1       ; 1µs
    JP  Z,wait_fifo_flag    ; 3µs                                                                                                                         

    LD  C,&B0   ; 2µs

    IN  A,(C)   ; 4µs
    LD  (HL),A  ; 2µs
    INC HL      ; 2µs
    ; unroll
    IN  A,(C)   ; 4µs
    LD  (HL),A  ; 2µs
    INC HL      ; 2µs

    LD  A,L     ; 1µs
    CP  E       ; 1µs
    JR  NZ,read_loop_begin  ; 3(2)µs
    LD  A,H     ; 1µs
    CP  D       ; 1µs
    JR  NZ,read_loop_begin  ; 3(2)µs
   
    RET

(Code is not yet tested...)


The main reading part is at 8µs per character. So 125 ko/s. (By working with 256 octets chunk we can probably speed up it a bit with only incrementing L and go down to 7µs, 142ko/s, but more complexe, so for another time)

Well if we add the flag waiting and the loop we use less than (10 + 14*8 + 5 + 5) = 132 µs for 14 bytes. So > 100ko/s

And during this time we can have interruption without corrupting data...

And in theory if the sender is always faster than the CPC, we can even remove the FIFO flag test and just always read and we will always have data...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ||C|-|E|| on 19:15, 18 February 16
It seems that my unit is still in transit  :picard: . It arrived yesterday to GB  :-X

La Boutique : suivi des envois - recherche par numéro (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004971085FR)

it took them 17 days to ship it to this island. This is, of course, not Pulko´s fault  :-* .
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: remax on 19:25, 18 February 16
Ca bouge avec la poste !


"La Poste" is on the move (old french slogan).


@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26) : T'es du 31 aussi ?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 21:16, 18 February 16
@Cloudstrife: actually, even if the sender is slower, you can remove the test for the FIFO because the TL16C550D can provide a "fifo empty" interrupt. But this may not always be a good idea for maximal speed, we'll have to test and see what works better. Maybe using the NMI, disabling firmware interrupts and using EXX in the interrupt handler would be faster than testing in the read loop? I forgot how much time it takes to handle an interrupt.


@||C||-||E||: well, standard "international letter" shipping is that way. There are faster options but I don't think they are worth the extra cost. A proof of this: you will probably still get your card before any useful software is released for it  ::)


@remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314): installé à Aussonne depuis un peu plus de 2 ans oui. Avant j'étais Palois, puis Breton.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: gerald on 21:28, 18 February 16
Quote from: PulkoMandy on 21:16, 18 February 16
@||C||-||E||: well, standard "international letter" shipping is that way. There are faster options but I don't think they are worth the extra cost. A proof of this: you will probably still get your card before any useful software is released for it  ::)
I think they screwed up there. I usually take 6 days from France to UK with tracked international letter.
At least that letter did not make a two week trip to Italy before going to UK  :-X
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: remax on 22:31, 18 February 16
Quote from: PulkoMandy on 21:16, 18 February 16
@remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314): installé à Aussonne depuis un peu plus de 2 ans oui. Avant j'étais Palois, puis Breton.


Ah c'est marrant ça, on est plus que voisins alors, je suis à Merville !!!


Peut-être que si tu le permet, un jour je viendrais t'embêter 5 minutes pour tester ma XMEM sur autre chose que mon CRTC4  ;)


Translation : We live perhaps no more than 5 kilometers each other  :o
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 23:00, 18 February 16
Avec plaisir! CRTC1 et 3 disponibles pour tester!


Translation (not quite): if you are near Toulouse/France, you can always come visit me and say hi!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Sykobee (Briggsy) on 23:09, 18 February 16
I emailed ToTo a while ago and never got a reply, and the website said out of stock. Maybe it went into his spam :/


Obv. need the motherx4 and the rom thinger for it for this. Luckily I'm in no particular rush overall.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 23:14, 18 February 16
Hey!

You can send me a PM too... What is your message, please?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CloudStrife on 00:58, 19 February 16
Quote from: PulkoMandy on 21:16, 18 February 16
@Cloudstrife: actually, even if the sender is slower, you can remove the test for the FIFO because the TL16C550D can provide a "fifo empty" interrupt. But this may not always be a good idea for maximal speed, we'll have to test and see what works better.

Well it have one for the transmitter FIFO yes. But as I understand the datasheet not for the receiver :/
For the receiver the interrupt is when FIFO size > 14 (or 1 or 4 or 8...)
And in fact for the DA (data available) flag I use maybe active if FIFO is not empty, so don't know if it is 1 or 14...
(So maybe with deactivating the transmission of the interrupt to the CPC and test the interrupt flag it's working, need futher investigation...)
But in all case we are around ~10µs / octet without risk of loosing data... The 100 ko/s is reasonable speed target...

Quote
Maybe using the NMI, disabling firmware interrupts and using EXX in the interrupt handler would be faster than testing in the read loop? I forgot how much time it takes to handle an interrupt.
4 NOP if I remember correctly (same for INT and NMI because of the GA...). And 4 NOP for the the RETI/RETN

Quote
@remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314): installé à Aussonne depuis un peu plus de 2 ans oui. Avant j'étais Palois, puis Breton.

[troll]Nantes is in Brittany ? It's like saying Rennes is in Brittany ! Pure nonsense :) [/troll]
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:03, 19 February 16

Quote
4 NOP if I remember correctly (same for INT and NMI because of the GA...). And 4 NOP for the the RETI/RETN


A normal RET will do, the z80 interrupt chaining scheme is not recognized by the devices (unless you want to handle CTC interrupts from the PlayCity, of course).

Quote
[troll]Nantes is in Brittany ? It's like saying Rennes is in Brittany ! Pure nonsense :) [/troll]


I was thinking about Lannion, of course!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ||C|-|E|| on 12:58, 19 February 16
I finally received mine today!

Long story short, they opened the envelope for inspection and then they closed it again in the worst possible way, with some crappy tape. When it arrived to me, the envelope was just a bit more than a few shreds of paper  :picard2: . Luckily, the board was still inside and it seems intact as well. Maybe they thought that it was part of a bomb or some kind of hi-tech device for world domination.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:24, 20 February 16

Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!


You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.


If there is a hardware problem, you can send the board back to me and I'll fix or replace it. So don't worry about getting a prototype. (and if you get a final version, I will do the same, because I don't want the boards to be thrown away in case of problems).


Already shipped (with tracking numbers for those who chosen tracked shipping)

Please let me know when your board is delivered!

Batch 1 waiting list
Status: Assembly and delivery in progress.



       
  • 17! - Optimus
  • 18! - Ast
  • 19! - tonio8bits (x1)
  • 20 - skywalky
  • 21 - Jungsi
  • 22 - Poliander
  • 23 - Yannis_uno
  • 24 - Rennert
  • 25 - HAL6128
  • 26 - Joseman
  • 27 - Tai

       
  • 28* - Grim
  • 29 - reidrac
  • 30 - cosa_nostra_6128
  • 31 - Targhan
  • 32 - oratyper
  • 33 - NiNxPe
  • 34 - Vandalsk (x1)
  • 35 - Dirtybb
  • 36 - Dubliner
  • 37 - ronaldo (x2)
  • 39~ - cpcmaniaco (x1)

       
  • 40 - Munchausen (x2)
  • 42 - jrodriguezv (x2)
  • 44 - netmercer
  • 45 - Shining
  • 46 - archosmo
  • 47 - awergh
  • 48 - wilco2009
  • 49 - dodogildo
  • 50 - Apollo (x2)
  • 52 - dxs
  • 53 - AlexD
  • 54 - jaime
  • 55 - merlinkv (x1)
Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: hsimpson on 20:37, 24 February 16
Phew... the shipment arrived. I have my Albireo :) . Thanks a lot @PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26) .
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 21:23, 24 February 16
Mine arrived too.
But its not running stable.  :'(
Without inserted SD-Card it starts with a few problems with beeing detected, but detection problems increased in a very short amount of time (~2 Minutes) to a point were it wont get detected anymore.
With inserted SD-Card it won't get detected or only for a very extremly short period of time after switching the cpc off and on.

CPC 6128 with MotherX4, X-Mass, X-Mem, Albireo, no external PSU.

Tested with the Basic-Test-Programm posted a few pages before. Increased the counter at the loop to 10 and inserted a goto-line for an endless-loop.

I think that my CTM644 and my MP2 are not delivering clean or stable 5V anymore after 30 Years... :'(
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 21:43, 24 February 16
Did you try the other parts of the program? (listing files or usb mouse?)


There may be a problem with the detection code, since it does a reset of the device and maybe does not wait enough after it. If the other parts are working, it's just this and I can try to make the detection more reliable.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 22:36, 24 February 16
Quote from: Fessor on 21:23, 24 February 16
CPC 6128 with MotherX4, X-Mass, X-Mem, Albireo, no external PSU.


Clearly a problem of power supply.
Ist ein Wunder dass es überhaupt tut. Ich brauch schon eine externe Stromversorgung wenn ich mehr als das X-MEM dran habe. Die Dinger gibt's billig bei Amazon. Nimm Dir ein 5 V mit 2 A oder 3 A.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 00:47, 25 February 16
Yes, it must be a Problem with the Powersupply. Without load my CTM644 delivers 6.45V...(!) on the plug, i dont know if its normal, my MP2 has even a voltage in this range on its 5V-Plug. Under load i don't have measured.

Even Standalone, directly connected with the adapter of the mx4, it works only a short amount of time before it stops working and status goes to 255 so it hangs endless in line 480.
It shows me the capacity of my fat partition on the sd-card. at listing the directory i got error 42.

I will see at the weekend when the ordered PSU arrives. With stable Voltage and then enough current the Problems should go away.


Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CloudStrife on 02:34, 25 February 16
I have no idee of power supply voltage of a CTM644 with no load is applied. But it's not uncommon to have slightly overvoltage. (Seeing the schematics I don't understand the strange powersupply topology used in the CTM644 so can't confirm if it's "normal" or not...)

You should really verify the voltage under load... See if the voltage return back to a more acceptable one. If not you have a trimmer in the monitor that can be change. (Maybe it have change a bit with age...)
And you should verify voltage stability, normally with an oscilloscope but if you already see change with your multimeter it's really mean it's instable...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Bryce on 09:07, 25 February 16
Quote from: Fessor on 00:47, 25 February 16
Yes, it must be a Problem with the Powersupply. Without load my CTM644 delivers 6.45V...(!) on the plug, i dont know if its normal, my MP2 has even a voltage in this range on its 5V-Plug. Under load i don't have measured.

Even Standalone, directly connected with the adapter of the mx4, it works only a short amount of time before it stops working and status goes to 255 so it hangs endless in line 480.
It shows me the capacity of my fat partition on the sd-card. at listing the directory i got error 42.

I will see at the weekend when the ordered PSU arrives. With stable Voltage and then enough current the Problems should go away.

The voltage without load tells you nothing useful, it could be anything and will not only depend on the PSU, but also the meter you used to measure it. Only the voltage under load will give you any indication of how the PSU is performing.

Bryce.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 03:29, 26 February 16
@PulkoMandy

Mine arrived today 26-February 2016.
Just waiting for some software to test it.


Thanks    Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fessor on 08:34, 26 February 16
Software for testing it can be found at the end of the Page
Shinra Team (http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 09:49, 26 February 16
@Fessor (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1495)


Thanks I will have a look at them


Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Executioner on 11:13, 26 February 16
Quote from: PulkoMandy on 07:03, 19 February 16
A normal RET will do.

Only if you know the state of IFF1 during your NMI, otherwise you can't restore it (which is where RETN differs from RETI). RETI is effectivley the same on a CPC as RET so not required.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 16:20, 26 February 16
Mine arrived yesterday, the original envelope torn open and sealed in a clear bag with a note saying it had been damaged in the mail sorting machines  :o


The board *looks* like it's undamaged, though...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 17:52, 27 February 16
Hello everyone!


Some news from the software development side today. Some days ago I received from CloudStrife a small driver to test the serial port. Today I could finally spend some time testing and debugging it. I found some issues with the code, but the most important part: the serial port hardware is confirmed working! The program is a bit crude (it transfers a fixed amount of data at a fixed address, not really useful in this way), and also not completely optimized. But, it is a good base for future developments.


I don't have a download link for this yet, I'll let CloudStrife publish his work the way he wants.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Sykobee (Briggsy) on 18:50, 27 February 16
Mine has arrived, thanks. Soldering that chip with the fine pitch pins must have been fun!


Glad to see the high speed serial works.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 18:54, 27 February 16
Soldering chips with small pins is ok if you use the right tools. I have a temperature controlled soldering iron and a flux pen. The flux will make the melted solder flow much better, and stick to the pins and a lot less to the PCB. So with this you can heat 2 or 3 pins at once without problems.
The only tricky part is to carefully align the chip with the PCB footprint, to make sure the pads are isolated from each other.


It's not that hard after some training. And it allows to fit all the extras on such a small board :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ||C|-|E|| on 00:07, 28 February 16
Everything seems to work fine in my card!  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 10:53, 28 February 16
Sometimes surface mount can be easier to solder, and there are some really crude-looking but clever techniques - like dumping a large ball of molten solder on the board and dragging it over a long run of pins. Yay for surface tension!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ||C|-|E|| on 12:23, 28 February 16
That is called wave soldering, I think :) I tried it a few times with useless circuitry, just to practice, and it actually works very well!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 13:54, 28 February 16

It's usually called "drag soldering".

Wave soldering is something different, and requires a giant molten solder bath. The board is held just above the bath and a wave is generated in the solder that washes across the board. It's a mass-production technique, not something you can do on the bench.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ||C|-|E|| on 13:56, 28 February 16
Thank you for the clarification then, I was not very sure!  :D So, the drag soldering is what I tried  :) I was watching a video and, certainly, the other process is not something you could try at home!  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 18:45, 01 March 16
My Albi arrived a while ago, professionally made, very awesome. Now one question, since it has a micro SD card slot, I assume the maximum will be a 32 GB card, because more than 32 GB can't use FAT32 anylonger. My question is: Are there cards / brands which can be suggested, which not?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Grim on 18:54, 01 March 16
Quote from: TFM on 18:45, 01 March 16Now one question, since it has a micro SD card slot, I assume the maximum will be a 32 GB card, because more than 32 GB can't use FAT32 anylonger.
Yep, 32GB max (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/albireo-usbsdserial-interface-for-cpc/msg111746/#msg111746).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 19:00, 01 March 16
QuoteI assume the maximum will be a 32 GB card, because more than 32 GB can't use FAT32 anylonger.
The limit for FAT32 is 2TB.
The 32GB limit is because of the SD-HC specification. >32GB is supported by SD-XC, where the maximum is 2TB (so still fine for FAT32).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CloudStrife on 20:04, 01 March 16
The CH376 datasheet say it's support up to 32GB, for SD Card and for USB storage and it's said to be compatible with SD and SDHC and say nothing about SDXC.
Maybe it support SDXC card, or more than 32GB on USB but better let assume not...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:18, 01 March 16
After 32GB the FAT32 filesystem starts to use 32KB clusters, which seems a bit large for the typical files the CPC would be dealing with. It's very likely that the CH376 can't handle clusters this large. This is not a problem if you use direct sector access, however.


As for SD card compatibility, anything should work I hope. I tested no-name 4GB cards, and the Kingston card which came with my C4CPC. I don't see why there would be compatibility problems with other cards, but please test and report!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: gerald on 20:23, 01 March 16
Quote from: PulkoMandy on 20:18, 01 March 16
After 32GB the FAT32 filesystem starts to use 32KB clusters, which seems a bit large for the typical files the CPC would be dealing with.
1Tb partition FAT32 uses 4k cluster  ;)

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 21:30, 01 March 16
Thanks guys... getting one of this cards now and will check thoroughly ... ttyl!  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: merlinkv on 09:36, 02 March 16
Hi,

Sorry too many posts to read all ...  :-[

It can works with AMSDOS or I need other ROM? I can create my dirs for apps/games an play directly from SD?

I know is too late.... but, please, count me for 2 boards at the next batch (if possible, of course) .....

My setup: CPC6128 (DualOS AMSDOS-PARADOS modded), MX4, X-MEM, X-MASS .....
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:58, 02 March 16
Hi,
You will need another ROM to use it (not yet available). I only provide the hardware, but several of the buyers plan to write software for it.


The idea is to create directories and allow to load files from there. It will only work if the software does things the right way (if it works from tape or from Parados on drive B, you can hope things will be ok).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: merlinkv on 10:24, 02 March 16
Do you serve board+components? It's very difficult to me to buy components  :-[  ... Also, do you serve as DIY kit or mounted?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:28, 02 March 16
The board comes assembled with everything and tested. No DIY kit as the components are too small for most people.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: merlinkv on 10:31, 02 March 16
Quote from: PulkoMandy on 10:28, 02 March 16
The board comes assembled with everything and tested. No DIY kit as the components are too small for most people.

OK.

I see I'm in the lists now .... I wait your news about payment, shipment .....

Thanks
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:33, 02 March 16
Yes, I don't want to get payment in advance so I'll contact you when your board is ready by private message. I am assembling the boards in my limited free time and there is no guarantee on the delays.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: merlinkv on 10:45, 02 March 16
Quote from: PulkoMandy on 10:33, 02 March 16
Yes, I don't want to get payment in advance so I'll contact you when your board is ready by private message. I am assembling the boards in my limited free time and there is no guarantee on the delays.

OK
Thanks a lot!  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 23:11, 07 March 16
Quote from: Fessor on 08:34, 26 February 16
Software for testing it can be found at the end of the Page
Shinra Team (http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml)
OK Mine arrived today, However I cannot seem to get the test software over to a CPC in a runnable form. I guess missing Amsdos Headers etc. Any chance of a DSK of the 2 programs, or is anything else coming along.... Like MicroSD storage and USB HID support in Symbos ;)


I can transfer the 2 progs to my machine with my Minibooster, but I cannot get it to create the header and I am too stupid to build it myself.


Thanks


Craig



Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 23:15, 07 March 16
The test programs are ASCII files so you should not add any kind of header. BASIC will take care of everything.


There is more useful software coming soon, but not yet, please be patient :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 23:16, 07 March 16
Quote from: PulkoMandy on 23:15, 07 March 16
The test programs are ASCII files so you should not add any kind of header. BASIC will take care of everything.


There is more useful software coming soon, but not yet, please be patient :)


That is what I thought, It seems not, Let me play again.... with a transger with |GFA
Hmm No Joy... Either from |gf or |gfa :( They just crash the CPC. Can't load them either


Memory Full


:(


Something amiss methinks



Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:15, 08 March 16
Memory Full only happens if you have a binary file with header, or if you have set MEMORY to a very low value.


Well, if transfer methods don't work you can always type in the listing manually  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 21:59, 08 March 16
Use an Emulator with autotype function to create a DSK.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 15:28, 16 March 16
Hi! I bought such an micro SD card:


Card (http://www.ebay.de/itm/Hot-32-GB-Micro-SD-Karte-TF-Flash-Speicher-MicroSD-MicroSDHC-Class-10-Gratis-Ada-/301899448203?hash=item464a9bff8b:g:eqAAAOSwll1Wyd4f)


But it doesn't fit in, can somebody point me to the right card?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 15:52, 16 March 16
Hi,
It should fit, but the socket is a bit unusual, it is not the usual slide-and-click type.


You need to pull the socket in "unlock" position and lift it like this:
(http://www.digikey.com/-/media/Images/Product%20Highlights/H/Hirose%20Electric%20Co%20Ltd/Hirose%20DM3CS%20Connector/hirose-dm3cs-2.jpg?la=en&ts=385828a8-3d05-4bba-ad73-95667476d7eb)


Then, slide the card in, fold the socket and lock it again.


Information about the SD socket: http://www.digikey.com/en/product-highlight/h/hirose/dm3cs-connector (http://www.digikey.com/en/product-highlight/h/hirose/dm3cs-connector)


Sorry for this unusual choice, it is much easier than the other ones to solder to the PCB.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 17:16, 16 March 16
Thanks for the update. Guess the socket is perfectly fine, guess also my phone has the same one. It was just a bit dark the other day and I'm neither so much into micro SD cards not I want to hurt the Albi. Thank you very much. :) :) :) [nb]And I already thought I bought the wrong card.  :picard: [/nb]
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:00, 26 March 16
Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.

Available software
Some good news on the software side: OffseT is making good progress with the software to access files on the board. It is now able to list and load files as well as change directories. Write support will come soon. This is developped with as much compatibility as possible, so it should be doable to use it for example in OCP or Starkos (and to run most file-based games).

Already shipped (with tracking numbers for those who chosen tracked shipping)

Please let me know when your board is delivered!





       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor (delivered)
  • 3 - Prodatron LA004676145FR (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004676145FR)
  • 4 - cpcmaniacoLA004875968FR (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004875968FR)
  • 5 - ||C||-||E|| (delivered)
  • 6 - TFM (x1) (delivered)
  • 7 - pelrun (delivered)
  • 8 - hsimpson (delivered)

       
  • 9 - majikeyric (x1) (delivered)
  • 10 - SOS (delivered)
  • 11 - Audronic (delivered)
  • 12 - gros_minet (delivered)
  • 13 - Fessor (delivered)
  • 14 - Sykobee (Briggsy) (delivered)
  • 15 - CraigsBar
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)
  • 17 - tonio8bits 1L01692919632 (http://www.csuivi.courrier.laposte.fr/suivi/index?id=1L01692919632)

Batch 1 waiting list
Status: Assembly and delivery in progress.



       
  • 18! - Optimus
  • 19! - Ast
  • 20 - skywalky
  • 21 - Jungsi
  • 22 - Poliander
  • 23 - Yannis_uno
  • 24 - Rennert
  • 25 - HAL6128
  • 26 - Joseman
  • 27 - Tai
  • 28* - Grim
  • 29 - reidrac

       
  • 30 - cosa_nostra_6128
  • 31 - Targhan
  • 32 - oratyper
  • 33 - NiNxPe
  • 34 - Vandalsk (x1)
  • 35 - Dirtybb
  • 36 - Dubliner
  • 37 - ronaldo (x2)
  • 39~ - cpcmaniaco (x1)
  • 40 - Munchausen (x2)
  • 42 - jrodriguezv (x2)

       
  • 44 - netmercer
  • 45 - Shining
  • 46 - archosmo
  • 47 - awergh
  • 48 - wilco2009
  • 49 - dodogildo
  • 50 - Apollo (x2)
  • 52 - dxs
  • 53 - AlexD
  • 54 - jaime
  • 55 - merlinkv (x1)
Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 20:38, 31 March 16
Worked a little on my Albi yesterday. But I do miss a documentation of the bit of the status port (&FB81) of the CM376. Where can I find it?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 21:13, 31 March 16
Page 20 of CH376DS1.pdf:
Quote
Bit 7 is the interrupt flag, active with low-level, equivalent INT# pin,
Bit 4 is the busy flag, active with high-level, equivalent to BZ pin of SPI interface

bit 4 stays high as long as the CH376 is busy with the last requested operation. When the operation is done, you can read the result. Some operations also trigger an interrupt on completion, in that case bit 7 is set when it happens. You can use this to decide if an interrupt comes from the CH376 or somewhere else (serial port, CURSOR, or some other hardware).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 00:13, 08 May 16
This is I guess a question for @Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13) Is there any chance of adding the Albireo USB Host and MicroSD cards to the Symbos Supported hardware list?


This way we could use a USB Mouse with Symbos and use a nice fast MicroSD card for storage


I am also really really wanting a working FAT32 storage driver for the CPC.


I have issues with my Xmass / DOM / ACMEDos setup and woudl love to have the simplicity of all those CNG Compacted single file games oin a single USBstick (Or MicroSD card) and run them from the CPC. I guess this is still months away, but can I not be a little impatient after the total downer that my Xmass has turned out to be?


I will soldier on with the Symboface II until the dream is realised and then the old (not 100% reliable) Symbiface hardwares (I have 2) will be put to rest. I'd rather use the MX4 formatted Xmem, Albireo PlayCity and RTC anyway, so long as all the same functionalities exist, Smaller, less wires, less power hungry etc....
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 00:30, 08 May 16
Quote from: PulkoMandy on 10:00, 26 March 16

Available software
Some good news on the software side: OffseT is making good progress with the software to access files on the board. It is now able to list and load files as well as change directories. Write support will come soon. This is developped with as much compatibility as possible, so it should be doable to use it for example in OCP or Starkos (and to run most file-based games).


How long off is a public Beta? is this going to be ROM based? can you and @OffseT make sure this works with ParaDOS please :) (|Drive with no parameter is still passed up the chain to the ROM is slot 7) as ACMEDos falls down here.


Read only is fine for testing surely. We can set up Fat32 FIle systems and copy the games from the CNG Compacted releases on out PC's and Macs then run it on the CPC :)

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: zhulien on 14:24, 08 May 16
Please add me for 2 of these, where to buy from?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:40, 31 May 16
Available software (update)

I didn't make a lot of progress on assembling the boards as I have moved to a new house and that kept me busy for some time. I will soon plug the soldering iron again and continue assembling and shipping the boards.

However, this does not mean the project is stalled. OffseT continues working on the software side. He now has complete read and write support working, natively integrated with the AMSDOS. The first version is loaded from disc, but there will be a ROM version as well. It should work with Parados, but I can't make any commitments yet because I'm not the one writing the software. The software will be demonstrated, and hopefully released, at the ReSeT party next month.

Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.

Already shipped (with tracking numbers for those who chosen tracked shipping)

Please let me know when your board is delivered!





       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor (delivered)
  • 3 - Prodatron LA004676145FR (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004676145FR)
  • 4 - cpcmaniaco(delivered)
  • 5 - ||C||-||E|| (delivered)
  • 6 - TFM (x1) (delivered)
  • 7 - pelrun (delivered)
  • 8 - hsimpson (delivered)

       
  • 9 - majikeyric (x1) (delivered)
  • 10 - SOS (delivered)
  • 11 - Audronic (delivered)
  • 12 - gros_minet (delivered)
  • 13 - Fessor (delivered)
  • 14 - Sykobee (Briggsy) (no tracking)
  • 15 - CraigsBar
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)
  • 17 - tonio8bits 1L01692919632 (http://www.csuivi.courrier.laposte.fr/suivi/index?id=1L01692919632)
  • 18 - PulkoMandy (rev.1 board kept for reference and testing)

Batch 1 waiting list
Status: Assembly and delivery in progress.



       
  • 19! - Optimus
  • 20 - Ast
  • 21 - skywalky
  • 22 - Jungsi
  • 23 - Poliander
  • 24 - Yannis_uno
  • 25 - Rennert
  • 26 - HAL6128
  • 27 - Joseman
  • 28 - Tai
  • 29* - Grim
  • 30 - cosa_nostra_6128

       
  • 31 - Targhan
  • 32 - oratyper
  • 33 - NiNxPe
  • 34 - Vandalsk (x1)
  • 35 - Dirtybb
  • 36 - Dubliner
  • 37 - ronaldo (x1)
  • 38~ - cpcmaniaco (x1)
  • 39 - Munchausen
  • 40 - jrodriguezv (x1)
  • 41 - netmercer
  • 42 - Shining

       
  • 43 - archosmo
  • 44 - awergh
  • 45 - wilco2009
  • 46 - dodogildo
  • 47 - Apollo (x2)
  • 49 - dxs
  • 50 - AlexD
  • 51 - jaime
  • 52 - merlinkv (x1)
  • 53 - zhulien (x1)
  • 54 - Tolkin (x1)
  • 55 - Skunkfish

Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:33, 31 May 16
Thank's for the update, great news!  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 14:11, 10 June 16
Awesome news, thanks guys. Who'd have thought a couple of years ago that we'd have competing mass storage solutions on the CPC. I love it.

@Prodatron , @TFM is there any chance of getting albireo mass storage and USB mouse support in symbos and futureos?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 15:32, 10 June 16
Quote from: CraigsBar on 14:11, 10 June 16
Awesome news, thanks guys. Who'd have thought a couple of years ago that we'd have competing mass storage solutions on the CPC. I love it.

@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179) is there any chance of getting albireo mass storage and USB mouse support in FutureOS?


Of course, that's up on the 2DO list, and the Albi has a nice place on my MX4 board. However, recently I have to admit, there is so much new hardware, it's hard to keep up with everything. BTW: Can you suggest a mouse which would work with the Albi? I'm not sure if I can just take any USB mouse.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 15:36, 10 June 16
Quote from: TFM on 15:32, 10 June 16

Of course, that's up on the 2DO list, and the Albi has a nice place on my MX4 board. However, recently I have to admit, there is so much new hardware, it's hard to keep up with everything. BTW: Can you suggest a mouse which would work with the Albi? I'm not sure if I can just take any USB mouse.  :)
Well it'd be great to start with a basic 2 button and scroll wheel mouse. Wireless would be a bonus but probably not practical. Aren't most wired w button and scroll wheel mice made to the Logitech standards anyway?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 15:51, 10 June 16
Any USB mouse can be made to work. To keep things simple, it's better if they support "boot mode". I think most USB mouse support this. If it works on your PC BIOS, it probably does.
(Logitech is not involved, this is part of standard USB HID).
The boot mode supports 3 buttons and 1 wheel, which should cover most needs.


For more complex mouses, you can also use them if you can figure out how the HID report is formatted (either analyzing what changes when you click buttons, or parsing the HID report from your mouse).


The USB port will have to power the mouse, make sure it doesn't need too much power (if it has a lot of LED lights or whatever fancy gadgets you may have problems).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 16:31, 10 June 16
Ok, so I take some USB mouse from PC with no(t much) LED.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Sykobee (Briggsy) on 23:50, 12 June 16
I did receive my card btw, thanks!


Haven't had much of a chance yet to use it, but it looks like it will be very usable soon :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Munchausen on 12:45, 14 June 16
@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26) can I change my order to just one board please?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 14:08, 14 June 16
@ PulkoMandy

I have a 6128 with MotherX4 Plus X-mem, and Albireo.
I am having problems with the Basic program.
I have merged the 2 programs together OK.
Run the program and it says that the CH376 is Detected (rev.    4)

Press 1 Select USB drive (1 Gig Fat 32 with some programs on the Usb Drive)
Press 3 and it Does this ( In Photo )
If i then press 4 I get an overflow in 330   ???

Where do I go from here ??

Thanks   Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 15:54, 14 June 16
Quote from: Audronic on 14:08, 14 June 16
@PulkoMandy

I have a 6128 with MotherX4 Plus X-mem, and Albireo.
I am having problems with the Basic program.
I have merged the 2 programs together OK.
Run the program and it says that the CH376 is Detected (rev.    4)

Press 1 Select USB drive (1 Gig Fat 32 with some programs on the Usb Drive)
Press 3 and it Does this ( In Photo )
If i then press 4 I get an overflow in 330   ???

Where do I go from here ??

Thanks   Ray


Possibly your flash drive. I tested your programs with a no name 2gb Flash Drive and all work fine for me. I cannot find a cabled USB Mouse so cannot test the HID test, but that part needs a type correcting in line 531... change the  , to : otherwuse you get a syntax error.


Craig
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 18:01, 14 June 16
Test an 32 GB USB stick... then you see.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 23:46, 14 June 16
Quote from: CraigsBar on 15:54, 14 June 16

Possibly your flash drive. I tested your programs with a no name 2gb Flash Drive and all work fine for me. I cannot find a cabled USB Mouse so cannot test the HID test, but that part needs a type correcting in line 531... change the  , to : otherwuse you get a syntax error.
Craig


Thanks Craig I will try an other 2 Gig Flash drive, and thanks for the : verses the , in Line 531
I looked in the book and was unable to find the ? separator ? between commands. (I am NOT a Programmer).


Thanks   Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 03:35, 15 June 16
@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26)


Part 2

I am having problems with the Basic program. I have corrected the Syntax in 531.[/font]

Press 1 Select USB drive (Tried with 1/4/8 Gig Fat 32 with some programs on the Usb Drive).
I Get the Error Interrupt Status = 1F
after the second press of 1 it Identifies the USB Stick.

Press 4 and i get an OVERFLOW in 330. ??

Some Help Please.

Thanks    Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:54, 15 June 16
The BASIC is limited to 32bit numbers, so yes, you get an overflow for large drives (I think above 4GB is "large" for the CPC). You can skip command 4 and use 5 to see if you can still list files.


OffseT is working hard on getting the complete driver with AMSDOS integration completed. He plans to finish the ROM version during or shortly after the ReSeT party (next week). This one should not have this problem, I hope. Maybe it will not show the correct capacity for such large drives, however.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 10:25, 15 June 16
Quote from: PulkoMandy on 07:54, 15 June 16
The BASIC is limited to 32bit numbers, so yes, you get an overflow for large drives (I think above 4GB is "large" for the CPC). You can skip command 4 and use 5 to see if you can still list files.


OffseT is working hard on getting the complete driver with AMSDOS integration completed. He plans to finish the ROM version during or shortly after the ReSeT party (next week). This one should not have this problem, I hope. Maybe it will not show the correct capacity for such large drives, however.


OK thanks i will have a look for a smaller USB stick and see what happens.


The switches, is there a default that is used.


Thanks   Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 12:21, 15 June 16
@ PulkoMandy


I tried with a 128 Meg SD Card (Fat32) and the same Overflow in 330


Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:35, 15 June 16
Ok, can you try this one? It displays in hexadecimal and in sectors only. It should work though :-)


EDIT: DSK deleted, please use the one in my subsequent post.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 23:51, 15 June 16
Quote from: TFM on 19:35, 15 June 16
Ok, can you try this one? It displays in hexadecimal and in sectors only. It should work though :-)
Hi TFM

Thanks it works no more overflow in 330, and as a Proof of Concept it means that the board works Ok with the USB Stick.

Now I can start to test the SD Card.

Thanks   Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 15:19, 17 June 16
Oh, yesterday I had some time to work with the nice little Albireo and I saw there was another type in the BASIC program. I changed it and also made some things a bit more different: When I use the HID mouse it displays interrupt error &23 (it expects another one). Now it will not scroll through any longer. Also I exchanged up and down, so the mouse point it now shown where the mouse is moved. Also added another version of the program where plot is replaced by draw, so you see the mouse tracks more clear. Enjoy mousing around.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 05:35, 21 June 16
@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26)


Unit # 10 sent to Audronics Works -- Yeahhh
I used TFM's Albireo.dsk  Thanks TFM.
Usb stick OK
Micro SD Card   OK
Rodent Plugged into Usb Port OK

Just waiting for some Programs for the Albireo - File/Rom

Thanks     Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:28, 27 June 16

Available software (update)

Ok I had some time for hacking during the ReSeT party.

For the overflow, just change the DEFINT near the top of the listing from DEFINT A-Z to DEFINT U-Z. The sector size code will then use floats which avoids the overflow.

I've seen some great prototypes of the software for the board. OffseT has all the SD and USB card access working from BASIC, with the usual save/load/cat/... commands. Currently this is a bit difficult to use as the code lives in RAM, but he is in the process of converting it into a ROM which will replace ROM 7 AMSDOS. With this setup, SD card will be drive A and USB will be drive B, to provide maximal compatibility with existing software.

CloudStrife also made progress on a file transfer tool using the serial port. The PC side is written in Python and there is a BASIC+ASM code which you can use on the CPC side. The listing is short and allows to download a file from the PC to the CPC RAM. You can type this in on the CPC and then use it to load anything else. So even if you don't have any floppies available, you can easily get started with the board and download the ROM or other software to use with it.

Without much optimizations we are already running at 43KB/s, that is, it takes less than 3 seconds to fill the CPC RAM. We can get the serial routines to be even faster than this, there is room for lots of improvements. We have also experimented with the ability to reset the CPC from the PC side of the serial link, which works great.

I don't have any binaries yet, I leave that to the people working on the software.


Cloudstrife got one board and will continue to develop the serial transfer software.


Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!


You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.


I'm assembling the boards on my free time, which is unfortunately a scarce resource. Please be patient.


Already shipped (with tracking numbers for those who chosen tracked shipping)


Please let me know when your board is delivered!




       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor (delivered)
  • 3 - Prodatron (delivered)
  • 4 - cpcmaniaco(delivered)
  • 5 - ||C||-||E|| (delivered)
  • 6 - TFM (x1) (delivered)
  • 7 - pelrun (delivered)
  • 8 - hsimpson (delivered)
  • 9 - majikeyric (x1) (delivered)
  • 10 - SOS (delivered)
  • 11 - Audronic (delivered)


       
  • 12 - gros_minet (delivered)
  • 13 - Fessor (delivered)
  • 14 - Sykobee (Briggsy) (no tracking)
  • 15 - CraigsBar
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)
  • 17 - tonio8bits 1L01692919632 (http://www.csuivi.courrier.laposte.fr/suivi/index?id=1L01692919632)
  • 18 - PulkoMandy (rev.1 board kept for reference and testing)
  • 19 - CloudStrife
  • 20 - Hicks
  • 21 - Prodatron (replacement for broken prototype board)
  • 23 - Gerald (for investigation of serial port problems)


Batch 1 waiting list
Status: Assembly and delivery in progress.


       
  • 22 - skywalky
  • 24 - Jungsi
  • 25 - Poliander
  • 26 - Yannis_uno
  • 27 - Rennert
  • 28 - HAL6128
  • 29 - Joseman
  • 30 - Tai
  • 31* - Grim
  • 32 - cosa_nostra_6128
  • 33 - Targhan
  • 34 - oratyper

       
  • 35 - NiNxPe
  • 36 - Vandalsk (x1)
  • 37 - Dirtybb
  • 38 - Dubliner
  • 39 - ronaldo (x1)
  • 40~ - cpcmaniaco (x1)
  • 41 - Munchausen
  • 42 - jrodriguezv (x1)
  • 43 - netmercer
  • 44 - Shining
  • 45 - archosmo

       
  • 46 - awergh
  • 47 - wilco2009
  • 48 - dodogildo
  • 49 - Apollo (x1)
  • 50 - Ast
  • 51 - dxs
  • 52 - AlexD
  • 53 - jaime
  • 54 - merlinkv (x1)
  • 55 - zhulien (x1)

Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: remax on 12:13, 27 June 16
Quote from: PulkoMandy on 09:28, 27 June 16

Available software (update)


Ok I had some time for hacking during the ReSeT party.For the overflow, just change the DEFINT near the top of the listing from DEFINT A-Z to DEFINT U-Z. The sector size code will then use floats which avoids the overflow.I've seen some great prototypes of the software for the board. OffseT has all the SD and USB card access working from BASIC, with the usual save/load/cat/... commands. Currently this is a bit difficult to use as the code lives in RAM, but he is in the process of converting it into a ROM which will replace ROM 7 AMSDOS. With this setup, SD card will be drive A and USB will be drive B, to provide maximal compatibility with existing software.CloudStrife also made progress on a file transfer tool using the serial port. The PC side is written in Python and there is a BASIC+ASM code which you can use on the CPC side. The listing is short and allows to download a file from the PC to the CPC RAM. You can type this in on the CPC and then use it to load anything else. So even if you don't have any floppies available, you can easily get started with the board and download the ROM or other software to use with it.Without much optimizations we are already running at 43KB/s, that is, it takes less than 3 seconds to fill the CPC RAM. We can get the serial routines to be even faster than this, there is room for lots of improvements. We have also experimented with the ability to reset the CPC from the PC side of the serial link, which works great.


I don't have nay binaries yet, I leave that to the people working on the software.


Targhan got one board and I hope he will be working on updating the Arkos ROMs and the Arkos Tracker client software for compatibility with this new board.


Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!


You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.


I'm assembling the boards on my free time, which is unfortunately a scarce resource. Please be patient.


Already shipped (with tracking numbers for those who chosen tracked shipping)


Please let me know when your board is delivered!



       
  • 0 - PulkoMandy (delivered)

       
  • 1 - OffseT (delivered)

       
  • 2 - Gryzor (delivered)

       
  • 3 - Prodatron LA004676145FR

       
  • 4 - cpcmaniaco(delivered)

       
  • 5 - ||C||-||E|| (delivered)

       
  • 6 - TFM (x1) (delivered)

       
  • 7 - pelrun (delivered)

       
  • 8 - hsimpson (delivered)

       
  • 9 - majikeyric (x1) (delivered)

       
  • 10 - SOS (delivered)

       
  • 11 - Audronic (delivered)

       
  • 12 - gros_minet (delivered)

       
  • 13 - Fessor (delivered)

       
  • 14 - Sykobee (Briggsy) (no tracking)

       
  • 15 - CraigsBar

       
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)

       
  • 17 - tonio8bits 1L01692919632

       
  • 18 - PulkoMandy (rev.1 board kept for reference and testing)

       
  • 19 - Targhan

       
  • 20 - Hicks

Batch 1 waiting list
Status: Assembly and delivery in progress.


       
  • 21 - skywalky

       
  • 22 - Jungsi

       
  • 23 - Poliander

       
  • 24 - Yannis_uno

       
  • 25 - Rennert

       
  • 26 - HAL6128

       
  • 27 - Joseman

       
  • 28 - Tai

       
  • 29* - Grim

       
  • 30 - cosa_nostra_6128

       
  • 31 - Optimus

       
  • 32 - oratyper

       
  • 33 - NiNxPe

       
  • 34 - Vandalsk (x1)

       
  • 35 - Dirtybb

       
  • 36 - Dubliner

       
  • 37 - ronaldo (x1)

       
  • 38~ - cpcmaniaco (x1)

       
  • 39 - Munchausen

       
  • 40 - jrodriguezv (x1)

       
  • 41 - netmercer

       
  • 42 - Shining

       
  • 43 - archosmo

       
  • 44 - awergh

       
  • 45 - wilco2009

       
  • 46 - dodogildo

       
  • 47 - Apollo (x1)

       
  • 48 - Ast

       
  • 49 - dxs

       
  • 50 - AlexD

       
  • 51 - jaime

       
  • 52 - merlinkv (x1)

       
  • 53 - zhulien (x1)

       
  • 54 - Tolkin (x1)

       
  • 55 - Skunkfish
Batch 2 waiting list
Status: Nothing done yet.

       

       
  • 56 - madram

       
  • 57 - Krusty

       
  • 58 - Beb

       
  • 59 - majikeyric (second board)

       
  • 60 - CraigsBar (second board)

       
  • 61 - TFM (second board)

       
  • 62 - tonio8bits (second board)

       
  • 63 - Merlinkv (second board)

       
  • 64 - Ronaldo (second board)

       
  • 65 - Zhulien (second board)

       
  • 66 - jrodriguezv (second board)

       
  • 67 - Tolkin (x2)

       
  • 68 - Apollo (second board)

       
  • 69 - (awaiting orders...)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: skywalky on 13:26, 27 June 16
I'm the next one!!!  ;D ;D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 15:32, 08 July 16
Well, in the mouse HID part of the basic listing there are lines like:

OUT CMD,&15:OUT &CMD,&7
OUT CMD,&15:OUT &CMD,&6

I guess this should be DAT instead of CMD for the 2nd OUT:

OUT CMD,&15:OUT &DAT,&7
OUT CMD,&15:OUT &DAT,&6

Interestingly both versions of the program work.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 03:21, 09 July 16
@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26)


Any Update on software available or any links  Please
Thanks    Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 08:45, 11 July 16
Quote from: TFM on 15:32, 08 July 16
Well, in the mouse HID part of the basic listing there are lines like:

OUT CMD,&15:OUT &CMD,&7
OUT CMD,&15:OUT &CMD,&6

I guess this should be DAT instead of CMD for the 2nd OUT:

OUT CMD,&15:OUT &DAT,&7
OUT CMD,&15:OUT &DAT,&6

Interestingly both versions of the program work.






Yes, you are right, this should be DAT. This is for resetting the USB device, I guess the other version works because resetting is not strictly needed.


As for software availability: there is still nothing released yet. This is not under my control as I'm waiting for other people to write the software  ;D
Cld is working on porting the Arkos ROMs to use the serial interface. OffseT is working on a ROM for filesystem access, but has some other projects in progress.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 09:07, 11 July 16
Quote from: PulkoMandy on 08:45, 11 July 16
As for software availability: there is still nothing released yet. This is not under my control as I'm waiting for other people to write the software  ;D
Cld is working on porting the Arkos ROMs to use the serial interface. OffseT is working on a ROM for filesystem access, but has some other projects in progress.


Ok Thanks   Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: slarti on 19:11, 14 July 16
Hi Pulko

If you have some space in your FIFO, please add me to the queue  ;D
It looks really nice and I'm wondering what's possible with it.

Thanks for your great work,

Slarti
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 21:36, 14 July 16
Quote from: PulkoMandy on 08:45, 11 July 16
Yes, you are right, this should be DAT. This is for resetting the USB device, I guess the other version works because resetting is not strictly needed.


Interestingly it seems to be needed, did quite some tests with this nice piece of hardware, but also there seem to be a lot of undocumented features of the CH376 chip. So I need some time to get that all together.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 21:30, 29 August 16
OK I am too stupid for this board!

Does anyone havea mouse that is known to work....

I have tried many and although most do nothing (one or 2 return an Error 23)

I do not know what the HID MOuse test is actually meant to do!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 22:41, 29 August 16
Quote from: CraigsBar on 21:30, 29 August 16
Does anyone have a mouse that is known to work....


I use an old cheap USB mouse. Guess everyone works. Get the DSK I posted before, it can show you the mouse moving on screen. Also the error code is normal.  :)


Here:
Albireo - USB/SD/Serial interface for CPC (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/albireo-usbsdserial-interface-for-cpc/msg128737/#msg128737)

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 23:37, 29 August 16
I used your dsk from the 17th june. Is there a newer one? When you say the screen should show the mouse, you mean the 1 pixel should move? In which case.... Arse! I need to keep on hunting for a working mouse.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 00:27, 30 August 16
Quote from: CraigsBar on 23:37, 29 August 16
I used your dsk from the 17th june. Is there a newer one? When you say the screen should show the mouse, you mean the 1 pixel should move? In which case.... Arse! I need to keep on hunting for a working mouse.


OK After more fiddling I have found that a 1 button Apple Mouse (circa 2006) works just fine. Does anyone else know of a confirmed working mouse so I can go buy one ;)


A CPC Mouse with only 1 button sounds nasty LOL
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 16:23, 30 August 16
I guess it depends on power consumption, I only checked one mouse and it worked. Well, going to check some more now. (On DSK there are two versions: One moves a point, one draws a line, I do have a newer version somewhere, but not at this PC).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 21:48, 30 August 16
Quote from: TFM on 16:23, 30 August 16
I guess it depends on power consumption, I only checked one mouse and it worked. Well, going to check some more now. (On DSK there are two versions: One moves a point, one draws a line, I do have a newer version somewhere, but not at this PC).
Yeah, I tested both versions. The one button apple mouse is the only one that works on either version.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 21:56, 02 September 16
Quote from: CraigsBar on 21:48, 30 August 16
Yeah, I tested both versions. The one button apple mouse is the only one that works on either version.
OK.. I found another box of mouses and found 4 that work! 2 dell, one wireless one cabled, one lenovo and one Logitech. @Prodatron , any chance of support for the Albireo mouses and mass storage in symbos?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:18, 03 September 16
Quote from: CraigsBar on 21:48, 30 August 16
Yeah, I tested both versions. The one button apple mouse is the only one that works on either version.


Have a look at my updated version, providing much more data, but it's slower (hey, it's basic!). Pleas move mouse slow and look at given data. Maybe this can be helpful for you. Checks: dX, dY, wheel, buttons 1-3...


Start file "AMS"  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 19:44, 03 September 16
Quote from: TFM on 19:18, 03 September 16

Have a look at my updated version, providing much more data, but it's slower (hey, it's basic!). Pleas move mouse slow and look at given data. Maybe this can be helpful for you. Checks: dX, dY, wheel, buttons 1-3...


Start file "AMS"  :)
Thanks @TFM will run some tests on both the working and not working mouses.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:47, 03 September 16
Quote from: CraigsBar on 19:44, 03 September 16
Thanks @TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179) will run some tests on both the working and not working mouses.


Oh, I didn't investigate if "hot plug and play" has any influence... btw...  :-X
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 19:59, 03 September 16
Quote from: TFM on 19:47, 03 September 16

Oh, I didn't investigate if "hot plug and play" has any influence... btw...  :-X
With the tools copied onto the xmass or m4 load time from a cold plug is minimal. ;)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 00:15, 04 September 16
 :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 20:27, 04 September 16
Quote from: CraigsBar on 19:44, 03 September 16
Thanks @TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179) will run some tests on both the working and not working mouses.


Hi, did some tests by myself. One mouse didn't work so I altered the line 540 in the AMS program. Just delete the "if .... goto" part, then more mice should work. Give it a try (works 100% for me, ok, only tested two mice).


Some mice obviously don't report "Command completed".
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 14:01, 06 September 16
Hi,


Here are some news:


Cld is still working on the serial port support. He now has a simple tool to send and receive files using the XModem protocol. However we found that the 0xFF byte does not work reliably (just this one value). We are investigating this, and until the issue is fixed I don't want to ship more boards. This is why the shipping is further delayed. Sorry about that.

I know several persons are in for the USB port and the mass storage parts, and don't care about the serial port. But, I'd rather ship something that fully works.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 16:40, 08 September 16
Sorry for the mouse test delays... My vampire 600 v2 arrived this week so I am having some Amiga 600 time.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 17:02, 21 September 16
Quote from: PulkoMandy on 14:01, 06 September 16
.... and until the issue is fixed I don't want to ship more boards. This is why the shipping is further delayed.


What can people do who already got their board?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:18, 23 September 16
Write software for it  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 09:32, 23 September 16
Quote from: PulkoMandy on 09:18, 23 September 16
Write software for it  :D
Or like me.... Hope for symbos support for the mouse soon ;)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 20:51, 23 September 16
Quote from: PulkoMandy on 09:18, 23 September 16
Write software for it  :D

Oh, that's what I do. But my question was rather of this kind.

Let's assume the nice little Albi has some bug: Can this cured by software? Or do I need to send the board to you? Or should I just not bother at all.


BTW.: I got already a very nice driver for USB mouses (runs with 100% of my tested mouses) - Thanks to your BASIC program code of course.  ;D

Hope to be able to do more soon  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CloudStrife on 22:50, 23 September 16
Unfortunately we don't know what is the bug yet...
The main hypothesis was a hardware problem (communication between the FT231X and the TL16C550) but measure seem to indicate it was not the case.
Since that I don't get time to redo more software test :(
And I don't have hope for this week-end and this week...

For the CH376 part it's seem to work just fine, the DOS from OffseT work for me without problem. It's for the moment only in RAM mode ( I am not the only one without available time :/ ) but I currently use exclusively the SD for working after the boot.

For the serial interface, if we don't find the problem or can't correct it, I have a last chance workaround by using the serial interface only in 7 bits mode or having some escape sequence and forbidden value but it will have a very big impact on the transfer speed.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 18:03, 24 September 16
So if only the &FF byte makes a problem, then a "work around" should be so bad, yes use a ESC sequence, shouldn't slow down that bad (I hope).


But maybe the problem is NOT inside the Albi card? Maybe it's the software on PC side or the PC? Of course I'm only guessing around.


My best wished! And never mind with the "no time", that's happening to mos of us. Take your time.  :) :) :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CloudStrife on 23:01, 24 September 16
I really don't think it's on the PC side, 0xFF are correctly transmitted (if we don't make mistake on the measure after the usb->serial adapter), but it can be on the CPC, maybe I am really an idiot and make an horrible mistake, or I am a bit less idiot and don't correctly understand a strange mode of the serial controller :)

For the workaround, the problem is not the serial speed... But the Z80 speed... You need at least 5 more NOP per octet to do the test...
For the current simple I use it mean going from a theoretical 45.4ko/s to 37ko/s. But it's make some optimization more difficult: one of my idea was to do burst transfer from the FIFO, still doesn't know if it's really work but the theoretical speed was something around 8µs per octet... So 5 more is a lot AND because you don't get the same number of serial read and memory write it's make the code around a bit more complex.

And for me the worst part... It's mean we need to do specific protocol for the Albireo :/ Really does'nt like the idea :(
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 23:07, 24 September 16
Ok, let's prohibit &FF in CPC world.  ;D


Seriously, best is sometimes to leave it for a couple of days and then (later) return to it. Sometime one is to close to the bug to see it. At least it helped me couple of times.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:33, 25 September 16
I am helping CloudStrife as much as I can, but my simple 2-channel oscilloscope is a bit limited. The 0xFF looks correct to me (I see only a start bit at 0V, and then the line stays high for some time), but I could have missed something. I'll run some more tests until I can be sure.


Except for this issue, if there are other problems on some boards, I can replace them. I hope it will not be the case. I tested the software I had before sending the boards, but for the first few ones I didn't have the serial port testing in place yet. This is only 4 lines on the PCB but they are between the two chips with very small pins, which makes it a bit difficult to fix and even see problems.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: gerald on 10:44, 25 September 16
Quote from: PulkoMandy on 10:33, 25 September 16
I am helping CloudStrife as much as I can, but my simple 2-channel oscilloscope is a bit limited. The 0xFF looks correct to me (I see only a start bit at 0V, and then the line stays high for some time), but I could have missed something. I'll run some more tests until I can be sure.
What is the reference clock for sender and receiver ?
Can you compare the low level timing of both side sending a 0xFF. If the timing is different, you may have a clock precision/configuration problem.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:09, 25 September 16
The reference clock is generated by the FT231X. It uses a 48MHz clock internally for both the USB and serial sides. It outputs a 24MHz clock to the TL16C550D which further divides it to generate its baudrate clock. It also outputs a 12MHz version to the chip handling the USB-host things, but that should not be relevant here.


The baudrate generators on either side are similar. At 115200 bauds, they should both be set to divide-by-13 if I get my math right (24MHz/16/115200). The exact value is 13.020833... so the FTDI fractional divider should not be used (it can do 1/4 or 1/8 precision only, so 13 is the closest it can do).


The fact that they share the same clock source means they should run in exact sync. That was the point of putting the FTDI chip directly on the board instead of using a TTL-level serial port output or adding in a MAX232.


The problem could be a different choice of dividers in either side. I don't know what windows and linux drivers for the FTDI chip are doing, and I don't know what CloudStrife code is doing either. But, all other chars seem to pass properly, so I'm surprised to see a problem.


I was also wondering if adding an extra parity byte for even parity could help. That would force a 0 bit to be sent after the 0xFF, maybe helping things to synchronize at the low-level side (and provide a little mode error detection, at least). But it will also reduce the transfer speed by 10%.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: gerald on 12:08, 25 September 16
Both using the same clock may be part of the problem.
When it's said that the 0xFF is not reliable, what is the missing rate ? Is it from FT to TL, TL to FT or both ?
The 0xFF case is quite specific as you only have a start bit. If the start bit from the FT is too short, it my just be ignored by the TL (which surely has input filtering).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 12:42, 25 September 16
The missing rate is close to 100% when sending a random string of characters. The presence of a 0xFF tends to corrupt the next char as well (but that may be a software problem). when sending only 0xFF bytes, I think about half of them get through on my setup, but I'll have to check to make sure.


This happens from FT to TL (PC to CPC), we have not tested the other way yet as the test program on CPC can only send what you type on the keyboard and there is no key that sends 0xFF.


The start bit looked about right, with the limited precision of my scope. But right, if both chips run on exactly the same clock, and with slightly different dividers, that could explain it (and yes, there is some input filtering but I didn't find any docs on how many times the input is sampled before making a decision).


I measured the start bit (and other bits) at 8.4us (but that's not a very precise measurement with my analogue scope). That would be a baudrate of 119047 instead of 115200, so, quite a bit off the mark. But I'd think it's a problem with the way I'm doing the measurement, as it would be surprising for FTDI's drivers to be this far off? I have also tried to set a custom baudrate of 110000 bauds, and RealTerm crashed  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 16:49, 25 September 16
Quote from: PulkoMandy on 12:42, 25 September 16
This happens from FT to TL (PC to CPC), we have not tested the other way yet as the test program on CPC can only send what you type on the keyboard and there is no key that sends 0xFF.

Add the BASIC line:[nb]Sorry for that[/nb]

key 0,chr$(255)

Now pressing the F0 key will create &FF
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CloudStrife on 10:27, 26 September 16
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179) Yep, not complicate, just that does'nt made the test yet, I initially concentrate on the PC->CPC side and verification of my reception code. My apartment make difficult to have a permanent setup of my CPC, so can't do quick test, so I need to take a full afternoon on it if I want to do something interesting.
(by the way, I am pretty sure that your line will work, all my softs use the system or are compatible with it)

For information I made my tests at 1.5Mbaud, 115200 baud and as slow as 9600 baud... with the same results each time...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 18:51, 26 September 16
Ok, one super stupid idea from my side... telling already sorry about it... but... could it help to hook up two CPCs with two Albireo cards and let them communicate? The reason would be to check if the error is still there, then it's a problem of the Albireo. If not it may be a timing problem or a PC problem.


Anybody our there having two Albireo cards set up?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 18:56, 26 September 16
You can't do that, because the USB conversion is made directly on the Albireo board. So you have two USB devices, and there are no way to plug them together (only plug them to a computer which is an USB host).


We have reproduced the problem on two completely different setups: my computers and CloudStrife's ones. The OS changes (I used Windows for this test, he used Linux), the Albireo board changes (serial mnumbers 18 and 19), the USB cable changes, everything changes. But the results are the same.


So, it's either a design error on the board, or a bug in the test program.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TFM on 19:09, 26 September 16
Or a timing error, because the PC hardware (both the same in your setups) has different timings. I know nothing about USB, but is there a chance to alter some kind of "configuration"? (Just try to help).  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 19:32, 26 September 16
The strictly USB side is fine (I think). The problematic signals are on the Albireo board. It is setup like this:


PC <--USB-->FT231X<--RS232-->TL16C550D<--EXP port-->CPC


The USB protocol has pleinty of checksums and modern features, so if the problem was there, the OS would loudly complain. Also, the FT231X is handling this, is used in many other products without any problems.

The expansion port, well, we all know how it works  :laugh:.

This leaves us with the "RS232" serial link between the two chips on the albireo board. It is possible to set the baudrate on both side (the PC can set the FT231X baud rate, and the CPC can set the TL16C550D). The timings look "about correct" (that's the best I can do with my tools), which means the 0xFF byte got through the USB link and is being sent on the RS232 wires.

Also, I tried the "key 0" redefinition, but it doesn't work. Entering the test program (both with load and call) resets the key to sending "0".
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 17:02, 08 October 16
First test of the new Albireo USB mouse driver in SymbOS CPC  :D

https://www.youtube.com/watch?v=2kIjcEHsflI

It's nearly fully working including the mouse wheel, there is only sometimes an issue with the mouse buttons, which I try to fix now. Currently you need a simple USB mouse, I couldn't activate my gaming mouses with the Albireo in general yet. Maybe we have to init them in another way.
Maybe it's possible to have a public beta release of SymbOS CPC 3.0 tomorrow or monday with Albireo and M4Board support :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: robcfg on 08:10, 09 October 16
It'a going to be best monday ever!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 12:30, 09 October 16
Quote from: Prodatron on 17:02, 08 October 16
First test of the new Albireo USB mouse driver in SymbOS CPC  :D

https://www.youtube.com/watch?v=2kIjcEHsflI

It's nearly fully working including the mouse wheel, there is only sometimes an issue with the mouse buttons, which I try to fix now. Currently you need a simple USB mouse, I couldn't activate my gaming mouses with the Albireo in general yet. Maybe we have to init them in another way.
Maybe it's possible to have a public beta release of SymbOS CPC 3.0 tomorrow or monday with Albireo and M4Board support :)
Hell yeah! This Monday will feature..... New games, jean michel jarre, new symbos and I am collecting a retro haul containing a speccy +3 and an N64.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:55, 12 October 16
Ok, so after Prodatron implemented the mouse with some actual use besides my little demo program, he noticed that something wasn't working quite right, often mouse clicks would be missed.


I made some research on WCH forums (WCH is the chinese manufacturer of the main USB chip on the Albireo). And I found the explanation there after some Google Translate and experimentations to confirm my understanding of translated chinese.


Anyway, the important part is that I understood and fixed the problem, and before I forget about it again, I wrote a detailed write-up of how this all works. If you are interested in adding support for USB mouses in your programs (Imperial Mah Jong? Perfect Pix? OCP Art Studio? IMPDraw?), here are the instructions for writing a simple mouse driver: http://pulko.mandy.pagesperso-orange.fr/shinra/albireo.shtml#heading_toc_j_35

It gives you an idea how simple USB can be. It opens some other possibilities as well: MIDI keyboards and other devices, gamepads, webcams, printers...

Of course I'm available if you need help and support with this.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 21:10, 12 October 16
Fantastic news!! Thanks so much for your researches, I will implement it as soon as possible! :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 22:28, 12 October 16
;) awesome news.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: HAL6128 on 06:28, 13 October 16
@PulkoMandy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=26) ...do you still produce the Albireo boards?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 08:16, 13 October 16
Yes, but I have stopped assembling them until we can figure out the problems with the serial port, as I'm still not sure if there is an hardware problem there.
If people are not interested in the serial port and only want USB and SD card, I can ship boards with non-working serial ports, but I'd prefer getting them completely working.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 11:46, 13 October 16
Will there be an chargeable upgrade 'upgrade' service once the problem is fixed? Presumably any PCB changes will incur costs to you.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:54, 13 October 16
Yes, if we find out that PCB changes are indeed required, I will provide information about how to patch the boards (if possible), and patch/replace the existing boards. As usual, my problem with building too many boards at once to save costs and not writing enough software to test them...


We'll see, at this point it is also quite possible that the problem is on the software side. I've shipped a board to Gerald as he probably has better tools than me to investigate the problem. Now that the HID mouse is working well, I will also try to write my own test software to see if I get different results (as there is currently only one implementation of the driver, it's hard to tell wether there is an hardware problem, or if it's only software).


Note that this only affects the serial link with PC - as far as I know, the USB and SD ports are working without any problems on all shipped boards. And even if the problems ends up being in the hardware design, there may be software workarounds for it - I need to experiment a little and see what I can come up with.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 15:57, 13 October 16
The Albireo USB mouse driver is now 100% working in SymbOS including the buttons! :) (at least with the mouse I am using)
Thanks again, PulkoMandy! I will update the preview package soon!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:31, 13 October 16
I'm interested in compatibility reports from other people with this driver. I will see if it's possible to improve compatibility with more mouses.


And, thanks again for supporting the board in SymbOS :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: gerald on 16:56, 13 October 16
Quote from: PulkoMandy on 11:54, 13 October 16
We'll see, at this point it is also quite possible that the problem is on the software side. I've shipped a board to Gerald as he probably has better tools than me to investigate the problem.
Hopefully, I will have a look at it this week end.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CloudStrife on 20:18, 04 December 16
News from the front:
It seem to be an level signal incompatibility between the clock signal from the FT23X (USB/UART interface) working at 3.3 Volts and the TL16C550D (UART) when working at 5 Volts. All input of the TL16C550D are at TTL level when working we a supply voltage of 5 Volts, so compatible with the 3.3 Volts output of other device (FT23X and CH376), except one... We fail to see that the clock signal input was in fact not compatible.

We have multiple idea to patch the exist card, we are currently investigating them to found the simplest and see if they are effectively permitting reliable communication.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Audronic on 03:26, 26 December 16
Quote from: PulkoMandy on 16:31, 13 October 16
I'm interested in compatibility reports from other people with this driver. I will see if it's possible to improve compatibility with more mouses.
And, thanks again for supporting the board in SymbOS :)
I was wondering if the code for the Mouse could be put in a stand alone ROM so we have access to the Albireo (Mouse) and other programs ?
Thanks    Ray
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: KaosOverride on 00:32, 28 December 16
Hello PulkoMandy


I'm interested on 2 boards, but I can wait for the fix.


Thanks!!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:27, 02 January 17

Available software (update)

Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!


You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.


I'm assembling the boards on my free time, which is unfortunately a scarce resource. Please be patient.


Already shipped (with tracking numbers for those who chosen tracked shipping)


Please let me know when your board is delivered!




       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor (delivered)
  • 3 - Prodatron (delivered)
  • 4 - cpcmaniaco(delivered)
  • 5 - ||C||-||E|| (delivered)
  • 6 - TFM (x1) (delivered)
  • 7 - pelrun (delivered)
  • 8 - hsimpson (delivered)
  • 9 - majikeyric (x1) (delivered)
  • 10 - SOS (delivered)
  • 11 - Audronic (delivered)


       
  • 12 - gros_minet (delivered)
  • 13 - Fessor (delivered)
  • 14 - Sykobee (Briggsy) (no tracking)
  • 15 - CraigsBar
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)
  • 17 - tonio8bits 1L01692919632 (http://www.csuivi.courrier.laposte.fr/suivi/index?id=1L01692919632)
  • 18 - PulkoMandy (rev.1 board kept for reference and testing)
  • 19 - CloudStrife
  • 20 - Hicks
  • 21 - Prodatron (replacement for broken prototype board)
  • 23 - Gerald (for investigation of serial port problems)


Batch 1 waiting list
Status: Investigating problems with serial port. Some boards delivered without patches.


       
  • 22 - skywalky
  • 24 - Jungsi
  • 25 - Poliander
  • 26 - Yannis_uno
  • 27 - Rennert
  • 28 - HAL6128
  • 29 - Joseman
  • 30 - Tai
  • 31* - Grim
  • 32 - cosa_nostra_6128
  • 33 - Targhan
  • 34 - oratyper

       
  • 35 - NiNxPe
  • 36 - Vandalsk (x1)
  • 37 - Dirtybb
  • 38 - Dubliner
  • 39 - ronaldo (x1)
  • 40~ - cpcmaniaco (x1)
  • 41 - Munchausen
  • 42 - jrodriguezv (x1)
  • 43 - netmercer
  • 44 - Shining
  • 45 - archosmo

       
  • 46 - awergh
  • 47 - wilco2009
  • 48 - dodogildo
  • 49 - Apollo (x1)
  • 50 - Ast
  • 51 - dxs
  • 52 - AlexD
  • 53 - jaime
  • 54 - merlinkv (x1)
  • 55 - zhulien (x1)

Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: majikeyric on 13:39, 02 January 17
I withdraw my interest for a second board (number 65). Thanks.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: skywalky on 16:18, 01 February 17
How about the fix? Is anything already?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:29, 01 February 17
No, not really. I tried one of the two possible fixes and it did not work for me. I will have to try the second one but I did not have time/motivation for it (as the electronics bench is in the basement and there is no heating there, which explains why I'm not very motivated during the winter).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: roudoudou on 17:16, 01 February 17
Optimal conditions for the electronic!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Fedeo on 13:28, 06 February 17
Hi,
I am interested in an interface. It's possible yet?


Thanks!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Imsai_REAM on 19:53, 28 February 17
Hello PulkoMandy


I'm interested on 1 boards, Is possible?

Thanks!!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:06, 01 March 17
Available software


Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.

I'm assembling the boards on my free time, which is unfortunately a scarce resource. Please be patient.

Already shipped (with tracking numbers for those who chosen tracked shipping)

Please let me know when your board is delivered!



       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor (delivered)
  • 3 - Prodatron (delivered)
  • 4 - cpcmaniaco(delivered)
  • 5 - ||C||-||E|| (delivered)
  • 6 - TFM (x1) (delivered)
  • 7 - pelrun (delivered)
  • 8 - hsimpson (delivered)
  • 9 - majikeyric (x1) (delivered)
  • 10 - SOS (delivered)
  • 11 - Audronic (delivered)


       
  • 12 - gros_minet (delivered)
  • 13 - Fessor (delivered)
  • 14 - Sykobee (Briggsy) (no tracking)
  • 15 - CraigsBar
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)
  • 17 - tonio8bits 1L01692919632 (http://www.csuivi.courrier.laposte.fr/suivi/index?id=1L01692919632)
  • 18 - PulkoMandy (rev.1 board kept for reference and testing)
  • 19 - CloudStrife
  • 20 - Hicks
  • 21 - Prodatron (replacement for broken prototype board)
  • 23 - Gerald (for investigation of serial port problems)

Batch 1 waiting list
Status: Investigating problems with serial port. Some boards delivered without patches.


       
  • 22 - skywalky
  • 24 - Jungsi
  • 25 - Poliander
  • 26 - Yannis_uno
  • 27 - Rennert
  • 28 - HAL6128
  • 29 - Joseman
  • 30 - Tai
  • 31* - Grim
  • 32 - cosa_nostra_6128
  • 33 - Targhan
  • 34 - oratyper

       
  • 35 - NiNxPe
  • 36 - Vandalsk (x1)
  • 37 - Dirtybb
  • 38 - Dubliner
  • 39 - ronaldo (x1)
  • 40~ - cpcmaniaco (x1)
  • 41 - Munchausen
  • 42 - jrodriguezv (x1)
  • 43 - netmercer
  • 44 - Shining
  • 45 - archosmo

       
  • 46 - awergh
  • 47 - wilco2009
  • 48 - dodogildo
  • 49 - Apollo (x1)
  • 50 - Ast
  • 51 - dxs
  • 52 - AlexD
  • 53 - jaime
  • 54 - merlinkv (x1)
  • 55 - zhulien (x1)


Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: buzby on 22:02, 03 March 17
Hello Pulkomandy


I am interested in one board please
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Rhino on 16:35, 04 March 17
Please, add me too.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: remax on 10:40, 05 March 17
Are the problem solved ? I was waiting that to order one  ;)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:37, 06 March 17
No, I didn't have time to look at it again for various reasons. I won't ship more cards until I have fixed the problem anyway.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: remax on 15:26, 06 March 17
Well, i guess at least, you can add me to the waiting list...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Scarlettkitten on 21:28, 17 April 17
Put me down for 1 please :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Edoz(MSX) on 22:24, 28 May 17
I like to have one please! I hope you can add me to the list. Thanks!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: ASiC on 23:10, 28 May 17
Could you add me to the list for X1 please?


Thanks  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:33, 17 June 17
 PROBLEMS SOLVED

Finally I had time to complete the investigation, and found the root of the problem with the serial port behaving badly. Many thanks to Cld and Gerald (C4CPC), who both helped me investigating the issue until we could track it down.

Now on to the bad news: the root problem is that the serial chip variant I used is not compatible with the z80 timings  :doh:
So, there is no simple wire-patch I can make to the existing boards. The only solution is to replace the chip.

The good news is that the replacement is pin-compatible, so at least I can use the same PCB and replace just the serial chip. New boards from now on will be made this way. I have to test if I can reasonably replace the chip on old boards without doing too much damage, but I doubt it.

If you have a board already:
- You can use the mass storage part, no problems there.
- You can use the serial port but without the FIFOs, so only at slow speeds

The replacement chip is a SC16C650B from NXP. Besides working nicely with the z80, it has some extra features:
- Support for baud rates up to 3Mbaud / 300ko/s
- FIFOs are 32 bytes instead of 16.

The max. speed for the serial port is now above the max speed the z80 can reach. This means, no other board can provide a faster link to the outside world to your CPC  8) . Filling the complete RAM of a 128K machine will take less than one second. With the large FIFOs, most of the overhead of the serial port (waiting for available bytes) can be avoided: we know there are at least 32 bytes to get in one run, and by the time we are done, there will be 32 more already waiting.

Available software

Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.

I'm assembling the boards on my free time, which is unfortunately a scarce resource. Please be patient.

Already shipped (with tracking numbers for those who chosen tracked shipping)

Please let me know when your board is delivered!



       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor (delivered)
  • 3 - Prodatron (delivered)
  • 4 - cpcmaniaco(delivered)
  • 5 - ||C||-||E|| (delivered)
  • 6 - TFM (x1) (delivered)
  • 7 - pelrun (delivered)
  • 8 - hsimpson (delivered)
  • 9 - majikeyric (x1) (delivered)
  • 10 - SOS (delivered)
  • 11 - Audronic (delivered)


       
  • 12 - gros_minet (delivered)
  • 13 - Fessor (delivered)
  • 14 - Sykobee (Briggsy) (no tracking)
  • 15 - CraigsBar
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)
  • 17 - tonio8bits 1L01692919632 (http://www.csuivi.courrier.laposte.fr/suivi/index?id=1L01692919632)
  • 18 - PulkoMandy (rev.1 board kept for reference and testing)
  • 19 - CloudStrife
  • 20 - Hicks
  • 22 - Prodatron (replacement for broken prototype board)
  • 23 - Gerald (for investigation of serial port problems)
  • 26 - Zik (self assembled)

Batch 1 waiting list
Status: Investigating problems with serial port. Some boards delivered without patches.


       
  • 21 - skywalky
  • 24 - Jungsi
  • 25 - Poliander
  • 27 - Yannis_uno
  • 28 - Rennert
  • 29 - HAL6128
  • 30 - Joseman
  • 31 - Tai
  • 32* - Grim
  • 33 - cosa_nostra_6128
  • 34 - Targhan
  • 35 - oratyper

       
  • 36 - NiNxPe
  • 37 - Vandalsk (x1)
  • 38 - Dirtybb
  • 39 - Dubliner
  • 40 - ronaldo (x1)
  • 41~ - cpcmaniaco (x1)
  • 42 - Munchausen
  • 43 - jrodriguezv (x1)
  • 44 - netmercer
  • 45 - Shining
  • 46 - archosmo

       
  • 47 - awergh
  • 48 - wilco2009
  • 49 - dodogildo
  • 50 - Apollo (x1)
  • 51 - Ast
  • 52 - dxs
  • 53 - AlexD
  • 54 - jaime
  • 55 - merlinkv (x1)


Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 23:12, 17 June 17
I shouldn't be on the list, my board was received but given to CloudStryfe at the latest Reset. I don't need this board right now, so don't hesitate to scratch my name and have someone else have it!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: remax on 20:14, 19 June 17
When it'll be my turn, and unless you move until then, i think we'll be able to avoid postage  :P
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: zhulien on 02:55, 05 August 17
I'm next :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: krusty_benediction on 08:49, 05 August 17
Will it be possible to use both CPC-WIFI and Albireo (and switch of storage support with a simple rsx) ?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 19:57, 06 August 17
Quote from: krusty_benediction on 08:49, 05 August 17
Will it be possible to use both CPC-WIFI and Albireo (and switch of storage support with a simple rsx) ?
I use mine in conjunction with the m4 board. I use the m4 mass storage and the Albireo as a mouse controller for symbos. It is an amazing combo.

Sent from my ONEPLUS 3t using Tapatalk

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 08:53, 07 August 17
There are no I/O ports conflicts, so at least that part should work.
As for how the disk ROMs behave, I don't know, you'll have to ask the respective developers. But I don't see why not. The Albireo disk ROM does its best to not be invasive. I think the final version will be usable either as a replacement for AMSDOS running as ROM 7, which would bring maximal compatibility, or as a separate ROM, in which case ROM 7 can be used for something else.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: skywalky on 08:44, 23 August 17
Quote from: PulkoMandy on 20:33, 17 June 17
PROBLEMS SOLVED
Are you going to resume the sales? I'm the first in the waiting list  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:30, 23 August 17
Yes, I just want to be really sure that there are no more problems now. I just need to finish writing the testing code and make sure I can reliably transfer files using the serial link (in both directions). So you get the final version of the board and I don't need to replace it later.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 18:17, 05 November 17
Hi there,


So, as the Alchimie Demoparty is near, it's time I prepare this... I had some time this and the previous week-end to finish the work. So, the good news: the new chip is confirmed working, and I finished orting the Arkos ROM to support Albireo at full baudrate (1.5Mbaud). I still need to confirm the readdsk and writedsk commands aer working, but I made several tests with getfile and sendfile and I'm getting good and reliable results.


This means I have no reason anymore to delay building and shipping more boards. So that will resume soon.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 20:39, 05 November 17
Quote from: PulkoMandy on 18:17, 05 November 17
Hi there,


So, as the Alchimie Demoparty is near, it's time I prepare this... I had some time this and the previous week-end to finish the work. So, the good news: the new chip is confirmed working, and I finished orting the Arkos ROM to support Albireo at full baudrate (1.5Mbaud). I still need to confirm the readdsk and writedsk commands aer working, but I made several tests with getfile and sendfile and I'm getting good and reliable results.


This means I have no reason anymore to delay building and shipping more boards. So that will resume soon.
Yippee [emoji16] great news. More available Symbos mouse Controllers

Sent from my ONEPLUS 3t using Tapatalk

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Hergoth on 22:51, 05 November 17
Hi!
My 464+ wants one  :P


Thanks!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 01:12, 06 November 17
There is a SymbOS CH376 driver now for USB mass storage devices. In this case I was using a 128GB memory stick on the MSX ("Rookie Drive"):

(https://scontent.ftxl1-1.fna.fbcdn.net/v/t35.0-12/21895081_10209565276722921_1573925354_o.jpg?oh=808ade9bc4df23f1600e48298f7e9a78&oe=5A01D77A)

The driver could be used for the Albireo as well. SymbOS supports up to 2TB ("2TB should be enough for everyone"). Now I have to think about how to introduce a flexible driver system for the CPC, too (like we have for the MSX).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Munchausen on 02:52, 06 November 17
This is awesome! Does it support hubs so you can use the mouse at the same time?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 23:24, 06 November 17
Quote from: Munchausen on 02:52, 06 November 17
This is awesome! Does it support hubs so you can use the mouse at the same time?
Not sure about this, but it seems so. No idea how complex it is this to add USB-HUB support.
The USB protocol is terrible complex and flexible ;) That's the reason, why currently not all mouses are working. The HID protocol allows all kind of numbers and bit-depths for all x/y/buttons/wheels etc. It's a nice exercise, but if you want to do a short driver for an Z80 system it's a little bit annoying. The mass storage part is easier.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: zhulien on 17:09, 06 December 17
are there any albireo available forsale?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Ast on 12:22, 07 December 17

some news from my "filemanager"


Follow me (http://amstradplus.forumforever.com/t366-New-FileManager.htm#p4954), if you want to know more....



Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 19:20, 04 March 18
Any news here?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Ast on 19:48, 04 March 18

it's coming...  ;D
Just let me finish iMPdos first...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 14:29, 16 February 20
Long overdue status update

Hi there! Well it's been some time since I gave news about Albireo. Unfortunately, not-so-great news, but...

So, we had found a problem with the serial controller used in the initial 1.0 boards, and found a replacement chip. Some people sent me their cards back for upgrade (if I manage to desolder the old chip without breaking anything) or replacement (if I break something). Everything looked fine and Cloudstrife ordered PCBs for a second batch of boards, however...

The replacement chip we had found is now obsolete and out of stock in most places. So, we need to find and test yet another chip. We have identified one which should be compatible, but given the issues with the first chip used, we want to be really sure...

Various other real life things have interferred and I had no time to update the list here. However, things continued to happen for Albireo. I have sold cards to several people I met at demoparties, trying to priorize the ones who would write software for it, rather than just want to use it. You have recently seen the result of this for example with support for Albireo in Arkos Tracker. I have updated the list below to reflect this. If you are the owner of one of the borads number 21 to 33, let me know so I can adjust the list, it seems I forgot some people here.

I will check with Cloudstrife (who has the current stock of components and PCBs) how we proceed with assembling and shipping more of the boards.

Board from number 30 up are using a new PCB, no large changes, just moving components around for easier assembly.

Available software (update)

Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!


You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.


I'm assembling the boards on my free time, which is unfortunately a scarce resource. Please be patient.


Already shipped (with tracking numbers for those who chosen tracked shipping)


Please let me know when your board is delivered!




       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor (delivered)
  • 3 - Prodatron (delivered)
  • 4 - cpcmaniaco(delivered)
  • 5 - ||C||-||E|| (delivered)
  • 6 - TFM (x1) (delivered)
  • 7 - pelrun (delivered)
  • 8 - hsimpson (delivered)
  • 9 - majikeyric (x1) (delivered)
  • 10 - SOS (delivered)
  • 11 - Audronic (delivered)
  • 12 - gros_minet (delivered)
  • 13 - Fessor (delivered)
  • 14 - Sykobee (Briggsy) (no tracking)


       
  • 15 - CraigsBar
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)
  • 17 - tonio8bits 1L01692919632 (http://www.csuivi.courrier.laposte.fr/suivi/index?id=1L01692919632)
  • 18 - PulkoMandy (rev.1 board kept for reference and testing)
  • 19 - CloudStrife
  • 20 - Hicks
  • 21 - Targhan
  • 22 - Prodatron (replacement for broken prototype board)
  • 23 - Gerald (for investigation of serial port problems)
  • 24 - Ast
  • 25 - roudoudou
  • 26 - Zik (self assembled)
  • 27 - Beb

  •    
  • 34 - Sid

Batch 1 waiting list
Status: Investigating problems with serial port. Some boards delivered without patches.


       
  • 35 - skywalky
  • 28 - Jungsi
  • 29 - Poliander
  • 30 - Yannis_uno
  • 31 - Rennert
  • 32 - HAL6128
  • 33 - Joseman
  • 36 - Tai
  • 37* - Grim
  • 38 - cosa_nostra_6128
  • 39 - oratyper

       
  • 40 - NiNxPe
  • 41 - Vandalsk (x1)
  • 42 - Dirtybb
  • 43 - Dubliner
  • 44 - ronaldo (x1)
  • 45~ - cpcmaniaco (x1)
  • 46 - Munchausen
  • 47 - jrodriguezv (x1)
  • 48 - netmercer
  • 49 - Shining
  • 50 - archosmo

       
  • 51 - awergh
  • 52 - wilco2009
  • 53 - dodogildo
  • 54 - Apollo (x1)
  • 55 - dxs
  • 56 - AlexD
  • 57 - jaime
  • 58 - merlinkv (x1)


Batch 2 waiting list
Status: Nothing done yet.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 16:17, 16 February 20
Great to see that this project is not dead, but instead continued.  :)


It would be great to be able to have an expanded manual. Especially concerning the control bit for the USB I/O ports. Information like "which bit do I need to check if I want to know it's time to read or to send next byte". Lot's of commands are actually easy to implement in BASIC, but I have trouble in machine code.
And yes I know there are documents about the chips out there, I got them all, it just doesn't help. So I got frustrated and put the card a the side. Hopefully we get a great detailed manual soon. This would boost software for this nice little expansion card.  :) [size=78%] [/size]
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:43, 16 February 20
The documentation is at https://pulkomandy.github.io/shinra.github.io/albireo.html


If you need more than that, I can improve it, but I need specific questions, because it seems quite complete to me.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Rennert on 18:39, 16 February 20
Great news ;D
My order already present
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 09:04, 17 February 20
Thanks for the update!

What was the problem with the initial chip then?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:16, 17 February 20
I had mentionned it in one of my previous messages, the TL16C550D is designed for use in a PC where there is an ALE (Address Latch Enable) signal. It can work without the signal, but in that configuration it needs the CPU to keep the address bus stable for some time after the end of a read or write cycle, which the z80 doesn't. As a result, a read would sometimes be handled twice by the chip, and since reading pops a byte from the receiving FIFO, that results in lost bytes.


Fortunately, the chips from other manufacturers (SC16C650 from NXP we used until now, for example) have better timings. I will see if I can find remaining stocks of that chip, but otherwise Exar also manufactures a similar one which should also work. For the first 50 or so boards, we already have a stock of ICs left, so these will be delivered.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Gryzor on 09:21, 17 February 20
Darn, after a renovation we did I don't remember where I've got my board so I can't check :( Probably waiting for my retro area to be set up...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 21:11, 17 February 20
Quote from: PulkoMandy on 16:43, 16 February 20
If you need more than that, I can improve it, but I need specific questions, because it seems quite complete to me.


Yes, meaning of the bits when doing USB / mouse communications.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 21:56, 17 February 20
I think the "Practical case: driver for an HID mouse" section is fairly complete and I still don't see what else I could add to it. It has the initialization phase with all commands you need to send to the mouse, it explains how to ask the mouse for a report, how to wait for a reply, and the format of the 3 byte report the mouse sends.

Is there a particular command which is not explained completely? Because I have no idea which "bits" you are referring to here. There are several commands and they all take different parameters.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: xesrjb on 05:53, 18 February 20
Quote from: PulkoMandy on 14:29, 16 February 20
Long overdue status update

Hi there! Well it's been some time since I gave news about Albireo. Unfortunately, not-so-great news, but...

So, we had found a problem with the serial controller used in the initial 1.0 boards, and found a replacement chip. Some people sent me their cards back for upgrade (if I manage to desolder the old chip without breaking anything) or replacement (if I break something). Everything looked fine and Cloudstrife ordered PCBs for a second batch of boards, however...

The replacement chip we had found is now obsolete and out of stock in most places. So, we need to find and test yet another chip. We have identified one which should be compatible, but given the issues with the first chip used, we want to be really sure...

Various other real life things have interferred and I had no time to update the list here. However, things continued to happen for Albireo. I have sold cards to several people I met at demoparties, trying to priorize the ones who would write software for it, rather than just want to use it. You have recently seen the result of this for example with support for Albireo in Arkos Tracker. I have updated the list below to reflect this. If you are the owner of one of the borads number 21 to 33, let me know so I can adjust the list, it seems I forgot some people here.

I will check with Cloudstrife (who has the current stock of components and PCBs) how we proceed with assembling and shipping more of the boards.

Board from number 30 up are using a new PCB, no large changes, just moving components around for easier assembly.

Available software (update)


       
  • SD card/USB mass storage support: WIP prototype from OffseT, testing in progress, no official release yet
  • USB mouse: supported in SymbOS
  • Serial port (v1.1 boards): XModem transfer tool from CloudStrife, Arkos Tracker player.
Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!


You can pay either using paypal or a bank account transfer. The price is 25 euros, or 30 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.


I'm assembling the boards on my free time, which is unfortunately a scarce resource. Please be patient.


Already shipped (with tracking numbers for those who chosen tracked shipping)


Please let me know when your board is delivered!




       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor (delivered)
  • 3 - Prodatron (delivered)
  • 4 - cpcmaniaco(delivered)
  • 5 - ||C||-||E|| (delivered)
  • 6 - TFM (x1) (delivered)
  • 7 - pelrun (delivered)
  • 8 - hsimpson (delivered)
  • 9 - majikeyric (x1) (delivered)
  • 10 - SOS (delivered)
  • 11 - Audronic (delivered)
  • 12 - gros_minet (delivered)
  • 13 - Fessor (delivered)
  • 14 - Sykobee (Briggsy) (no tracking)


       
  • 15 - CraigsBar
  • 16 - OffseT (replacement for board number 1 which didn't seem to work for him)
  • 17 - tonio8bits 1L01692919632 (http://www.csuivi.courrier.laposte.fr/suivi/index?id=1L01692919632)
  • 18 - PulkoMandy (rev.1 board kept for reference and testing)
  • 19 - CloudStrife
  • 20 - Hicks
  • 21 - Targhan
  • 22 - Prodatron (replacement for broken prototype board)
  • 23 - Gerald (for investigation of serial port problems)
  • 24 - Ast
  • 25 - roudoudou
  • 26 - Zik (self assembled)
  • 27 - Beb
  • 34 - Sid

Batch 1 waiting list
Status: Investigating problems with serial port. Some boards delivered without patches.


       
  • 35 - skywalky
  • 28 - Jungsi
  • 29 - Poliander
  • 30 - Yannis_uno
  • 31 - Rennert
  • 32 - HAL6128
  • 33 - Joseman
  • 36 - Tai
  • 37* - Grim
  • 38 - cosa_nostra_6128
  • 39 - oratyper

       
  • 40 - NiNxPe
  • 41 - Vandalsk (x1)
  • 42 - Dirtybb
  • 43 - Dubliner
  • 44 - ronaldo (x1)
  • 45~ - cpcmaniaco (x1)
  • 46 - Munchausen
  • 47 - jrodriguezv (x1)
  • 48 - netmercer
  • 49 - Shining
  • 50 - archosmo

       
  • 51 - awergh
  • 52 - wilco2009
  • 53 - dodogildo
  • 54 - Apollo (x1)
  • 55 - dxs
  • 56 - AlexD
  • 57 - jaime
  • 58 - merlinkv (x1)


Batch 2 waiting list
Status: Nothing done yet.

       
  • 59 - zhulien (x1)
  • 60 - Tolkin (x1)
  • 61 - Skunkfish
  • 62 - madram
  • 63 - Krusty
  • 64 - Eliot
  • 65 - Optimus
  • 66 - slarti
  • 67 - CraigsBar (second board)
  • 68 - TFM (second board)
  • 69 - tonio8bits (second board)
  • 70 - Merlinkv (second board)
  • 71 - Ronaldo (second board)
  • 72 - Zhulien (second board)
  • 73 - jrodriguezv (second board)
  • 74 - Tolkin (x2)
  • 76 - Apollo (second board)
  • 77 - Proteus (x2)
  • 79 - Madram (x2 - for OvL)
  • 81 - TbO
  • 82 - KaosOverride (x2)
  • 84 - jvaltane
  • 85 - Fedeo
  • 86 - Imsai_REAM
  • 87 - buzby
  • 88 - Rhino
  • 89 - remax
  • 90 - scarlettkitten
  • 91 - Edoz (MSX)
  • 92 - ASiC
  • 93 - Hergoth


I would like to get one of this boards..


xesrjb
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 13:20, 18 February 20
Quote from: PulkoMandy on 21:56, 17 February 20
I think the "Practical case: driver for an HID mouse" section is fairly complete and I still don't see what else I could add to it. It has the initialization phase with all commands you need to send to the mouse, it explains how to ask the mouse for a report, how to wait for a reply, and the format of the 3 byte report the mouse sends.

Is there a particular command which is not explained completely? Because I have no idea which "bits" you are referring to here. There are several commands and they all take different parameters.

Well it doesn't really expalain the meaning of the bits. It works well for BASIC, but not for MC as told. There is no working Z80 example. I told all that a coulple of times before. But never mind, there's plenty of other hardware I can do someting for.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 14:27, 18 February 20
I still don't understand what you mean by "the bits". There are command numbers, which are just, well, arbitrary numbers decided by the chip manufacturer. The page lists the ones used.


There is a status register with a single bit to check, which is documented in the page (it is bit 7).


There are commands which take parameters, the parameters are documented.


And there is the report from the mouse, which is documented in that page: bit 0 is button 0, bit 1 is button 1, and so on, and the next two bytes are the signed offset for X and Y coordinates since the last report was read.


I still don't see what else I could add to this page. And translating the code from BASIC to assembler wouldn't be very hard? I can surely do it, but I don't think assembler is a better way to document these things?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 21:47, 19 February 20
Example: The status port has 8 bits. What is the meaning of every single bit? Not only the status bit. Stuff like that.  :)


Quote from: PulkoMandy on 14:27, 18 February 20
... And translating the code from BASIC to assembler wouldn't be very hard? I can surely do it, but I don't think assembler is a better way to document these things?
Then please do provide an working Z80 example code to read the mouse! If you can. And yes, I know it works for SymbOS. But that's not the point. It doesn't work for me, because at some point I have to wait for something and I don't know what.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 02:41, 20 February 20
If PulkoMandy's documentation is insufficient, then one can always go direct to the CH376 datasheet which is readily available and explains every register and return value in detail.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 09:02, 20 February 20
There is only ever one thing to wait for: bit 7 of the status register to be cleared after sending a command with its parameters. The code for this is in the documentation:



WAIT:
v = INP(CMD)
IF v > 127 THEN GOTO WAIT



Do I really need to convert it to ASM for you? Looks simple enough to me.
When do you need to wait? Right after any command where the result is documented as "interrupt". For a mouse driver these commands will be documented here:
https://pulkomandy.github.io/shinra.github.io/CH376_ext.html (https://pulkomandy.github.io/shinra.github.io/CH376_ext.html) (translated from part 2 of the datasheet which is only available in chinese).


In the BASIC code this is at "GOSUB 510" and very easy to see after each command that needs it.


I am not aware of any specific use for the other bits in the status register. They are not used in any of my examples and not referenced in the documentation of the chip as far as I can tell. So I assume there is nothing useful there.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 09:11, 20 February 20
Quote from: pelrun on 02:41, 20 February 20
If PulkoMandy's documentation is insufficient, then one can always go direct to the CH376 datasheet which is readily available and explains every register and return value in detail.

See, his docs are better of course. The CH376 docs are minimal though. So nice idea, but bad luck.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 09:13, 20 February 20
Quote from: PulkoMandy on 09:02, 20 February 20
There is only ever one thing to wait for: bit 7 of the status register to be cleared after sending a command with its parameters. The code for this is in the documentation:



WAIT:
v = INP(CMD)
IF v > 127 THEN GOTO WAIT



Do I really need to convert it to ASM for you? Looks simple enough to me.
When do you need to wait? Right after any command where the result is documented as "interrupt". For a mouse driver these commands will be documented here:
https://pulkomandy.github.io/shinra.github.io/CH376_ext.html (https://pulkomandy.github.io/shinra.github.io/CH376_ext.html) (translated from part 2 of the datasheet which is only available in chinese).


In the BASIC code this is at "GOSUB 510" and very easy to see after each command that needs it.


I am not aware of any specific use for the other bits in the status register. They are not used in any of my examples and not referenced in the documentation of the chip as far as I can tell. So I assume there is nothing useful there.


You don't have that running. Because it doesn't work. Proove me wrong.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:11, 20 February 20
I can prove you wrong easily: the driver in SymbOS exists and work for several owners of Albireo. I helped Prodatron debug it and I wrote the page while doing that. But he asked me precise questions about my BASIC code (which indeed was incorrect at the time, it was missing the TOKEN variable to generate alternating DATA0 and DATA1 frames), so I could help him and investigate the precise problems he was getting.


So, what do you think? That the SymbOS driver uses magic fairy dust and secret undocumented registers?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: SOS on 11:31, 20 February 20
Quote from: PulkoMandy on 16:43, 16 February 20
If you need more than that, I can improve it, but I need specific questions, because it seems quite complete to me.
An "Read-An-LBA-Sector" Function in Basic, which works on every try (100%-Success-Rate)  :D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 12:45, 20 February 20
Quote from: PulkoMandy on 11:11, 20 February 20
I can prove you wrong easily: the driver in SymbOS exists and work for several owners of Albireo. I helped Prodatron debug it and I wrote the page while doing that. But he asked me precise questions about my BASIC code (which indeed was incorrect at the time, it was missing the TOKEN variable to generate alternating DATA0 and DATA1 frames), so I could help him and investigate the precise problems he was getting.


So, what do you think? That the SymbOS driver uses magic fairy dust and secret undocumented registers?

Just provide example code if you can.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: pelrun on 00:52, 21 February 20
Quote from: GUNHED on 09:11, 20 February 20
See, his docs are better of course. The CH376 docs are minimal though. So nice idea, but bad luck.
Documenting every register and value is "minimal"? While WCH has produced some woefully abbreviated datasheets for other chips, the one for the CH376 is fairly decent.

So basically the only answer you'll accept is "somebody else should do all the work for me". Since I'm certainly not going to, I'll bow out here.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 19:41, 21 February 20
Sure.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 23:43, 14 April 20
Ok, I've fiddled a bit with the mouse support, and managed to make it work in assembler. @GUNHED (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2029) You must have made a small mistake somewhere because I had no real trouble translating the Basic source to ASM.
I'll show the sources when they are more tidy, but if anyone wants them now, I can upload them without problem.

Now I have to work on two things. If @PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) can give his inputs, it may save me some time.

Anyway, this is quite promising :).
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 00:02, 15 April 20
Well, I'm bit stuck. I'm afraid of that part of the documentation isn't very clear, unless you delve deep into it. If I try to "do something else" if there is no data (INP(CMD) > 127), no data is actually retrieved (missed, probably). If I add a "timeout loop" of 200, it's better but small motions are ignored, and it takes way too CPU to my taste.

@PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) Could you elaborate more about how to do that efficiently? I can show my sources without problem if you need. Thanks.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 07:50, 15 April 20
QuoteIf I try to "do something else" if there is no data (INP(CMD) > 127), no data is actually retrieved (missed, probably).

That's how it should work, normally. The CH376 chip in Albireo will take care of polling the mouse for you and this status bit will change when it's ready to send you the data. And the mouse itself should have no problems with that, it will accumulate data until the next read. I think this is what Prodatron did in SymbOS and it worked fine. There is a problem if you have a very high resolution gamer mouse, because it will report a lot of movement each time and the X and Y deltas are only 8 bit each, so that can overflow quickly if you don't read often enough. But with a standard cheap mouse it should be fine.

Maybe I can look more closely at what may be missing if you show me your code :)

You have 3 other options if that doesn't work:

1) Using HID "Set Idle". This allows to configure the mouse to send a report every now and then even if nothing has changed (no mouse movement, no clicks). I never tried this, so I need to dig a little deeper in USB details to tell you exactly what needs to be done. It will result in some extra processing as you will get an empty report.

2) Disabling the automatic retry on the Albireo side. You can make it so the Albireo doesn't poll the mouse, just asks once and tells you "nothing to read".  For this you use the SET_RETRY command:

OUT CMD,&0B
OUT DAT,&25
OUT DAT,&0F ' or &00, I'm not sure which works best

Badly translated from chinese docs about this command here: https://pulkomandy.github.io/shinra.github.io/CH376_ext.html

In that case, if the mouse has nothing to send you, Albireo will just fail the read operation instead of waiting. And you can try again later.

3) Use interrupts. It's possible to configure the Albireo to trigger an interrupt when data is ready to read. Let me know if that's suitable for you, I didn't use it a lot yet because usually, there are other things going on and you don't want interrupts happening in the midle of your time-critical code.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 12:22, 15 April 20
Quote from: Targhan on 23:43, 14 April 20
Ok, I've fiddled a bit with the mouse support, and managed to make it work in assembler. @GUNHED (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2029) You must have made a small mistake somewhere because I had no real trouble translating the Basic source to ASM.

Thanks for to information. Maybe my board is too old or the docs changed in a some detail. I may come back tho this project some day and take a look at my code again.

Supporting the Albireo is for sure a good idea since a decent number of units was shipped.

Thanks for the update again!  :) :) :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 12:42, 15 April 20
Ok, I've uploaded my (raw) sources here:
https://bitbucket.org/JulienNevo/cpcmouse/src/master/

Simply plug your mouse in the Albireo. Move the mouse at first to make the cursor appear.

This is working, but like I said, waiting for the data takes all the CPU. @PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) : In the albireo.asm/AlbireoWaitForCommandEndWithTimeOut method, if I set a timeout for the loop (uncomment it), you'll see that the mouse does not work fine anymore, and sometimes gets absolutely stuck.

Thanks for your help and advice!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 13:17, 15 April 20


Here's how I would try to do this:

At the end of the initialization (line 56 in your code):



        ; Submit our first request to the mouse to get things started


        ;Basic 230
        ld a,#4e : call AlbiCmd
       
        ;Basic 250
  ld a,0
        call AlbiDat
        ld a,(Token + 1)
        xor #80
        ld (Token + 1),a
       
        ;Basic 300
        ld a,#19 : call AlbiDat


And the mouse read function:


ManageMouse:
        ;Basic 330
        call Border26
        ; Don't wait here, just test the bit to see if data is ready


        ld bc,ACE_CMD
        in a,(c)
        rla
        ; Nothing to do? cool!
        jp c,Border0 ; Restore border and return


        ; If we get here, there is data waiting for us, so we need to read it
        ;Basic 340
        ld a,#27 : call AlbiCmd
       
        ;Basic 370
        call AliReadDat
        or a
        jp z,Schedule_transfer ; In case we got no data, ask again (this is unlikely, I think this check can be removed)
       
        ;Reads Buttons.
        call AliReadDat
        ;Reads deltaX.
        call AliReadDat
        call ByteToWord
        call CursorMoveHorizontally
        ;Reads deltaY.
        call AliReadDat
        call ByteToWord
        call CursorMoveVertically
        ;Reads Wheel.
        call AliReadDat
       
        ; And schedule a new data transfer for the next VBL
Schedule_transfer:
        ;Basic 230
        ld a,#4e : call AlbiCmd
       
        ;Basic 250
Token:  ld a,0
        call AlbiDat
        ld a,(Token + 1)
        xor #80
        ld (Token + 1),a
       
        ;Basic 300
        ld a,#19 : call AlbiDat
       
        ; That's all for this time!
        jp Border0
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 20:22, 15 April 20
I forgot to say something about the mouse speed. In my test, I worked with BASIC graphics coordinate (640x400 "virtual" screen) and the speed seemed fine with a standard mouse. So, one ASR for Y and two for X and you should be fine for mode 0 pixels (maybe keep the coordinates in 640x400 and downconvert only when displaying the cursor, this way fine movements will be easier). But maybe extra division is needed for high-DPI gamer mouses.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 21:38, 15 April 20
THIS IS WORKING!! Thanks a lot. I've pushed your modifications. You can link it from your webpage if you want, if people want to have a working example (I wouldn't have guessed it would be so complicated to use the mouse with the Albireo, I have to be honest about it), this repo will be kept and will evolve with other interfaces.

QuoteSo, one ASR for Y and two for X
What do you mean by ASR? I don't know the term.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 22:15, 15 April 20
Oops, I don't do enough z80 coding these days, it seems. I mean SRA, of course (to divide by two).


Well, the code is not that complex once written, but yes, it's a bit difficult to gather all the infos from my docs, the ch376 hardware docs, and usb/hid specs...
Albireo is just an usb interface and anything above that (except for mass storage/usb sticks) is all done by the z80. This gives a lot of flexibility (want to connect a printer? An usb midi adapter?) but it means some extra work to set things up.


I'll update the docs to link to this (maybe an annotated version of the listing to try to more clearly explain what is done at each step).


Thanks for your efforts investigating this!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 23:33, 15 April 20
I've added Symbiface 2 now :).
As for Albireo, I've added the buttons management, and it seems there's something wrong by your doc. Bit 0 does NOT seem to be left button, but bit 1. Bit 2 is right button.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 12:01, 16 April 20
Annotated version of the asm source: https://github.com/pulkomandy/shinra.github.io/blob/master/albireomouse.asm


As for the buttons, this is strange, but it depends on your mouse. USB mouses can have more buttons and wheels so the report format can change. If you don't plan to handle the mousewheel, you could configure the mouse to "boot mode" where you're sure it has only 2 buttons and X/Y movement. This is compatible with all mouses, but the loss of mousewheel can be annoying (Prodatron did not use this mode in SymbOS because he wanted the mouse wheel, for example).


Setting up boot mode is documented in the Albireo webpage (things to do at init before sending the first "read" command):


Quote
So, let's first tell the CH376 we want to perform a data transfer:

OUT CMD,&2C ' For WRITE commands, you first send the data to Albireo, then trigger the transfer. It's symetrical to READ. 


And let's tell how many bytes there is:

OUT DAT,8 


The CH376 is now waiting for our 8 data bytes. We will now write the HID command to enter boot mode:


OUT DAT,&21 ' (because all HID commands start with &21)
OUT DAT,&0B ' (this is the HID SET PROTOCOL command)
OUT DAT,&00:OUT DAT,&00 ' (protocol number 0 - on 16 bits - is the BOOT protocol)
OUT DAT,&00:OUT DAT,&00:OUT DAT,&00:OUT DAT,&00


All USB commands must also include an index and a data length, 16 bits each. Both are set to 0 for the SET PROTOCOL command.
The bytes are now loaded in the CH376. We can request it to perform the USB transaction:

OUT CMD,&4E:OUT DAT,&80:OUT DAT,&0D ' The &80 here must match the "token" sequence as for the read commands

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 12:16, 16 April 20
Nice doc!

As for the buttons, it's a very simple USB mouse with wheel. However, Symbiface 2 (emulated with Winape) seems to handle it well (first button = left, second = right). So for now I'll stick with my implementation. Don't tell me I also have to code a configuration screen to define which button is which... Though I should probably have to, because there is still the mouse X/Y ratio to handle... Arg.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 12:27, 16 April 20
Quote from: Targhan on 12:16, 16 April 20
Don't tell me I also have to code a configuration screen to define which button is which...


Your left-handed users will thank you ;)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 13:19, 16 April 20
Very true...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: TotO on 14:42, 16 April 20
I have never understood why it was required to swap the buttons for left-handled peoples, when the brain already do that.  ;D
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 14:58, 16 April 20
Well my main mouse is left-handed in hardware which adds even more confusion to this, so... (but it also wouldn't work with this code, too many mousewheels)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 19:22, 16 April 20
Hi, Slarti (#66 on the waiting list) just asked me to guess how long it could take to get his Albireo.
It there any plan in making more boards? Any kind of time schedule or guess? It would be great to get some kind of hint.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 19:58, 16 April 20
I think I mentionned it earlier, I transferred all the production efforts to CloudStrife. He has the PCBs and chips and should be assembling them. So this is not under my control.
If anyone else wants to assemble boards, all the hardware schematics and PCB designs are available, as well (there are small chips, so it needs some skills and/or appropriate tools).
I don't currently plan to assemble more of these myself.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 22:20, 16 April 20
@PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) Watch out for a terrible bug in your annotated code! "AlbireoReadDat": I typed "rre" instead of "ret"!!!

As for the mouse buttons, it seems it's "all right" now. Bit 0 is left button, bit 1 is right, bit 2 is middle. I don't understand what was going on.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:48, 17 April 20
Thanks, updated :)


I also included the note about "boot mode" there.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 12:56, 17 April 20
@PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) I think there is another bug somewhere. On CPC cold start, when starting the code, the Albireo's mouse is not responsive at all (though, thanks to the white border, we can see it "see" something (a few scanlines are white). The rest of the code works fine (cursor, joystick, etc.).

I do a reset (via a reset button), run the program again and it works fine this time. Something wrong on the init maybe?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 13:11, 17 April 20
Quote from: Targhan on 12:56, 17 April 20
@PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) I think there is another bug somewhere. On CPC cold start, when starting the code, the Albireo's mouse is not responsive at all (though, thanks to the white border, we can see it "see" something (a few scanlines are white). The rest of the code works fine (cursor, joystick, etc.).

I do a reset (via a reset button), run the program again and it works fine this time. Something wrong on the init maybe?


Actually, that's pretty much the same problem I had for a long time. Slowly we're getting closer... Hope this problem can be addressed.

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 13:34, 17 April 20

1) According to the docs, changing USB modes can take 10us, so maybe a few NOPs at lines 32 (where you have "basic: 110") will help with that.


Extra safety:
After waiting for command #15, you can also read the data register, which should return #51 (success) or #5f (failure). This can happen if no USB device is connected to the Albireo.
Likewise, after calling command #22 in AlbireoWaitForCommandEnd, you can read the data register and check bit 5, which is set if the command failed.


2) You can try to do a complete reset sequence for the USB device:



        ld a,#15 : call AlbireoCmd
        ld a,#5 : call AlbireoDat
        ; ... wait 10 NOPs ...


        ld a,#15 : call AlbireoCmd
        ld a,#7 : call AlbireoDat
        ; ... wait 10 NOPs ...
        ld a,#15 : call AlbireoCmd
        ld a,#6 : call AlbireoDat



3) You can also try to start with a complete reset of the Albireo at the start, to make sure it is in a known state. Write 5 to the CMD port and wait at least 35 milliseconds (3 times call &bd19 would do).


4) If you use a reset button, is switch n.2 on your Albireo set to ON (this is the default when the boards are shipped, but maybe you changed it)? This would let the reset button reset the Albireo as well, so it doesn't need to be done in software (at least step 3 above shouldn't be needed then)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 15:25, 17 April 20
Thanks!

Plan 1 worked:
I added
ld b,180 : djnz $
Just after

        ;Basic: 100
        ld a,#15 : call AlbireoCmd
        ld a,#7 : call AlbireoDat

I used 180 to be on the safe side: something like 130 is minimum.

QuoteAfter waiting for command #15, you can also read the data register, which should return #51 (success) or #5f (failure). This can happen if no USB device is connected to the Albireo.

I tried to do that after the first command #15 (and #7 on DAT), but the result was unpredictable: the mouse didn't response after a short while. Reading the "data register" is simply calling AlbireoReadDat, right?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 15:30, 17 April 20
Yes, right. So I don't understand the docs (badly translated from chinese, it's not always easy)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 16:26, 17 April 20
Have a go if you want :).
But with all that we have, I think the result is now fairly good! And it looks reliable to me.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: VintageAdvantage on 16:18, 21 April 20
Not really interested in a mouse interface.
Can I put in a SD card into the Alberto and use it as a DF1 disk drive?

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 17:15, 21 April 20
It does not emulate a floppy drive. There is a work in progress ROM allowing access to the SD-Card in AMSDOS compatible way. So software that uses the AMSDOS ROM for access works, but not anything that programs the floppy controller directly.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Tone-la on 16:24, 20 May 20
@PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) re post  [size=0px]#453[/size] can you point me to the gerber and BOM info is for the latest Albireo board, I'd happily have a go at some construction.  I'm not a professional (it's not my trade), but am competent and keen.  This is a fantastic project / concept and I'd love to help with the hardware and if possible the firmware / software too

Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 16:55, 20 May 20
I apparently didn't store the Gerber files anywhere, but they can be generated from the Kicad project which is here: https://github.com/pulkomandy/avrstuff/tree/master/CPC stuff/ch376
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: VintageAdvantage on 18:42, 20 May 20
There is a lot that can go wrong with Gerbers export in kicad. It is not that simple!!
You should provide an official version and then pass on the work. You can also send it to China for assembly service.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 19:06, 20 May 20
I agree, but I forgot to save the file back when I ordered the boards (that was 3 years ago) and there isn't a lot I can do about it right now except hoping that I can still load this fine in kicad and export it again. But then it will be as untested as if anyone else does it.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: OffseT on 16:44, 09 November 20
AlbiDOS support ROM for Albireo file operations was updated today (v0.65).  8)

Download it here (https://framagit.org/shinra/albireo/albireodos/-/blob/master/bin/Albireo.rom)

User and developper documentation there (https://framagit.org/shinra/albireo/albireodos/-/wikis/home)

Don't hesitate to ping me if you have questions or bugs to report.

Catch us on IRC #cpc channel (https://webchat.freenode.net/#cpc)
(freenode network)

French people can use #cpc-fr too (https://webchat.freenode.net/#cpc-fr)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: NiNxPe on 03:35, 10 November 20
Any newz ?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: OffseT on 13:48, 23 November 20
AlbiDOS support ROM for Albireo file operations was updated again (v0.84).  8)

Download it here (https://framagit.org/shinra/albireo/albireodos/-/blob/master/bin/Albireo.rom)

User and developper documentation there (https://framagit.org/shinra/albireo/albireodos/-/wikis/home)

Don't hesitate to ping me if you have questions or bugs to report.

Catch us on IRC #cpc channel (https://webchat.freenode.net/#cpc)
(freenode network)

French people can use #cpc-fr too (https://webchat.freenode.net/#cpc-fr)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 15:10, 23 November 20
Thanks for the update. However, you could add an checksum to byte &FFFF (the sum of bytes &C000 to &FFFE in one byte). This would enable us to check for download / transfer errors.


Of course this can be done by hand or using a ROManager too, but it's nasty.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: OffseT on 15:57, 24 January 21
FYI, AlbiDOS is now cancelled as it was turned into a "DOS Node" for the bigger UniDOS (https://translate.google.com/translate?hl=&sl=fr&tl=en&u=https%3A%2F%2Funidos.cpcscene.net%2Fdoku.php%3Fid%3Dfr%3Aaccueil%26redirect%3D1) project. 8)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 21:12, 06 February 21
@PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) Now with UniDos I can start using more Albireo!!

I'm especially interested in the USB transfer stuff. I don't know the current state of things, so please allow me to ask these questions:
- Is it possible to receive a SNA from PC via USB? I remember there was some troubles with SNArkos.
- If possible, sending a SNA from a command FROM the PC (including a Reset). I can do that with the M4 Board, but if I can ditch the Wifi network, I will.
- Would it be possible to use the USB transfer as a drive in UniDOS? Then all I would have to do would be to update a PC folder to get the result on CPC. It would be soooo great (it would require a client PC side, I guess).

Thanks!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 21:47, 06 February 21
In theory, all of this is possible. But someone has to write the software.


For SNArkos and the Arkos ROM pack, the code is here: https://github.com/cpcsdk/unofficial_arkos_rom_pack
I havec ùGF and ùSF working. WriteDSK/ReadDSK was crashing last time I tried. I did not find why. Probably my UART driver code is touching registers or stack that it shouldn't.


SNArkos is a bit tricky because it needs to work with almost no CPC memory and z80 registers. On the CPC booster it used an internal buffer in the hardware, but there isn't an exact replacement on the Albireo. I can think of two alternatives:
- It is possible to put the uart in loopback mode at the end of the transfer, and use its internal send and receive buffers
- It is possible to peek and poke to the USB controller as well


Resetting the CPC from the PC is possible. You need to enable that on the Albireo (switch nº 3 to ON position). Then the DTR signal on the serial port will reset the CPC. Alternatively it can also be configured to trigger an interrupt or NMI.


Using the USB drive as an UniDOS drive is also a good idea. It could be done as an extension of the AFT protocol or using a more standard protocol (XMODEM or YMODEM). CloudStrife has been working on an YMODEM client which is available here https://framagit.org/shinra/albireo/albireo but not as an Unidos node yet.


I think Zik is already using some parts of this in his current development setup, maybe you can ask him what he does.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 00:30, 07 February 21
Thanks for your answer. I think a first step would be the SNArkos (are there still people needing GF/SF/Wdsk/rDSK?? I won't anyway). But since we are using a ROM version of SNArkos, I believe we don't need a buffer anymore and can directly reach and write in the whole memory, can't we?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 08:59, 07 February 21
It's been a while since I looked into it, but if I remember correctly, AFT (the PC side tool) just sends the sna file directly, and snarkos store the values of z80 registers in the cpcbooster, and reads them back from there after downloading everything else.


This can be simplified by having the pc side tool do this part of the work instead, and sending the data in the right order for the cpc to load it more easily
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: HAL6128 on 10:49, 07 February 21
Quote from: PulkoMandy on 16:25, 09 January 16
Information about payments
Please wait until I contact you with payment info (I will do so when I have a board ready to ship for you).I don't want to receive payments too much in advance then have people waiting on me to ship the boards. I would then have to handle the pressure of everyone waiting, and also possibly cancelling and rescheduling orders and whatnot. So I prefer that you pay only when your board is ready to ship. Thanks for your patience!

You can pay either using paypal or a bank account transfer. The price is 20 euros, or 24 euros if you want tracked shipping.
If you want, you can order multiple boards. However, I will try to get the boards in the hand of as much people as possible, so I may delay shipping of your second (and third, ...) boards.

If there is a hardware problem, you can send the board back to me and I'll fix or replace it. So don't worry about getting a prototype. (and if you get a final version, I will do the same, because I don't want the boards to be thrown away in case of problems).

Already shipped (with tracking numbers for those who chosen tracked shipping)

       
  • 0 - PulkoMandy (delivered)
  • 1 - OffseT (delivered)
  • 2 - Gryzor LA004676105FR (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004676105FR)
  • 3 - Prodatron LA004676145FR (http://www.csuivi.courrier.laposte.fr/suivi/index?id=LA004676145FR)
Batch 1 waiting list
Status: the PCBs have been ordered, it can take a few weeks before I get them. I have parts of the components to solder, and will order the remaining part when the PCBs are shipped.



       
  • 4 - cpcmaniaco (x1, prototype board)
  • 5 - ||C||-||E||
  • 6 - majikeyric (x1)
  • 7 - CraigsBar (x2)
  • 9 - TFM (x2)
  • 11 - pelrun
  • 12 - Optimus
  • 13 - Ast
  • 14 - tonio8bits (x2)
  • 16 - hsimpson
  • 17 - SOS
  • 18 - Audronic
  • 19 - gros_minet
  • 20 - Fessor
  • 21 - Sykobee (Briggsy)

       
  • 22 - skywalky
  • 23 - Jungsi
  • 24 - Poliander
  • 25 - Yannis_uno
  • 26 - Rennert
  • 27 - HAL6128
  • 28 - Joseman
  • 29 - Tai
  • 30 - Grim
  • 31 - reidrac
  • 32 - cosa_nostra_6128
  • 33 - Targhan
  • 34 - oratyper
  • 35 - NiNxPe
  • 36 - Vandalsk (x2)

       
  • 38 - Dirtybb
  • 39 - Dubliner
  • 40 - ronaldo (x2)
  • 42 - cpcmaniaco (x1)
  • 43 - Munchausen (x2)
  • 45 - jrodriguezv (x2)
  • 47 - netmercer
  • 48 - Shining
  • 49 - archosmo
  • 50 - awergh
  • 51 - wilco2009
  • 52 - dodogildo
  • 53 - Apollo (x2)
  • 55 - dxs
Batch 2 waiting list
Status: Nothing done yet.

       
  • 56 - majikeyric (second board)
  • 57 - (awaiting orders...)
...any news about progresssing of further production?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 11:42, 07 February 21
I have mentionned several times that I am not producing these cards anymore at the moment (due to other problems in my personal life I don't want to share - nothing too bad, but it reduced my available time for assembling cards for some years).


Currently CloudStrife has all the remaining components and he is working on assembling the boards. But he ran into personal issues as well and was not able to assemble a lot of boards, and could not test them because his CPC was broken. And this year we have not been able to meet (he could have sent me back some of the hardware components so I could assemble boards again), but I think he finally fixed his CPC so we may have some news about this. He has been working on a better tool for testing all the features of the assembled boards (I had done some tests manually but it's a waste of time)


For a while we were both a bit de-motivated by the lack of support from software developers. Maybe my fault for shipping the first boards to random people. For my next projects I will ship hardware only to people who are interested in writing software supporting it first, and other users only later when there is software available.


So, it will come, eventually... I hope...
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 21:07, 07 February 21
Quote from: PulkoMandy on 11:42, 07 February 21
For a while we were both a bit de-motivated by the lack of support from software developers. Maybe my fault for shipping the first boards to random people. For my next projects I will ship hardware only to people who are interested in writing software supporting it first, and other users only later when there is software available.
True this, but that's CPC scene. I wouldn't know a single project which got more than very little support from others. Guess all of the "productive" guys made that experience. So it's left to us.

About the Albireo I did some very little thing. But later I needed additional information, which I didn't get. So I lost motivation too. I hope to be able to come back to it though.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Targhan on 23:24, 07 February 21
With the advent of UniDOS, there is no reason the Albireo won't be more used. I use it now and love it!

Before that, the only use, for me, of the Albireo was the YM stream between a CPC and Arkos Tracker 2. So I guess the problem with Albireo was it came without software with it. It's a pity, but no one wants to code such thing!
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 17:45, 09 February 21
In addition it provides a mouse interface, which is still a scarce item for the CPC range. CPCistes from Germany like it for the mouse port. With more software support the Albireo will has its 2nd spring.  :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: CraigsBar on 00:57, 11 February 21
Quote from: PulkoMandy on 11:42, 07 February 21
I have mentionned several times that I am not producing these cards anymore at the moment (due to other problems in my personal life I don't want to share - nothing too bad, but it reduced my available time for assembling cards for some years).


Currently CloudStrife has all the remaining components and he is working on assembling the boards. But he ran into personal issues as well and was not able to assemble a lot of boards, and could not test them because his CPC was broken. And this year we have not been able to meet (he could have sent me back some of the hardware components so I could assemble boards again), but I think he finally fixed his CPC so we may have some news about this. He has been working on a better tool for testing all the features of the assembled boards (I had done some tests manually but it's a waste of time)


For a while we were both a bit de-motivated by the lack of support from software developers. Maybe my fault for shipping the first boards to random people. For my next projects I will ship hardware only to people who are interested in writing software supporting it first, and other users only later when there is software available.


So, it will come, eventually... I hope...


So glad I got my first one early on. I use it almost daily as a USB Mouse interface for Symbos. It is an awesome piece of kit for this feature alone.


Thanks @PulkoMandy (https://www.cpcwiki.eu/forum/index.php?action=profile;u=26) for the amazing work you do for the CPC community.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 01:52, 28 January 22
Well, after a loooong time I got back to the Albireo. I saw that there is some HID mouse code in Z80 ASM, which works. Actually it makes some fun out of me, telling : Asm version (because apparently converting BASIC to ASM is too hard for some...). Haha! Message arrived. :)

What was the problem?

Well, the provided source code states two times to wait 10 us. My code didn't, so is was to fast. Well, I couldn't know, because back the day it wasn't documented. But now it is.  :)
And that was the complete problem. Of course my BASIC example was slow enough. The translation into ASM got too quick and therefore didn't work.

Thanks for the code example, which helped to fix the problem.  :) :) :)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 13:48, 02 March 22
For the few being interested: Few days ago I uploaded a version for FutureOS which does support the Albireo mouse fully. The driver only needs &81 bytes and is very quick.
Instead of sending request, waiting, reading data from mouse it does it different: Read data from mouse (if any), send new request. So, no waiting time. :-)
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Zik on 22:05, 26 September 22
Hi everyone,

I just posted a new topic that should interest those who want to purchase this interface:
https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/albireo-usbsd-interface-for-cpc-new-version-without-serial/
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: HAL6128 on 16:20, 15 December 22
Just a quick question (maybe also @Prodatron ): the Albireo is autodetected by SymbOS and an USB Mouse attached or is something else necessary to let the mouse work (a driver?)?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 16:25, 15 December 22
Quote from: HAL6128 on 16:20, 15 December 22Just a quick question (maybe also @Prodatron ): the Albireo is autodetected by SymbOS and an USB Mouse attached or is something else necessary to let the mouse work (a driver?)?
Yes, the Albireo is autodetected in SymbOS, and if a USB mouse is attached, it will use this for the mouse.

If you have a SF3 attached at the same time, it will use the mouse of the SF3.

Priority is (low to high):
- Multiplay Amiga mouse
- SYMBiFACE II PS/2 mouse
- Albireo USB mouse
- SYMBiFACE 3 USB mouse

Joystick and Joystick compatible mouses can always be used parallel.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: HAL6128 on 16:42, 15 December 22
Ok, understand. I have a M4-Board, with 512KB RAM expansion and the Albireo on a MotherX4. When booting SymbOS the mouse became active (it seems so, because the red LED sensor on the bottom is lit where it was dark before) but no response regarding movements?
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 16:55, 15 December 22
Hm, I always use the Albireo for the mouse, when working with the M4 Board...

What kind of mouse are you using? IIRC modern game mouses are not working, as they would require a much more complex HID protocol, where you can define the exact number of bits for each single axis, wheels, buttons etc.

I don't remember exactly, but I think it is necessary that the mouse is supporting a simple mode or something like this, and it seems, that game mouses don't support this. So as more simple (and cheap) your mouse is, as higher the chance, that it will work.

It is some years ago again, but this is what I remember without digging deep into the topic again. If this is an issue with all new mouses, even with simple ones, then it could be necessary to review this again.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: HAL6128 on 17:11, 15 December 22
I'm using a regular HP mouse which works well together with the SF3.
Strange behavior.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: HAL6128 on 17:14, 15 December 22
Ok, it is the mouse. I tried a different one (older version of an HP mouse) and it works fine.
Thanks anyway.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: Prodatron on 22:51, 15 December 22
Glad that the other one works!
It's not really a good situation, that you have to use old/simple/cheap mouses to have a working one for 8bit USB interfaces for mouses. That's not Albireo specific but also Rookie Drive (MSX) or maybe sometimes even for the (R)SF3 etc. (not in your case)
As long as you get the simple mouses it's fine, but for the future either we should think about implementing these more complexe HID stuff on hardware or Z80 side, or it will remain, that you can still buy the simple mouses.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: PulkoMandy on 10:34, 18 December 22
We had discussed this while you worked on the ñouse driver.

All mouses support HID "boot mode". There is a special command to enable this, and in this mode all mouse will behave the same. But in this mode you only get X/Y coordinates and two buttons. No 3rd button, no mousewheel, and nothing else. So this is very compatible, but a bit limited. I think the SymbOS driver does not use this mode.

Then there is the normal HID mode, in this case, the mouse sends an HID "descriptor" which tells how it sends its data and which bit corresponds to what. This allows any number of buttons and many other things. However, it needs code to parse the HID descriptor which makes the driver a lot more complicated.

So the best compromise is to support basic mouses with only a wheel and 3 buttons (or, really, up to 5 or 6 buttons should be no problem). These all send their data in the same order: one byte with X movement, one with Y movement, and one with buttons status. It allows to support most devices except the most complicated ones, and still get mouse wheel and 3 buttons.
Title: Re: Albireo - USB/SD/Serial interface for CPC
Post by: GUNHED on 18:30, 18 December 22
A few days I got my Albireo 2.0 (Thank you very much!!!) and I had time to test three different USB mouses with it (under FutureOS). Well, I'm glad to say they all work very well.  :) :) :)
Powered by SMFPacks Menu Editor Mod