News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_OffseT

UniDOS, the new multi-device AMSDOS replacement

Started by OffseT, 15:51, 24 January 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Maniac

Finally got around to trying this out now that M4 support is available. This is a brilliant development but I think I've found a bug even if it might be unique to my setup.


My setup is a 6128 Plus with a C4CPC cartridge, an X-Mem (with ROMboard element disabled) and an M4 Board. I'm using the M4 board for the ROMs as shown in the screenshot where UniDOS is in slot 7.


The C4CPC is running the original Plus cartridge image with no other ROMs present.


When I have all of this connected the system runs fine for the most part until I run the command ¦drive on its own. When I do this the command lists the Available DOS devices and Logical drives and then the system crashes with vertical lines down the screen. Reset try again and it happens every time.


If I switch my cartridge to the original physical system cart (i.e. not the C4CPC) then it all works without issue. So I thought it was (and most likely is) a conflict between the various devices providing ROMs. However I then switched back to the C4CPC and used the Firmware 3.16 cartridge image and it works but I have no access to the disc drive just the M4. So I created a custom cartridge image using the new tool you made to do this with the ROMs in the same slots as the screenshot above and removed the ROMs from the M4 slots and I still get the same issue with a system crash.


To test further I then switched the ROMs about on the M4 as shown in the screenshot with UniDOS in slot 6.


Thought I'd cracked it as the ¦drive command worked initially but now crashes consistently again.


Everything else works that I've tried but this I'm afraid.

Cwiiis

Quote from: Maniac on 23:02, 21 September 21
Finally got around to trying this out now that M4 support is available. This is a brilliant development but I think I've found a bug even if it might be unique to my setup.


My setup is a 6128 Plus with a C4CPC cartridge, an X-Mem (with ROMboard element disabled) and an M4 Board. I'm using the M4 board for the ROMs as shown in the screenshot where UniDOS is in slot 7.


The C4CPC is running the original Plus cartridge image with no other ROMs present.


When I have all of this connected the system runs fine for the most part until I run the command ¦drive on its own. When I do this the command lists the Available DOS devices and Logical drives and then the system crashes with vertical lines down the screen. Reset try again and it happens every time.


If I switch my cartridge to the original physical system cart (i.e. not the C4CPC) then it all works without issue. So I thought it was (and most likely is) a conflict between the various devices providing ROMs. However I then switched back to the C4CPC and used the Firmware 3.16 cartridge image and it works but I have no access to the disc drive just the M4. So I created a custom cartridge image using the new tool you made to do this with the ROMs in the same slots as the screenshot above and removed the ROMs from the M4 slots and I still get the same issue with a system crash.


To test further I then switched the ROMs about on the M4 as shown in the screenshot with UniDOS in slot 6.


Thought I'd cracked it as the ¦drive command worked initially but now crashes consistently again.


Everything else works that I've tried but this I'm afraid.
I see similar things with just the X-Mem on a Plus and I think it's actually power related - I see it more easily if I use a separate power adapter rather than the monitor which leads me to think it's a voltage drop caused by the extra power draw of the X-Mem and C4CPC combined. I have an MX4 on the way which I'll configure with external power to see if it affects things.

Maniac

Quote from: Cwiiis on 01:09, 22 September 21
I see similar things with just the X-Mem on a Plus and I think it's actually power related - I see it more easily if I use a separate power adapter rather than the monitor which leads me to think it's a voltage drop caused by the extra power draw of the X-Mem and C4CPC combined. I have an MX4 on the way which I'll configure with external power to see if it affects things.


Good to hear that I'm not the only one. I might disconnect the internal drive and just use my externally powered HxC to see if it still happens.

OffseT

#153
Quote from: Maniac on 08:13, 22 September 21
Good to hear that I'm not the only one. I might disconnect the internal drive and just use my externally powered HxC to see if it still happens.
That's interesting.
So, I just did some tests and I it actually appears to be some power drain issue.

