Hi,
I've been working on a project which I thought might be of interest. It's a ROM emulator using a Raspberry Pi Pico https://hackaday.io/project/190630-cpc-pico-rom-emulator
I've been using it with my 464, but it hasn't been tested on anything else. It's easy to build and my prototype is hand wired on a proto board. There are no active components other than the Pico.
Interested to see what others think of it.
Matt
Oh so that's what it is 😁
Why "emulator" and not "manager"?
Quote from: Gryzor on 08:14, 19 April 23Why "emulator" and not "manager"?
because it emulates the lower ROM and 8 upper ROMS using the RAM in the Pico
So it's like a ROM board
My memory is a bit fogged from illness and sleep deprivation, are the other boards called emulators? Maybe I'm having a mini stroke, just don't remember seeing the term used 😁
"The Pico is overclocked to 225 MHZ, with one core providing ROM emulation whilst the other handles ROM switching and processing commands from the CPC (with the help of a PIO state machine)"
LOL 225 MHz!
This is really, really interesting.
If that turns out to be a general case, the Pico might be a great choice for other projects too, e.g. a graphics card.
Quote from: Gryzor on 09:02, 19 April 23My memory is a bit fogged from illness and sleep deprivation, are the other boards called emulators? Maybe I'm having a mini stroke, just don't remember seeing the term used 😁
I think they usually just map ROM access onto some actual memory via hardware, whereas this is actually running code quickly enough that it can pretend to be a ROM device.
Quote from: Gryzor on 09:02, 19 April 23My memory is a bit fogged from illness and sleep deprivation, are the other boards called emulators? Maybe I'm having a mini stroke, just don't remember seeing the term used 😁
They are probably not called emulators. The reason I call this an emulator is that the pico is emulating the rom chips that would normally be used.
Quote from: reidrac on 09:08, 19 April 23"The Pico is overclocked to 225 MHZ, with one core providing ROM emulation whilst the other handles ROM switching and processing commands from the CPC (with the help of a PIO state machine)"
LOL 225 MHz!
Yes it's a bit crazy isn't it? A 225 mhz dual core processor to service a 4mhz z80. But the pico is cheap.
Quote from: eto on 09:25, 19 April 23This is really, really interesting.
If that turns out to be a general case, the Pico might be a great choice for other projects too, e.g. a graphics card.
That could be possible. The main limitation is the number of available io pins. I'm going to try creating some form of mass storage device next. (Using a second pico)
Quote from: Gryzor on 09:02, 19 April 23My memory is a bit fogged from illness and sleep deprivation, are the other boards called emulators?
It's the correct term in the electronics/digital design space, we just don't tend to use it that way here. But yes, the M4/usifac/other peripheral that pretends to be ROM even though it's not actually physical EEPROMs are all ROM emulators.
Nice to see the Pico doesn't completely go up in flames when connected to the bus directly; it'd be nice to get rid of the level shifters on my current boards. Although there are some significant caveats (can't go above 5.000v flat *at all* etc etc). Although I've yet to see more than about 4.7V on the bus even when I'm feeding in 5.3v :D
Quote from: eto on 09:25, 19 April 23This is really, really interesting.
If that turns out to be a general case, the Pico might be a great choice for other projects too, e.g. a graphics card.
There's already a display driver existing for other systems (to VGA). Can't remember which.
https://www.hackster.io/news/matt-callow-turns-a-raspberry-pi-pico-into-a-low-cost-rom-emulator-for-the-amstrad-cpc-family-cd82e984b9f8
Quote from: matronica on 07:37, 19 April 23Hi,
I've been working on a project which I thought might be of interest. It's a ROM emulator using a Raspberry Pi Pico https://hackaday.io/project/190630-cpc-pico-rom-emulator
I've been using it with my 464, but it hasn't been tested on anything else. It's easy to build and my prototype is hand wired on a proto board. There are no active components other than the Pico.
Interested to see what others think of it.
Matt
Do you plan to make a PCB with a socket for the Pico ?
Pico to VGA (https://shop.pimoroni.com/products/pimoroni-pico-vga-demo-base)
Personnally I am using a Pico Explorer (https://shop.pimoroni.com/products/pico-explorer-base) for a CO2 detector with the SCD41 (https://shop.pimoroni.com/products/scd41-co2-sensor-breakout)
the Pico is a pretty powerful board, I was playing around with it over xmas. GitHub repo here (https://github.com/pi-gram/pico_c/tree/main/MCUME_pico_picodemo_VGA)
whilst this is showing the MCUME loading and playing an Atari 800 XL game via VGA through the Pico Display board, you can also run the CPC emulator instead and output it via the VGA. I might give it a re-compile and see if I can output the CPC ready screen. ;D
the problem I found was handling the wrapper for the keyboard processing. and of course someone has the Speccie running on a Pico (https://github.com/fruit-bat/pico-zxspectrum) (actually it works well, and the VGA output is really clear and has all the colours!)
As to the OP, it is pretty awesome what you've done with a Pico & you are right, they are dirt cheap (<£10) and they are VERY powerful, just have to figure out the best way to use them. I'm looking forward to see what you do next.
There is a ready to use library called PicoVGA with a lot of cool features that could be the base for a nice V9990 alternative.PicoVGA library features- 1 base layer and 3 overlay layers with transparency, using the PIO0 module
- 8-bit output in R3G3B2 format
- VGA monitor output in 256x192 to 1280x960 resolution
- output to a TV in PAL or NTSC interlaced mode at resolutions up to 1024x576 or 848x480
- nearly 30 frame buffer formats: 8/4/2/1 bit graphics, tiles, text, special formats (charts)
- colour palettes for text modes and graphics formats with limited bit depth
- frame buffers of different formats can be combined together in strips and segments in the image
- RLE image compression (suitable for drawings)
- transparency modes with selectable key colour
- hardware sprites in overlay layers
- layer output only to designated output pins (color planes)
- automatic configuration of the video mode according to the specified resolution and timing
- automatic overclocking of the processor according to the desired resolution
- the library uses the 2nd core of the processor, the 1st core is reserved for the main program
- additional PWM audio output (not required)
See more details here: PicoVGA - VGA/TV display on Raspberry Pico (breatharian.eu) (http://www.breatharian.eu/hw/picovga/index_en.html)I guess that it also could be modified to drive a RGB output to use the amstrad monitor.
Quote from: abalore on 13:57, 19 April 23Do you plan to make a PCB with a socket for the Pico ?
No plans at the moment, but I might do in the future
soon we'll have a CPC with 8 Raspberry Pis on it, 1 for ram/rom, 1 for sounds, 1 for gfx, 1 for ...
@matronica thank you so much for your hard work on this. I'm very new at electronics, but I would really love to revive my CPC 464, have always wanted to make a ROM board, and your project looks perfect. So, I am going to try to build it. :D
I have a few questions (I hope you don't mind):
1. I was looking at your components list (https://hackaday.io/project/190630/components) - for the 50 pin edge connector does it need to be a special one? There is a gap between pins 21/22 and 23/24 on the CPC (https://www.cpcwiki.eu/index.php/Connector:Expansion_port#CPC_Expansion_Port) so I'm wondering if an off-the-shelf connector would fit?
2. You mention an optional resistor, and I would like to add one for safety. What type of resistor should it be, and where should it go? What about the LED?
3. In the picture on Hackaday (https://hackaday.io/project/190630/gallery#64865b1967001a08235957a1f2319cd5) there is a dip switch, which is not listed in the parts list (although it doesn't appear to be connected unless it is connected on the reverse). There are also 3 push button switches rather than the 2 in the list. Are these extra parts no longer necessary?
4. I have a GroundStudio Marble Pico (https://ardushop.ro/ro/home/2652-marble-pico.html) with 8MB QSPI flash and a built in microSD card. Could these be used to store more ROMs?
5. Do you have this drawn up in KiCad or Gerber format? I'm worried that I might permanently damage my CPC so the more obvious everything can be, the better for me! ;)
Many thanks in advance,
Nick
Hi Nick,
Thanks for your interest in the project. I suggest you wait a bit, I have designed a PCB (as PCBWay offered to make some for me). So that will make construction easier. Once I've validated the board, I will add the schematic and gerbers to github.
In answer to your specific questions:
1 - I think any 2x25 pin 0.1inch edge connector will work. The gaps on the CPC board do not matter (although they would help with alignment)
2 - My prototype has a power LED which uses a resistor. Value it not too critical, something around 1K would be fine. Note: there is no LED on the PCB
3 - The DIP switch is used to switch ROMDIS on and off. This allows your to disable the Pico without removing the board. 3rd push button is not used
4 - I don't think you'll be able to use that Pico. All of the standard GPIOs are used. The Marble Pico seems to use some for I2C (with pullups) and microSD card. This will probably interfere with the operation.
5 - see above - a PCB and schematic is on the way.
Matt
@matronica thank you very much for your answers. I am eagerly watching the GitHub repo! :)
Quote from: matronica on 11:01, 08 May 23Hi Nick,
Thanks for your interest in the project. I suggest you wait a bit, I have designed a PCB (as PCBWay offered to make some for me). So that will make construction easier. Once I've validated the board, I will add the schematic and gerbers to github.
In answer to your specific questions:
1 - I think any 2x25 pin 0.1inch edge connector will work. The gaps on the CPC board do not matter (although they would help with alignment)
2 - My prototype has a power LED which uses a resistor. Value it not too critical, something around 1K would be fine. Note: there is no LED on the PCB
3 - The DIP switch is used to switch ROMDIS on and off. This allows your to disable the Pico without removing the board. 3rd push button is not used
4 - I don't think you'll be able to use that Pico. All of the standard GPIOs are used. The Marble Pico seems to use some for I2C (with pullups) and microSD card. This will probably interfere with the operation.
5 - see above - a PCB and schematic is on the way.
Matt
Are boards available, or compiled code if I want to build one of my own?
I've (finally) uploaded the PCB and schematics to github. https://github.com/mattcallow/CPC_PICOROM/
I do not plan to sell boards, but if you are in Australia, I have a few spares that I can send out for the cost of postage.
Regarding compiled code. I'm not sure if I can do that, since the image will include possibly copyrighted ROMs. Ideally, I'd like to develop a way to upload ROM images via USB, but don't know if I'll have the time to do that.
@matronica I've finally got around to ordering some boards from JLCPCB, and am waiting for them to arrive. I had a thought, though, for a future upgrade - how about using a Pico W, implementing an M4-compatible TCP/IP stack, and maybe even running a small web server on the Pico to be able to update the ROMs a la M4 board?
I recently built one of Tom Dalby's ZX PicoIF2Lite (https://github.com/TomDDG/ZXPicoIF2Lite) boards for my 48K Speccy, and was really impressed with what the RP2040 can do. It seems like the perfect replacement for expensive CPLDs that seem to be obsolete within a couple of years.
I've also got a PicoMEM and a SidecarT, and it's amazing how much people are squeezing out of these little boards!
Well, in this case... Why not just using the M4 expansion?
Hi
@pollito . Thanks for your interest in my project. I'm not familiar with the M4 board, so I'm not sure if I could create anything compatible. The Pico has a limited number of IO pins, and they are currently all used, which means that I can't easily decode any other addresses to communicate between the Pico and the CPC.
I would like to make the loading of ROM images easier. I'm thinking of added USB drive support similar to this https://github.com/robinhedwards/A8PicoCart but a web interface would also be cool.
Let me know how you go with the build, and remember that D2 is shown the wrong way round on the silk screen.
Quote from: GUNHED on 16:42, 28 July 24Well, in this case... Why not just using the M4 expansion?
I do, but it's nice to have a lightweight, open source alternative.
Quote from: matronica on 08:43, 29 July 24Hi @pollito . Thanks for your interest in my project. I'm not familiar with the M4 board, so I'm not sure if I could create anything compatible. The Pico has a limited number of IO pins, and they are currently all used, which means that I can't easily decode any other addresses to communicate between the Pico and the CPC.
I would like to make the loading of ROM images easier. I'm thinking of added USB drive support similar to this https://github.com/robinhedwards/A8PicoCart but a web interface would also be cool.
Let me know how you go with the build, and remember that D2 is shown the wrong way round on the silk screen.
Many thanks for your reply. Regarding running out of pins, would it be possible to use the Pico's own micro USB port with an adapter for mass storage rather than using the add on board?
Maybe the ROMs could be stored in a folder on the USB drive along with some config files for different ROM board configurations?
I checked the A8PicoCart - do you mean when the Pico is plugged in, it would mount as storage to be able to upload and download ROMs?
I'm not sure if it helps, but there are some examples of using the M4's TCP/IP stack here (https://github.com/M4Duke/M4examples). Alternatively, there is also the open source Cyboard (https://github.com/salafek/cyboard-for-cpc) which has a TCP/IP stack.
One thing I did notice looking at the board in the Github pictures is that the DIP switches seem to only have two combinations to enable or disable the board. I really like the idea, as it saves the board from having to be yanked, out and reinserted all the time, but would it be possible to replace the DIP switches with a single push button?
I will definitely keep you up to date with my build, but it will likely be a few weeks before the boards arrive from China. I'm currently repairing a very dead 464, and your board will come in handy for running the diagnostic ROM. Plus, if/when I bring the 464 back to life, it will double as an upgrade board.
Thanks again for sharing such a cool project :)
@matronica Can You check whats current is from 5V to GPIO(Input)?
Quote from: pollito on 17:36, 29 July 24Quote from: GUNHED on 16:42, 28 July 24Well, in this case... Why not just using the M4 expansion?
I do, but it's nice to have a lightweight, open source alternative.
Open source is a good point.
QuoteMany thanks for your reply. Regarding running out of pins, would it be possible to use the Pico's own micro USB port with an adapter for mass storage rather than using the add on board?
The USB board is not connected to the Pico, it's a completely separate circuit and can be left off the board. Decoding for the USB board is done via the 'LS698
QuoteMaybe the ROMs could be stored in a folder on the USB drive along with some config files for different ROM board configurations?
see above. There is no connection between the two. The Pico has plenty of flash space to store all the CPC ROMs I could find,.
QuoteI checked the A8PicoCart - do you mean when the Pico is plugged in, it would mount as storage to be able to upload and download ROMs?
yes
QuoteI'm not sure if it helps, but there are some examples of using the M4's TCP/IP stack here (https://github.com/M4Duke/M4examples). Alternatively, there is also the open source Cyboard (https://github.com/salafek/cyboard-for-cpc) which has a TCP/IP stack.
Thanks. I'll take a look, but don't hold your breath for TCP/IP support
QuoteOne thing I did notice looking at the board in the Github pictures is that the DIP switches seem to only have two combinations to enable or disable the board. I really like the idea, as it saves the board from having to be yanked, out and reinserted all the time, but would it be possible to replace the DIP switches with a single push button?
They could possibly be replaced by a double pole switch, but not a push button
Quote from: McArti0 on 19:51, 29 July 24@matronica Can You check whats current is from 5V to GPIO(Input)?
I'm not sure I understand what you are asking for. Could explain further?
When GPIO is set as an input 3.3V and you apply 5V there, does any current flow there? You can check this with an ammeter in a multimeter. By applying the probes to 5v and the GPIO input.
Quote from: McArti0 on 12:49, 31 July 24When GPIO is set as an input 3.3V and you apply 5V there, does any current flow there? You can check this with an ammeter in a multimeter. By applying the probes to 5v and the GPIO input.
Ah OK. Well I'm not sure I can measure that on my board without lifting some traces, but you could do that with a stand-alone pico. It will probably vary if you have the input configured for pull-up/down
As mentioned on the project page, the input are not designed for 5V so they are working outside spec. There is a comment here https://hackaday.com/2022/09/25/pi-pico-w-does-pcmcia-gets-this-ibm-pc110-online/#comment-6516402 which indicates that it *may* be OK. But it's not guaranteed. That said, I have not had any problems (yet).
@matronica I finally got around to building the board, but am not having much luck.
I copy the firmware from the firmware folder to the Pico, and it reboots. The LED then flashes slowly, so I unplug the Pico, and plug the expansion into my CPC. Powering it on, the CPC power light goes on, but there is no display, and pressing DELETE doesn't cause the computer to beep. The Pico's LED flashes slowly, as before.
With the DIP switches in their off positions, the CPC boots as normal.
Just to confirm the positions - for on, I have the left DIP switch is set to the down (OFF) position, and the right DIP switch is up in the ON position. I was also careful to reverse the direction of the D2 diode. The reset buttons on the board behave as they should.
The SN74LS688Ns I ordered from AliExpress were clearly not new, so I swapped the IC twice, but I still get the same symptoms. It seems unlikely that all three would be faulty, or at least that they would cause exactly the same symptoms.
I checked for shorts on the board, and also checked continuity, but all seems good. I have also tried copying the firmware again. Do you have any idea what might be wrong?
Hi.
looks like you may not have a valid set of ROMS on the board. Did you load any?
You need to use the romtool to create a UF2 file to flash along with the firmware.
I realise that this procedure is not really documented anywhere, so I'll try to update the github page in the next couple of days.
@matronica many thanks for your reply - looking at the files sizes in the firmware directory now, I should have realised that something wasn't right! ;D
I've looked at the
makeroms.sh script now, and I see it uses
xxd, so I've installed that. And I looked in the
romtool directory too, and found the
romtool.ini - I'm sure this is only an example, but I'm quite amazed to see how many ROMs and configurations can be stored on the Pico.
If you could add some instructions whenever you have time, it would be greatly appreciated. Meanwhile I will have a play around with the included scripts. It seems to be a case of copying some ROMs, converting them into headers, and then running the Python script to build the uf2 file.
One other query I have - I decided to try the optional USB module, but I'm not sure what the jumper configuration should be on the board. Would it be possible to add that information to the Github project too?
Quote from: pollito on 14:53, 08 September 24@matronica many thanks for your reply - looking at the files sizes in the firmware directory now, I should have realised that something wasn't right! ;D
I've looked at the makeroms.sh script now, and I see it uses xxd, so I've installed that. And I looked in the romtool directory too, and found the romtool.ini - I'm sure this is only an example, but I'm quite amazed to see how many ROMs and configurations can be stored on the Pico.
If you could add some instructions whenever you have time, it would be greatly appreciated. Meanwhile I will have a play around with the included scripts. It seems to be a case of copying some ROMs, converting them into headers, and then running the Python script to build the uf2 file.
One other query I have - I decided to try the optional USB module, but I'm not sure what the jumper configuration should be on the board. Would it be possible to add that information to the Github project too?
@pollito I've updated the documentation on github to cover building the rom image and flashing to the Pico. makeroms.sh is no longer needed - you use romtool.py - it should all be explained in the readme.
@matronica thank you for writing the instructions - I've now got a bit further, but am still not there yet.
First of all, I stripped the header from all ROM files that were 16512 bytes long like so:
dd if=romfile_original.rom of=romfile.rom bs=1 skip=128
I then created a
roms/ directory, and copied all ROMs I wanted to use along with
firmware/picorom.rom, into that directory. All ROM files were 16384 bytes long.
I edited the
romtool.ini to be very simple, using only the following ROMs in a single CONFIG:
[INPUT]
romdir=../roms
[OUTPUT]
romfile=../build/roms.uf2
configfile=../build/config.uf2
combined=../build/roms+config.uf2
[ROMS]
2=OS_6128.ROM,CPC 6128 OS,L
12=BASIC_1.1.ROM,Basic 1.1 (6128)
24=albireo.rom,UniDOS Node for Albireo
25=unidos.rom,UniDOS
26=unitools.rom
30=picorom.rom
[CONFIG0]
DESCRIPTION=CPC 6128 with UniDOS
LOWER=2
BANK0=12
BANK6=30
BANK7=25
BANK11=24
BANK14=26
ACTIVE=1
Then, in a terminal, I switched to the
romtool directory, and ran
python3.11 ./romtool.py which appeared to complete successfully:
Added rom # 2 at offset 0x00009000: type 0x40, size 16384 CPC 6128 OS
Added rom #12 at offset 0x00031000: type 0x80, size 16384 Basic 1.1 (6128)
Added rom #24 at offset 0x00061000: type 0x02, size 16384 UniDOS Node for Albireo
Added rom #25 at offset 0x00065000: type 0x01, size 16384 UniDOS
Added rom #26 at offset 0x00069000: type 0x01, size 16384 UNITOOLS
Added rom #30 at offset 0x00079000: type 0x01, size 16384 PICO ROM
Start address is 0x1001e000
image size is 512000
created ../build/roms.uf2
Adding CONFIG0
Start address is 0x101ff000
image size is 4096
created ../build/config.uf2
According to the instructions, three files should be created, although only two are listed, and indeed only two exist in the
build/ directory:
config.uf2 (8K)
roms.uf2 (1000K)
The
roms+config.uf2 specified in the
romtools.ini config file is not created.
The instructions go on to say that the
cpc_rom_emulator.uf2 must be written to the Pico first. I started the Pico with
BOOTSEL held down, and copied
cpc_rom_emulator.uf2 onto it. It immediately ejected itself. I unplugged it, plugged it back in but nothing, so I reinserted the cable it with
BOOTSEL held down, and copied the
config.uf2. The Pico ejected itself again, and I had to reconnect it with
BOOTSEL held down once more to copy the final
roms.uf2 file.
When I plug to PicoROM into my 464, I can see that it is doing something, as the 6128 ROMs are loaded. But, none of the other ROMs are shown on boot, and none of the PicoROM's RSX commands work.
I tried the same process several times, but it always leads to the same outcome. Do you have any idea what might be wrong?
Quote from: matronica on 22:56, 18 September 24pollito (https://www.cpcwiki.eu/forum/index.php?action=profile;u=5512) I've updated the documentation on github to cover building the rom image and flashing to the Pico. makeroms.sh (https://www.cpcwiki.eu/forum///makeroms.sh) is no longer needed - you use romtool.py (https://www.cpcwiki.eu/forum///romtool.py) - it should all be explained in the readme.
Hi
@matronica I just (again) stumbled across this yesterday and I think it's an awesome piece of hardware. Open source, easy to build, extremely cheap - and simple for anyone to build it. It definitely should deserve much more attention!
A couple of questions appeared though:
- As the README has been updated is it save to assume it's now possible to just drop the ROM images into the root folder?
- I also recognized that the |CFGxxx commands have been removed. Will they come back?
- Does the PicoROM remember the last selected config or will it switch back to default if it's turned off?
- what does the USB part do? The doc only mentions "start emulating a USB drive. CPC will stop working".
From a hardware perspective I have a few more questions:
- When disabling the PicoROM why do you set ROMDIS to high? Wouldn't it be sufficient to just set ROM to low? I guess a permanent ROMDIS could interfere with other expansions.
- Would it be feasible to connect BRST to RUN (via diode) instead of a GPIO? I think that would then reset the PicoROM and could then free a GPIO which could e.g. be used to add a switch that selects between default.cfg and the last selected cfg.
- And last but not least, would you be fine with me creating a new PCB that is smaller, doesn't contain the USB and allows to either connect to the expansion port directly or to an MX4 board? I would of course keep the reference to the original project on the board.
Really awesome... a sub 10€ open source, flexible ROM board solution.
really nice project. Cheap, and easy to build.
So I did some and design a 3d Box for it.
Would be nice to expand the capabilities (like loading disks or bigger roms) - I would like to have the capabilities but old age...
https://ibb.co/0sMdY2k (https://ibb.co/0sMdY2k)
https://ibb.co/9pwZmXh (https://ibb.co/9pwZmXh)
Thanks anyway.
Phil
Quote from: matronica on 09:38, 19 April 23Quote from: eto on 09:25, 19 April 23This is really, really interesting.
If that turns out to be a general case, the Pico might be a great choice for other projects too, e.g. a graphics card.
That could be possible. The main limitation is the number of available io pins. I'm going to try creating some form of mass storage device next. (Using a second pico)
It might be interesting to make a mini-mx4 for several rpi-pico based boards.
And, could you emulate RAM expansion with this?
Quote from: pollito on 22:03, 25 September 24I tried the same process several times, but it always leads to the same outcome. Do you have any idea what might be wrong?
Hi
@pollito , I have made major changes to the firmware to make the process easier. I suggest you try the latest firmware on github. It allows you to copy ROMs via an emulated USB drive. Sorry for the late reply!
@eto Quote- As the README has been updated is it save to assume it's now possible to just drop the ROM images into the root folder?
yes
Quote- I also recognized that the |CFGxxx commands have been removed. Will they come back?
No. They are replaced by ROMSET
Quote- Does the PicoROM remember the last selected config or will it switch back to default if it's turned off?
No. It always goes back to default
Quote- what does the USB part do? The doc only mentions "start emulating a USB drive. CPC will stop working".
The |PUSB command makes the Pico emulate a USB drive, which you can attach to your modern PC to update ROMs,config. Whilst doing this, it can emulate ROMs for the CPC, so the CPC stops.
Quote- When disabling the PicoROM why do you set ROMDIS to high? Wouldn't it be sufficient to just set ROM to low? I guess a permanent ROMDIS could interfere with other expansions.
Setting ROMDIS high re-enabled the internal ROMS.
Quote- Would it be feasible to connect BRST to RUN (via diode) instead of a GPIO? I think that would then reset the PicoROM and could then free a GPIO which could e.g. be used to add a switch that selects between default.cfg and the last selected cfg.
Probably not, since the Pico need to be able to reset the CPC (e.g. when swapping ROM configurations)
Quote- And last but not least, would you be fine with me creating a new PCB that is smaller, doesn't contain the USB and allows to either connect to the expansion port directly or to an MX4 board? I would of course keep the reference to the original project on the board.
Sure, as long as you make it open source
Quote from: Philippe Lardenois on 21:20, 05 November 24really nice project. Cheap, and easy to build.
So I did some and design a 3d Box for it.
Would be nice to expand the capabilities (like loading disks or bigger roms) - I would like to have the capabilities but old age...
https://ibb.co/0sMdY2k (https://ibb.co/0sMdY2k)
https://ibb.co/9pwZmXh (https://ibb.co/9pwZmXh)
Thanks anyway.
Phil
Nice!
I am working on a version 2 of this. Not sure if/when it will see the light of day, but current plans are to support IO devices such as the floppy disk controller. It uses a Pico clone board which exposes all 30 GPIO pins, and a couple of buffer chips to multiplex the address bus. This gives me more available IO so that I can hook up all the address and data lines, plus hopefully enough control signals from the Z80, and an SD card for storage.
I did look at adding RAM expansion but this is unlikely because a) the Pico only has limited RAM available b) I don't fully understand how some of the RAM expansions work e.g. C3 RAM
I was thinking about a 64K RAM upgrade to take a 464 to 128K, but I think it's not worth the effort.
@Philippe Lardenois QuoteWould be nice to expand the capabilities (like loading disks or bigger roms) - I would like to have the capabilities but old age...
What do you mean by bigger ROMs? I though that all CPC expansion ROMs were 16KB?
Quote from: matronica on 01:08, 06 November 24a) the Pico only has limited RAM available
Good info is that Pico2 has RP2350 with 520KB. This is your natural straight path. Good luck!
Quote from: McArti0 on 06:57, 06 November 24Quote from: matronica on 01:08, 06 November 24a) the Pico only has limited RAM available
Good info is that Pico2 has RP2350 with 520KB. This is your natural straight path. Good luck!
yes, but I'm not aware of any dev boards with 30 GPIO. The RP2350B has 48 GPIO. Which is great, but I don't fancy soldering the tiny QFN package.
I guess that boards with the RP2350B will start to appear at some point.
Quote from: matronica on 06/11/2024, 11:08:21
I was thinking about a 64K RAM upgrade to take a 464 to 128K, but I think it's not worth the effort.
-----
I personally think including a 64k RAM expansion for the 464 would be cool.
Nice project, I'm looking forward to seeing it evolve. 👍
Cheers,
Shane
Quote from: matronica on 07:46, 06 November 24yes, but I'm not aware of any dev boards with 30 GPIO. The RP2350B has 48 GPIO. Which is great, but I don't fancy soldering the tiny QFN package.
I guess that boards with the RP2350B will start to appear at some point.
The Pimorino PGA2350 was (afaik) the first available board that exposes all 48GPIOs.
Unfortunately it was out of stock after a couple of days. https://shop.pimoroni.com/products/pga2350?variant=42092629229651
The 2350B should have enough GPIOs to provide ROM, mass storage and maybe even the logic for an additional SRAM with 512K-2MB (or add another 2350B as a pure RAM emulator). I would expect that schematics are or will be available, so designing a board that can be assembled by e.g. JLCPCB or PCBway could also be an option. That would open the possibility to make it an "internal" expansion that can be plugged into the CPU socket.
This project is very interesting and promising. Keep it up,
@matronica! I hope you keep making progress and manage to add all the fantastic features you have in mind.
Regarding the boards with the RP2350B, I found this: https://lectronz.com/products/rp2350-stamp-xl (https://lectronz.com/products/rp2350-stamp-xl)
Quote from: matronica on 01:09, 06 November 24@Philippe Lardenois
QuoteWould be nice to expand the capabilities (like loading disks or bigger roms) - I would like to have the capabilities but old age...
What do you mean by bigger ROMs? I though that all CPC expansion ROMs were 16KB?
Sorry gor late reply. I meant for example 512Ko roms. But Maybe the PICO has a limited memory capabilities. Otherwise, I noticed tha twe can load 48K roms by mounting them consecutivly in a CFG file....
Quote from: matronica on 23:06, 05 November 24Quote from: pollito on 22:03, 25 September 24I tried the same process several times, but it always leads to the same outcome. Do you have any idea what might be wrong?
Hi @pollito , I have made major changes to the firmware to make the process easier. I suggest you try the latest firmware on github. It allows you to copy ROMs via an emulated USB drive. Sorry for the late reply!
Sorry for the late reply; I've been really tied up lately building an enhanced Speccy clone. Thank you so much for updating the firmware, and instructions. I managed to make it boot my CPC into Noel's diagnostic ROM just to test it, and it is awesome!
Regarding the optional CH376S, which jumper settings are needed for this, and which ROMs?
(https://www.bromania.eu/images/ch376s.png)
Thanks again! :D
Quote from: matronica on 23:06, 05 November 24Quote from: pollito on 22:03, 25 September 24I tried the same process several times, but it always leads to the same outcome. Do you have any idea what might be wrong?
Hi @pollito , I have made major changes to the firmware to make the process easier. I suggest you try the latest firmware on github. It allows you to copy ROMs via an emulated USB drive. Sorry for the late reply!
Hi Matt,
the new firmware is on your Github, to test the usb component ? Can't see it.
Thanks.
Quote from: Philippe Lardenois on 19:51, 16 November 24Quote from: matronica on 23:06, 05 November 24Quote from: pollito on 22:03, 25 September 24I tried the same process several times, but it always leads to the same outcome. Do you have any idea what might be wrong?
Hi @pollito , I have made major changes to the firmware to make the process easier. I suggest you try the latest firmware on github. It allows you to copy ROMs via an emulated USB drive. Sorry for the late reply!
Hi Matt,
the new firmware is on your Github, to test the usb component ? Can't see it.
Thanks.
Do you mean the CH376S module I mentioned above? If so, I think it passes through directly to the edge connector. After asking the question above, I saw that Matt has linked to this page (https://www.cpcwiki.eu/index.php/Albireo) from the CPC_PICOROM page (https://github.com/mattcallow/CPC_PICOROM). I will give it a go myself at some point in the next week or so.
Just checked the schematic (https://github.com/mattcallow/CPC_PICOROM/blob/main/hardware/schematic.png), and D0-D7 of the CH376 are actually connected to the Pico as per this documentation (https://www.cpcwiki.eu/imgs/5/5b/Ch376ds1.pdf). Apologies for the misinformation. :picard:
Quote from: pollito on 00:01, 17 November 24Just checked the schematic, and D0-D7 of the CH376 are actually connected to the Pico as per this documentation (https://www.cpcwiki.eu/imgs/5/5b/Ch376ds1.pdf). Apologies for the misinformation. :picard:
you should be able to connect it to the pico via SPI.. (SCS,SCK,MOSI/SDI,MISO/SDO).. so youre only using 4 lines instead of 12 data and control lines
but yes...the board is laid out with D0 to D7 and the control lines...
schematic is here to check for yourself!
https://github.com/mattcallow/CPC_PICOROM/blob/main/hardware/schematic.png (https://github.com/mattcallow/CPC_PICOROM/blob/main/hardware/schematic.png)
The CH376S is controlled by the CPC, not the pico. It's mapped to IO Addresses FE80 and FE81, so should work with any software that works with Albireo https://www.cpcwiki.eu/index.php/Albireo
I use unidos with the albireo driver.
Matt
Quote from: matronica on 11:31, 17 November 24The CH376S is controlled by the CPC, not the pico. It's mapped to IO Addresses FE80 and FE81, so should work with any software that works with Albireo https://www.cpcwiki.eu/index.php/Albireo
I use unidos with the albireo driver.
Matt
ooh that makes sense! derp!
..that said.. it should be theoretically possible to use one of your picorom boards just for the USB.. with no pico attached... (i already use M4 board for roms)..i still need to order a pinned connector to plug the picorom into MX4 board..
Hi !
I've discovered this thread few days ago. Interesting project I'll follow a bit.
I own most of the cards of
@TotO, the M4, cpcbooster, usifac II but in fact I mainly use the M4 card because of this functionality : the ability to send a snapshot or a file from the PC to the CPC without even touching the CPC (so it is a pleasure to crossdev). As time fly I care less of ROMS and as I do not natively develop I have no need of extra RAM.
By adding a wifi module, would it be technically feasible to load snapshots in the CPC as with the M4 ? Or there are technical limitations for that and a second pico (or another hardware) would be needed ?
Depending on your answer, I may take time to look at the code of your project and understand how it works to eventually contribute.
Quote from: krusty_benediction on 09:26, 20 November 24Hi !
I've discovered this thread few days ago. Interesting project I'll follow a bit.
I own most of the cards of @TotO, the M4, cpcbooster, usifac II but in fact I mainly use the M4 card because of this functionality : the ability to send a snapshot or a file from the PC to the CPC without even touching the CPC (so it is a pleasure to crossdev). As time fly I care less of ROMS and as I do not natively develop I have no need of extra RAM.
By adding a wifi module, would it be technically feasible to load snapshots in the CPC as with the M4 ? Or there are technical limitations for that and a second pico (or another hardware) would be needed ?
Depending on your answer, I may take time to look at the code of your project and understand how it works to eventually contribute.
looking at the schematic, theres not enough free pins left on the pico to add a wifi module.. but i guess you could use a Pico W for wifi....
just need to code the pico side and z80 asm for the rsx extensions..
Quote from: Brocky on 04:10, 21 November 24Quote from: krusty_benediction on 09:26, 20 November 24Hi !
I've discovered this thread few days ago. Interesting project I'll follow a bit.
I own most of the cards of @TotO, the M4, cpcbooster, usifac II but in fact I mainly use the M4 card because of this functionality : the ability to send a snapshot or a file from the PC to the CPC without even touching the CPC (so it is a pleasure to crossdev). As time fly I care less of ROMS and as I do not natively develop I have no need of extra RAM.
By adding a wifi module, would it be technically feasible to load snapshots in the CPC as with the M4 ? Or there are technical limitations for that and a second pico (or another hardware) would be needed ?
Depending on your answer, I may take time to look at the code of your project and understand how it works to eventually contribute.
looking at the schematic, theres not enough free pins left on the pico to add a wifi module.. but i guess you could use a Pico W for wifi....
just need to code the pico side and z80 asm for the rsx extensions..
Correct. All the pins are used. I did consider the PicoW, but the the API is pretty horrible unless you use an RTOS. Plus the only way to write the the Pico is via a single IO port which is also used for bank switching. So it is probably possible to add Wifi, but not really something I'm going to look at. I don't know how the M4 loads snapshots, but I expect it has full access to all the CPC memory. The PicoROM can only act as ROM, and can't replace the RAM.
Quote from: matronica on 04:47, 21 November 24Quote from: Brocky on 04:10, 21 November 24Quote from: krusty_benediction on 09:26, 20 November 24Hi !
I've discovered this thread few days ago. Interesting project I'll follow a bit.
I own most of the cards of @TotO, the M4, cpcbooster, usifac II but in fact I mainly use the M4 card because of this functionality : the ability to send a snapshot or a file from the PC to the CPC without even touching the CPC (so it is a pleasure to crossdev). As time fly I care less of ROMS and as I do not natively develop I have no need of extra RAM.
By adding a wifi module, would it be technically feasible to load snapshots in the CPC as with the M4 ? Or there are technical limitations for that and a second pico (or another hardware) would be needed ?
Depending on your answer, I may take time to look at the code of your project and understand how it works to eventually contribute.
looking at the schematic, theres not enough free pins left on the pico to add a wifi module.. but i guess you could use a Pico W for wifi....
just need to code the pico side and z80 asm for the rsx extensions..
Correct. All the pins are used. I did consider the PicoW, but the the API is pretty horrible unless you use an RTOS. Plus the only way to write the the Pico is via a single IO port which is also used for bank switching. So it is probably possible to add Wifi, but not really something I'm going to look at. I don't know how the M4 loads snapshots, but I expect it has full access to all the CPC memory. The PicoROM can only act as ROM, and can't replace the RAM.
regarding the snapshots, they are just a dump of the memory and stack, so you just copy that file to the CPC memory which can be done very much like copying a rom to ram..
not sure if Albireo can load snapshots, but they theoretically should be able to be loaded from file on the CH376 USB... (but unfortunatly no direct connection like krusty would like)
@matronica I finally got around to testing my CPC Pico ROM outside of using it for diagnostics, but unfortunately I am having some problems with it, and I hope you might be able to offer some suggestions.
Whatever I seem to do, it recognises the OS and BASIC ROMs, essentially upgrading my 464, but it doesn't load any of the other ROMs, including picorom.rom - i.e. there is nothing on the boot screen that suggests any additional ROMs are being initialised.
I thought maybe it was the cheap 74LS688s I got from AliExpress, and I had the same behaviour from all 5 of that batch. I even had the same behaviour without any IC in the socket. So, I bought a replacement as part of my recent Mouser order, but nothing has changed.
I have also tried with 3 different Picos, but still no change in behaviour.
D2 is placed the reverse of that on the silkscreen, so that doesn't seem to be the problem either.
I believe I've reflowed everything on the board, but I'll do that again tomorrow, just in case.
Any ideas at all? I'm sure it's something simple, but I can't work it out! ;D
Quote from: pollito on 22:35, 18 December 24@matronica I finally got around to testing my CPC Pico ROM outside of using it for diagnostics, but unfortunately I am having some problems with it, and I hope you might be able to offer some suggestions.
Whatever I seem to do, it recognises the OS and BASIC ROMs, essentially upgrading my 464, but it doesn't load any of the other ROMs, including picorom.rom - i.e. there is nothing on the boot screen that suggests any additional ROMs are being initialised.
I thought maybe it was the cheap 74LS688s I got from AliExpress, and I had the same behaviour from all 5 of that batch. I even had the same behaviour without any IC in the socket. So, I bought a replacement as part of my recent Mouser order, but nothing has changed.
I have also tried with 3 different Picos, but still no change in behaviour.
D2 is placed the reverse of that on the silkscreen, so that doesn't seem to be the problem either.
I believe I've reflowed everything on the board, but I'll do that again tomorrow, just in case.
Any ideas at all? I'm sure it's something simple, but I can't work it out! ;D
The 74LS688 won't affect loading of the ROMs, it's only for the USB drive.
The fact that you can load the OS and basic ROM suggests that hardware is OK.
Which version of the firmware are you running?
What ROMs do you have loaded?
What is in your config file?
Matt
Quote from: matronica on 08:31, 19 December 24Quote from: pollito on 22:35, 18 December 24@matronica I finally got around to testing my CPC Pico ROM outside of using it for diagnostics, but unfortunately I am having some problems with it, and I hope you might be able to offer some suggestions.
Whatever I seem to do, it recognises the OS and BASIC ROMs, essentially upgrading my 464, but it doesn't load any of the other ROMs, including picorom.rom - i.e. there is nothing on the boot screen that suggests any additional ROMs are being initialised.
I thought maybe it was the cheap 74LS688s I got from AliExpress, and I had the same behaviour from all 5 of that batch. I even had the same behaviour without any IC in the socket. So, I bought a replacement as part of my recent Mouser order, but nothing has changed.
I have also tried with 3 different Picos, but still no change in behaviour.
D2 is placed the reverse of that on the silkscreen, so that doesn't seem to be the problem either.
I believe I've reflowed everything on the board, but I'll do that again tomorrow, just in case.
Any ideas at all? I'm sure it's something simple, but I can't work it out! ;D
The 74LS688 won't affect loading of the ROMs, it's only for the USB drive.
The fact that you can load the OS and basic ROM suggests that hardware is OK.
Which version of the firmware are you running?
What ROMs do you have loaded?
What is in your config file?
Matt
Thank you for your reply. I am using the latest firmware from your Github repo (https://github.com/mattcallow/CPC_PICOROM). Before I loaded the firmware onto the Pico, I cleared it completely with flash_nuke.uf2 (https://github.com/Pwea/Flash-Nuke).
The configs I have loaded are the same as your examples, but with the ROMs populated from the CPCWiki page (https://www.cpcwiki.eu/index.php/ROM_List). Here is the entire contents zipped (https://drive.google.com/file/d/1BpGBhyfzdLyT4u6SAE4XJqmCpwr1mkSJ/view?usp=drive_link).
Just an addition - it doesn't look like the 6128 OS and BASIC ROMs are working properly either. Although it shows 128K Microcomputer and BASIC 1.1, if I type fill it gives me a Syntax error rather than an Operand missing error.
I also reflowed all of the solder joints, just in case. The only thing I haven't changed trying to troubleshoot are the diodes and the edge connector! :D
Regarding writing the files to the Pico, I originally used FreeBSD, but the Pico seemed to eject itself before fusefs had finished writing the files, which meant the CPC would hang on boot. I am now using Windows 10.
@pollito , how did you format the Pico when in USB mode? I would recommend getting the pico to do it. See README for details, but basically hold the bootsel button for about 10 seconds when in USB mode.
I re-flashed by pico with the uf2 image from github, formatted as above then copied all the files from your zip archive onto it. Mine works as expected. So i think your files and config are fine.
Quote from: matronica on 05:21, 21 December 24@pollito , how did you format the Pico when in USB mode? I would recommend getting the pico to do it. See README for details, but basically hold the bootsel button for about 10 seconds when in USB mode.
I re-flashed by pico with the uf2 image from github, formatted as above then copied all the files from your zip archive onto it. Mine works as expected. So i think your files and config are fine.
I have been formatting the Pico by holding the
BOOTSEL button as is described on your Github page.
Just in case it would help, I replaced the cheap AliExpress diodes with some I bought from Mouser, but couldn't see any difference in behaviour, other than the
fill command now correctly returns
Operator missing.
It seems that the 464 is only reading the lower ROM, and ROM 0. This is the same with my other 464. If I try the interface on my 6128, it goes into a reset loop after showing the copyright message.
I have now tried it with three different Picos, all which show the same behaviour:
2x Picos (marked 2020)
1x Pico H (marked 2021)
Which version Picos have you tested with? Perhaps this somehow makes a difference?
Quote from: pollito on 22:35, 21 December 24Which version Picos have you tested with? Perhaps this somehow makes a difference?
I use a (c) 2020 Pico.
Did you also raise the issue on github? https://github.com/mattcallow/CPC_PICOROM/issues/7
Quote from: matronica on 01:54, 24 December 24Quote from: pollito on 22:35, 21 December 24Which version Picos have you tested with? Perhaps this somehow makes a difference?
I use a (c) 2020 Pico.
Did you also raise the issue on github? https://github.com/mattcallow/CPC_PICOROM/issues/7
No, not me. Interesting, though, as they are different symptoms to mine. Do you want me to put my findings on that Github thread / raise a new issue?
Quote from: matronica on 01:54, 24 December 24Quote from: pollito on 22:35, 21 December 24Which version Picos have you tested with? Perhaps this somehow makes a difference?
I use a (c) 2020 Pico.
Did you also raise the issue on github? https://github.com/mattcallow/CPC_PICOROM/issues/7
i think you'll find that the pico has issues with its internal pullups...
https://forums.raspberrypi.com/viewtopic.php?t=375631
oops..thats actually pico2... but i think it goes back to the earlier chips aswell..
No, the issue with high-impedance mode (*not* the internal pullups, the original defect reports were wrong) on the Pico2/RP2350 is isolated to that chip, the original Pico/RP2040 is completely unaffected.
This looks like a great project.
I'd be very interested to hear how version 2 is progressing, especially the disk controller support.
It would be great to have a cheap and simple to build floppy emulator. Existing CPC options seem limited and expensive.
The memory expansion would be good too if that's possible.
There are some similar projects for other platforms that are Pico based like the A2Pico card for the Apple II and PicoMEM for ISA PCs.
Hi all I'm new to this site.
I found this project while searching the internet and decided to build it.
The rom side of things all appears to work great but the USB CH376 USB board I haven't managed to get working.
Just wondering if anyone has it working as I've been searching and I've not really found much on it apart from on the github page where it refers to the Albireo wiki.
I've tried different versions of the Albireo & Unidos rom I currently have I think the latest version from https://unidos.cpcscene.net (https://unidos.cpcscene.net/) which are Unidos 1.51 and Albireo 1.41
I've tried 4 different USB sticks ranging from a very old drive up to a newish USB 3 drive you can still buy new today.
When I put a USB stick in the drive the LED on the USB stick comes on for about 1 second and goes off.
The USB sticks are formatted to FAT32
The drive I wanted to use I only left 2 or 3 files in the root of the drive just in case of any issues with the number of files in a directory.
The 74LS688 chip I got 5 of them and I've tried, I think 3 of them.
I've tried a different PSU for the Amstrad.
I've tried moving roms around but my config currently looks like this:
L:OS_6128.ROM
0:BASIC_1.1.ROM V1.20
4:Utopia V1.25
7:Unidos V1.51
10:Albireo V1.41
11:Picorom V3.11
To try and access the USB I've tried a few different commands of which I know some were not going to work as I was typing them but was just wishful thinking.
|drive is the command that I thought would work and it doesn't show any USB drive.
Has anyone got any ideas as I could be doing something stupid and missed something very basic?
https://i.postimg.cc/YC3HbTYV/IMG-0856.jpg (https://i.postimg.cc/YC3HbTYV/IMG-0856.jpg)
https://i.postimg.cc/SKvHP4sZ/IMG-0857.jpg (https://i.postimg.cc/SKvHP4sZ/IMG-0857.jpg)
Can you run SymbOS?
If yes, check if you can access the drive from SymbOS.
AFAIK Unidos needs some storage to save its configuration but this can't be the USB stick and has to be eg NVRAM or the sd card. Maybe this is related to the fact that it's not recognized.
Thank you for your reply, I did look at SymbOS but it requires 128k or RAM but I only have an unexpanded 464 so only 64k of RAM at the moment.
That said my next project may be making one of the 256k ram expansions but really depends how I get on with this as I do want disk emulation and if It doesn't end up working, I will probably buy something like the Zaxon ddi device which some of them have ram included in them.
The Unidos not being able to install I will try one of the alternatives to Unidos.
Hi all, thanx to matronica for this project easy to make, fot me it's work fine but i have a stupid question, I noticed that the command to start a rom (|romname) does not correspond to the name of the file or the name of the rom, sometimes you need |dk to start donkey kong or |ping to start ping pong and so, in many cases it is necessary to try and try again to find the correct word to stard a rom, is there a way to know which word/name to write to start a rom or am I doing something wrong?
Quote from: nickxr on 17:00, 17 May 25Hi all I'm new to this site.
I found this project while searching the internet and decided to build it.
The rom side of things all appears to work great but the USB CH376 USB board I haven't managed to get working.
Just wondering if anyone has it working as I've been searching and I've not really found much on it apart from on the github page where it refers to the Albireo wiki.
I've tried different versions of the Albireo & Unidos rom I currently have I think the latest version from https://unidos.cpcscene.net (https://unidos.cpcscene.net/) which are Unidos 1.51 and Albireo 1.41
I've tried 4 different USB sticks ranging from a very old drive up to a newish USB 3 drive you can still buy new today.
When I put a USB stick in the drive the LED on the USB stick comes on for about 1 second and goes off.
The USB sticks are formatted to FAT32
The drive I wanted to use I only left 2 or 3 files in the root of the drive just in case of any issues with the number of files in a directory.
The 74LS688 chip I got 5 of them and I've tried, I think 3 of them.
I've tried a different PSU for the Amstrad.
I've tried moving roms around but my config currently looks like this:
L:OS_6128.ROM
0:BASIC_1.1.ROM V1.20
4:Utopia V1.25
7:Unidos V1.51
10:Albireo V1.41
11:Picorom V3.11
To try and access the USB I've tried a few different commands of which I know some were not going to work as I was typing them but was just wishful thinking.
|drive is the command that I thought would work and it doesn't show any USB drive.
Has anyone got any ideas as I could be doing something stupid and missed something very basic?
https://i.postimg.cc/YC3HbTYV/IMG-0856.jpg (https://i.postimg.cc/YC3HbTYV/IMG-0856.jpg)
https://i.postimg.cc/SKvHP4sZ/IMG-0857.jpg (https://i.postimg.cc/SKvHP4sZ/IMG-0857.jpg)
Try this: Get rid of Utopia, it's incompatible to lots of other ROMs. :)
Quote from: GUNHED on 22:20, 26 May 25Quote from: nickxr on 17:00, 17 May 25Hi all I'm new to this site.
I found this project while searching the internet and decided to build it.
The rom side of things all appears to work great but the USB CH376 USB board I haven't managed to get working.
Just wondering if anyone has it working as I've been searching and I've not really found much on it apart from on the github page where it refers to the Albireo wiki.
I've tried different versions of the Albireo & Unidos rom I currently have I think the latest version from https://unidos.cpcscene.net (https://unidos.cpcscene.net/) which are Unidos 1.51 and Albireo 1.41
I've tried 4 different USB sticks ranging from a very old drive up to a newish USB 3 drive you can still buy new today.
When I put a USB stick in the drive the LED on the USB stick comes on for about 1 second and goes off.
The USB sticks are formatted to FAT32
The drive I wanted to use I only left 2 or 3 files in the root of the drive just in case of any issues with the number of files in a directory.
The 74LS688 chip I got 5 of them and I've tried, I think 3 of them.
I've tried a different PSU for the Amstrad.
I've tried moving roms around but my config currently looks like this:
L:OS_6128.ROM
0:BASIC_1.1.ROM V1.20
4:Utopia V1.25
7:Unidos V1.51
10:Albireo V1.41
11:Picorom V3.11
To try and access the USB I've tried a few different commands of which I know some were not going to work as I was typing them but was just wishful thinking.
|drive is the command that I thought would work and it doesn't show any USB drive.
Has anyone got any ideas as I could be doing something stupid and missed something very basic?
https://i.postimg.cc/YC3HbTYV/IMG-0856.jpg (https://i.postimg.cc/YC3HbTYV/IMG-0856.jpg)
https://i.postimg.cc/SKvHP4sZ/IMG-0857.jpg (https://i.postimg.cc/SKvHP4sZ/IMG-0857.jpg)
Try this: Get rid of Utopia, it's incompatible to lots of other ROMs. :)
Thank you for your reply, I have got it running over the weekend it turned out I had one pin that the solder was not great on after resoldering that pin it worked
😊
Quote from: nickxr on 23:21, 26 May 25after resoldering that pin it worked
Definitely a best practice ;-)
Half of my "unexpected failures" disappeared after resoldering. I do now always resolder ;-)