Here is my base config (which is quite stable as I am using it everyday):
6128plus + Mulfiface Two + Albireo + MegaFlashGordon + Nova + dual floppies (both powered by the monitor)

What I experimented:
Base config + C4CPC -> still perfectly stable.
Base config + M4 Board -> still perfectly stable, but I can notice that the blue led of the board is slighlty blinking when floppies are being used.
Base config + X-Mem -> still perfectly stable.
Base config + C4CPC + M4 Board -> don't even boot, at best it crashes during firmware start, most of the time even before.
Base config + C4CPC + X-Mem -> don't even boot, at best it crashes during firmware start, most of the time even before.

I also tried with an USB stick plugged on the Albireo: no changes; when it is stable, plugging a USB stick won't make the system unstable.
Please also note that I am not using the Mother-X4 which is known to have issues regarding 5V power drain when no external power is used.

Then I also tested with an Amiga external power supply able to deliver 5A:
Base config + C4CPC -> perfectly stable.
Base config + M4 Board -> perfectly stable, blue led not blinking anymore.
Base config + X-Mem -> perfectly stable.
Base config + C4CPC  + M4 Board -> booted once, but crashed after a while when doing nothing.
Base config + C4CPC  + X-Mem -> don't even boot.

All of this make me think that the issue is not only related to the power supply itself but also to the way the motherboard is designed to deliver the 5V to all the components. I guess we are reaching some limits of what can be plugged together on a Plus.
I'm afraid you will have to choose between M4 Board and C4CPC.

About |DRIVE, since it is accessing all the devices together, it makes sense that it could triggers easily the power issue in your case.

OffseT

Ok, I did an additional test case which is interesting too.

6128plus
+ Mulfiface Two
+ Albireo
+ MegaFlashGordon
+ Nova
+ dual floppies (both powered by the CPC)
+ X-Mem (ROMs disabled)
+ M4 Board

And it works perfectly!

With the original 5V from the monitor I still have the blue led of the M4 slightly blinking, but it seems not to affect operations.
With the 5V/5A power supply all is fine.

It means that when no C4CPC is attached, I can really plug many stuff together with no issue.
So the final conclusion might be that C4CPC is draining too much power from the cartridge port, which is preventing other peripherals from the expansion port to operate.

That said, this configuration seems to be the absolute maximum with single power supply from the CPC (for instance, adding a Mini-Booster creates instabilities and random crashes).
It means that adding even more expansion cards will require the Mother X4 with the additional external power supply plugged, which will also fixes the C4CPC issue draining power from cartridge (I just tested this last case here, all together, no issue).

Maniac

Thanks @OffseT for all of that testing. That makes for interesting reading and I at least know it's not just me. With cartridge image support now available in the M4 I could switch to just using the original system cartridge and use the C4CPC where that doesn't work.


On a different topic; will long file name support be coming to the M4 node please? Or is this something that could be added to the main UniDOS ROM in the future please?


Sorry if this is covered in the documentation but I've not found reference to it yet.

OffseT

#156
Quote from: Maniac on 18:22, 22 September 21
[...]  will long file name support be coming to the M4 node please? Or is this something that could be added to the main UniDOS ROM in the future please?

M4 node does already support long file names for the Library, because it hosts alien files (DSK, SNA, CPR coming from emulators) for which it is helpful to handle long file names.

Regarding global long file name support, as you guessed, it should be left to the responsability of UniDOS itself, not the DOS nodes (just like it is already the case for the symbolic links).
Long file name support shall be added in a universal way, including devices not supporting long file names on their own (such as AMSDOS floppy discs).
One of the features of UniDOS is that it actually ensures strong compatibility between devices, so that what you store on SD card of Albireo will work the same from floppies or IDE hard disk, and long file names shall not break this behavior.

That said, apart some rare softwares, long file names are not supported on CPC.
So it makes very little benefits and therefore it is a low prority feature in my todo list.

gerald

Quote from: OffseT on 11:49, 22 September 21
That's interesting.
So, I just did some tests and I it actually appears to be some power drain issue.

Here is my base config (which is quite stable as I am using it everyday):
6128plus + Mulfiface Two + Albireo + MegaFlashGordon + Nova + dual floppies (both powered by the monitor)

What I experimented:
Base config + C4CPC -> still perfectly stable.
Base config + M4 Board -> still perfectly stable, but I can notice that the blue led of the board is slighlty blinking when floppies are being used.
Base config + X-Mem -> still perfectly stable.
Base config + C4CPC + M4 Board -> don't even boot, at best it crashes during firmware start, most of the time even before.
Base config + C4CPC + X-Mem -> don't even boot, at best it crashes during firmware start, most of the time even before.

I also tried with an USB stick plugged on the Albireo: no changes; when it is stable, plugging a USB stick won't make the system unstable.
Please also note that I am not using the Mother-X4 which is known to have issues regarding 5V power drain when no external power is used.

Then I also tested with an Amiga external power supply able to deliver 5A:
Base config + C4CPC -> perfectly stable.
Base config + M4 Board -> perfectly stable, blue led not blinking anymore.
Base config + X-Mem -> perfectly stable.
Base config + C4CPC  + M4 Board -> booted once, but crashed after a while when doing nothing.
Base config + C4CPC  + X-Mem -> don't even boot.

All of this make me think that the issue is not only related to the power supply itself but also to the way the motherboard is designed to deliver the 5V to all the components. I guess we are reaching some limits of what can be plugged together on a Plus.
I'm afraid you will have to choose between M4 Board and C4CPC.

About |DRIVE, since it is accessing all the devices together, it makes sense that it could triggers easily the power issue in your case.

What is your configuration regarding the M4 or XMEM ?
If you enable a lower ROM on these, you will have some trouble for sure as the C4CPC will not be able to control CPC boot.
It will load the cartridge while the lower ROM (one the M4 or XMEM) will run and possibly try to access it during its init process.

OffseT

Quote from: gerald on 18:39, 23 September 21What is your configuration regarding the M4 or XMEM ? If you enable a lower ROM on these, you will have some trouble for sure as the C4CPC will not be able to control CPC boot. It will load the cartridge while the lower ROM (one the M4 or XMEM) will run and possibly try to access it during its init process.

Nope, ROMs were totally disabled on both M4 and X-Mem (I only use ROMs from the MegaFlashGordon).

It really looks like a power drain issue, but well, I really had to plug many many things together before it happens.
I have absolutely no issues in normal usage (Dual drives + C4CPC + Multiface Two + Albireo + Nova + MegaFlashGordon).

gerald

The C4CPC consume about 70mA more than the original eprom and is using a 3.3V local voltage regulator.
It would require quite a big voltage drop to prevent the regulator to properly work (it need at less 3.7V).
Also, on one of my plus, I measured the path from the power switch to the cartridge : 0.17ohm + 0.03ohm on the ground at the power plug, so a voltage drop of less than 20mV from plug to cartridge.

Other option are possible :
- power switch is not that clean, and then we can have voltage drop that can affect the whole system. But then accessing a drive (real one) would cash the system too.
- load on bus such that some signal do not behave properly anymore.
- ...

I do not have any issue with the C4CPC + XMEM combo. Need to find time to test the M4.

OffseT

The initial related issue from Maniac is a crash which occurs during the UniDOS |DRIVE RSX, which is actually accessing all devices (including disc drives) in a row.
Drive motor should be considered as an issue trigger.

Regarding X-Mem, as I said, I have no issue either with it unless I add numerous other interfaces.
Maniac instabilities might be easier to trigger because of an aging power supply.

OffseT


Cwiiis

Quote from: gerald on 19:32, 23 September 21
The C4CPC consume about 70mA more than the original eprom and is using a 3.3V local voltage regulator.
It would require quite a big voltage drop to prevent the regulator to properly work (it need at less 3.7V).
Also, on one of my plus, I measured the path from the power switch to the cartridge : 0.17ohm + 0.03ohm on the ground at the power plug, so a voltage drop of less than 20mV from plug to cartridge.

Other option are possible :
- power switch is not that clean, and then we can have voltage drop that can affect the whole system. But then accessing a drive (real one) would cash the system too.
- load on bus such that some signal do not behave properly anymore.
- ...

I do not have any issue with the C4CPC + XMEM combo. Need to find time to test the M4.

The one thing that really triggers the situation for me is Pinball Dreams. Some of the display will be incorrect and it crashes intermittently if I play it with both C4CPC and X-MEM connected on a 6128 Plus. Orgams also intermittently resets during scrolling with this configuration, but that's less consistent. I've cleaned the power socket (which did help, so I guess it's marginal), not tried cleaning the switch yet, but it's quite a different mechanism to the standard CPC, it looks unlikely to help...

Maniac

#163
Quote from: OffseT on 19:53, 23 September 21
The initial related issue from Maniac is a crash which occurs during the UniDOS |DRIVE RSX, which is actually accessing all devices (including disc drives) in a row.
Drive motor should be considered as an issue trigger.

Regarding X-Mem, as I said, I have no issue either with it unless I add numerous other interfaces.
Maniac instabilities might be easier to trigger because of an aging power supply.
I've now managed to do a bit more testing with combinations of peripheral connected. One thing I also forgot to mention before was that I power my M4 board via the USB socket on the board so power is not coming from my 6128 plus for that. I also don't power the MX4. These are my findings:

       
  • With the power removed from the internal drive and all of the devices connected as in my original post this made no difference at all - running the command ¦drive still caused the machine to crash as it did before.
  • Removing the X-Mem from the MX4 board with the C4CPC in the cart slot and the M4 providing the ROMs the ¦drive command doesn't crash the system
  • Moving the board slots that the X-Mem and M4 are plugged in to on the MX4 causes different behaviour. X-Mem in all my previous tests was plugged in to slot 1 and the M4 in slot 2. If I switch these around so that the M4 is in slot 1 and the X-Mem in slot 2 the ¦drive command doesn't crash the system
This is similiar to a situation I found before when I first got my C4CPC. In the end from discussions on this forum the conclusion was that this was down to devices fighting for priority with regard to ROMs - https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amstrad-cpc-wifi/msg128379/#msg128379


So all is now good with everything connected. Thank you for everyones help with this. Hope this post helps others too.

Maniac

Think I spoke too soon! Upgraded to v1.36 of UniDOS and got back to a similar position although the crashes don't happen quite so frequently.

OffseT

Quote from: Maniac on 15:04, 24 September 21
Think I spoke too soon! Upgraded to v1.36 of UniDOS and got back to a similar position although the crashes don't happen quite so frequently.
Well, this should be nothing related. v1.36 has absolutely no changes related to this.


Regarding additional information you provided I did further tests and I guess that I could reproduce exactly your issue.
My base config is the same as previous: Multiface Two + Albireo + Nova + MegaFlashGordon (my ROMs 0-31 are set in it, ROMs are disabled in X-Mem and set to slots 32-63 in M4).

Case 1:
Base config + M4 Board + X-Mem + System cartrige
|DRIVE never crashes.

Case 2:
Base config + M4 Board + X-Mem + C4CPC (set to start with system cartridge)
|DRIVE leads to a crash from time to time (filling the screen and all memory with &00,&3c,&00,&3a).


Weird.

Maniac

Quote from: OffseT on 17:55, 24 September 21
Case 1:
Base config + M4 Board + X-Mem + System cartrige
|DRIVE never crashes.

Case 2:
Base config + M4 Board + X-Mem + C4CPC (set to start with system cartridge)

|DRIVE leads to a crash from time to time (filling the screen and all memory with &00,&3c,&00,&3a).


Weird.
Yes, that exactly mirrors what I see. I agree it's pretty odd behaviour.

zhulien

#167
I'm a couple of weeks behind Maniac as I recently got my Nova cards and the M4 support is what I also was waiting for.  Definitely the most useful DOS software since all the cool hardware came out.


First Setup:


6128Plus + M4 Board + X-Mem (ROMs disabled) + System cartridge (with Parados) + Zaxon USB 3" Floppy Replacement + X-Mass

Symbiface 2 is listed as compatible, is that using the same driver as X-Mass?  Is Symbiface 3 supported yet or would that need a different driver?


If UniDOS is in ROM7, will CP/M still work?

zhulien

#168
I just installed all the examples as per the UniDOS page with the latest downloads, but get FATFS wrong install, M4 wrong config, then I cannot type on the keyboard

ROMS as follows: Any ideas?  I have tried removing all ROMS that weren't downloaded from UniDOS (DISCO6, SUPER, PROTEXT, MAXAM) and same thing happens.

m_dr_m

1/ Are you sure you can replace your ROM 7? (It doesn't work with unmodified CPC 6128)
2/ I though M4 was meant to be as ROM 6, but I might be wrong.

zhulien

#170
Quote from: m_dr_m on 18:41, 08 October 21
1/ Are you sure you can replace your ROM 7? (It doesn't work with unmodified CPC 6128)


I am using a 6128 Plus.  Is that able to have ROM 7 replaced?  Note: I have now verified it works in slot 7.



Quote from: m_dr_m on 18:41, 08 October 21
2/ I though M4 was meant to be as ROM 6, but I might be wrong.


I have reassigned the M4 ROM to slot 127 as suggested.


The other thing I was thinking after reading the documentation in more detail, it says the filesystem is compatible with normal AMSDOS, does that mean M4 must now be 8 letter filenames in uppercase?

zhulien

#171
I disabled the M4 rom (which usually is in slot 6) and now keyboard works and unidos appears to work - only a FATFS error.


It makes sense we are using a replacement M4, but do we need the old M4?  Autoexec.bas seems to no longer run.


"Moreover, you will also have to take care of the M4 Board configuration; in order to avoid conflicts, the M4 Board built-in ROM must be moved to a slot greater than 16 so that it is no longer initialized by the system (but it will still be used internally by UniDOS)."



If i turn off FATFS, I can use the SDCARD in the M4 by LOAD"SD:"



The documentation does say that the assignments are persistent but so far for me they reset every reboot.  Also I am unsure if the NOVA is actually doing anything, is there a way to tell?


OffseT

M4 node is not a replacement for the M4 ROM. It uses the M4 ROM input area internally (M4 Board works this way, not with regular input ports).


The error "M4 Board wrong config!" means that you missed the point were the M4 ROM shall be moved to a slot greated than 15 (127 is suggested, see screen grab in documentation), so that it is made invisible to the system (otherwise its DOS/RSX section would conflict with UniDOS).


CP/M will still work if you keep the AMSDOS ROM in addition to UniDOS (and UniDOS will use it to handle floppies).


Regarding FatFs error you have, I need to check what could happen in your case.

OffseT

#173
Quote from: zhulien on 19:01, 08 October 21
The documentation does say that the assignments are persistent but so far for me they reset every reboot.  Also I am unsure if the NOVA is actually doing anything, is there a way to tell?
They are permanent. 8)
... unless you hear a beep, which means it was reset (usually because of ROMs being moved, can also happen in case another ROM trashed everything, or of course when you press CONTROL during boot).


|NODE will mark the Nova node with a "!" if it is in use.




Hmm, also, when an error is displayed, the keyboard should not be locked at all, which makes me think there is something weird with FatFs in your case. :P

OffseT

Quote from: zhulien on 16:57, 08 October 21
Symbiface 2 is listed as compatible, is that using the same driver as X-Mass?  Is Symbiface 3 supported yet or would that need a different driver?


Symbiface 2 and X-Mass are the same regarding IDE.
Symbiface 3 will need an additionnal node (but don't count on me for this one ::) )

Powered by SMFPacks Menu Editor Mod