News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_d_kef

HDCPM - boot and run CP/M plus from hard disk

Started by d_kef, 16:48, 30 December 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

revaldinho

Right, I've just tried this new version using the ROM from the zipfile.

On my 6128 + M4, all is well and I can see the updated ROM version in the sign-on message. HDCPM boots into CP/M+ normally. All good.

On the 464 + M4, I still don't get to the CP/M+ prompt.

Here's the 464 sign-on screen (with 6128 Firmware/BASIC installed and no ROMs other than the HDCPM and M4 support)

You cannot view this attachment.

Running |HDCPM directly still fails the environment check

You cannot view this attachment.

So, rebooting and running the Dk'Tronics BANK.BAS utility to install RSXes and using the |Emulate command, |HDCPM gets past the environment check but ends up with a solid blue screen and the machine locked up as before.

You cannot view this attachment.

You cannot view this attachment.





poulette73

Hello d_kef,

As already exchanged in PM, congratulations for this great tool!!

it's a must have. 👍

It works really well, and very satisfying to have up to 32 MB of storage available under CP/M Plus, and not to mention the almost instantaneous execution speed of programs.
The ability to retrieve the date and time from the M4 is also a nice feature.

My configuration : Amstrad CPC 6128 with M4 Board. And 1MB memory expansion, like this :

github.com/revaldinho/cpc_ram_expansion/wiki/'Old-School'-CPC6128-512KB-and-1MB-RAM-Expansion-Cards
I have used CPM3SEMI.EMS as intended as the boot file.

The year displayed is not correct but it's quite normal: I used the original CP/M disk, which isn't patched for the year 2000 bug.
To correct this, it's possible to use ZPM3 system disks which is an alternative to CPM Plus with year 2000 compliant binaries.

And the result:

d_kef

You can find a CPMDSK01.IMG containing all the files of the AMSTRAD CP/M Plus system disks and Y2K compatible replacement files, in the HDCPM wiki page.
Then just transfer the CPM3SEMI.EMS using HDMGR.COM to the reserved track.

d_kef

Devlin

Quote from: revaldinho on 23:26, 12 May 23Right, I've just tried this new version using the ROM from the zipfile.

On my 6128 + M4, all is well and I can see the updated ROM version in the sign-on message. HDCPM boots into CP/M+ normally. All good.

On the 464 + M4, I still don't get to the CP/M+ prompt.

Here's the 464 sign-on screen (with 6128 Firmware/BASIC installed and no ROMs other than the HDCPM and M4 support)

You cannot view this attachment.

Running |HDCPM directly still fails the environment check

You cannot view this attachment.

So, rebooting and running the Dk'Tronics BANK.BAS utility to install RSXes and using the |Emulate command, |HDCPM gets past the environment check but ends up with a solid blue screen and the machine locked up as before.

You cannot view this attachment.

You cannot view this attachment.




You got pretty much exactly what I got - I don't have a ROM board, so I can only test from the binary, it starts okay, then fails the environment check(i'd say that's progress!) with no tweaking. running |emulate causes the same issue as revaldinho with the crashing though.
CPC464 & CPC6128 + USIfAC II + Revaldinho 512k(universal cpld ver) - Schneider CRT TV
Administrator of Amstrad Discord : https://discord.gg/ksWvApv

poulette73

#155
Quote from: d_kef on 10:50, 13 May 23You can find a CPMDSK01.IMG containing all the files of the AMSTRAD CP/M Plus system disks and Y2K compatible replacement files, in the HDCPM wiki page.
Then just transfer the CPM3SEMI.EMS using HDMGR.COM to the reserved track.

d_kef
That's fine, thank you !


GUNHED

Regarding CP/M Plus. Please use v 1.1 to have proper SIO support.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

d_kef

Quote from: GUNHED on 15:00, 14 May 23Regarding CP/M Plus. Please use v 1.1 to have proper SIO support.
Where can we find it?
I searched the wiki and the forum but couldn't find anything.

d_kef

d_kef

Quote from: zhulien on 20:59, 11 May 23@d_kef Does the CPM Plus that I posted in the other thread work for you? It has been patched and used to work on my 664.

https://www.cpcwiki.eu/forum/applications/dragonbreed-patched-cpm-plus/

So, I downloaded the .dsk
Unfortunately it doesn't use a normal .EMS file. I suppose the DISC.BIN contains the CP/M Plus BDOS,  BIOS and CCP but it isn't compatible with HDCPM.

d_kef

GUNHED

#159
The v 1.1 is surely all over the wiki, I'll try to attach a .dsk here...
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

poulette73

Thank you @GUNHED for this file, I couldn't find it on the whole wiki either...

Everything is ok : I updated the disk image CPMDSK01.IMG with this version of CP/M Plus v1.1.

d_kef

Thanks for the files @GUNHED !!!
Do you know if the first one is an official AMSTRAD release?
I assume the second one is v1.1 patched for Vortex formatted disks?

d_kef

d_kef

#162
Quote from: d_kef on 16:35, 14 May 23
Quote from: zhulien on 20:59, 11 May 23@d_kef Does the CPM Plus that I posted in the other thread work for you? It has been patched and used to work on my 664.

https://www.cpcwiki.eu/forum/applications/dragonbreed-patched-cpm-plus/

So, I downloaded the .dsk
Unfortunately it doesn't use a normal .EMS file. I suppose the DISC.BIN contains the CP/M Plus BDOS,  BIOS and CCP but it isn't compatible with HDCPM.

d_kef
@zhulien I did some further testing and the DISC.BIN is indeed a normal .EMS file with an AMSDOS header so it can be run from Basic.
After removing the header I was able to make my CP/M disk image bootable with it.
It loads just fine but not on my 464! It still uses #C3 RAM mode (confirmed with WinAPE) and unless you had a Dk'tronics or revaldinho's RAM card attached I don't see how it could have worked with your 664; Or I miss something here...

I'm attaching the extracted .EMS file here for anyone who wants to test it.

d_kef

zhulien

Quote from: d_kef on 21:06, 15 May 23
Quote from: d_kef on 16:35, 14 May 23
Quote from: zhulien on 20:59, 11 May 23@d_kef Does the CPM Plus that I posted in the other thread work for you? It has been patched and used to work on my 664.

https://www.cpcwiki.eu/forum/applications/dragonbreed-patched-cpm-plus/

So, I downloaded the .dsk
Unfortunately it doesn't use a normal .EMS file. I suppose the DISC.BIN contains the CP/M Plus BDOS,  BIOS and CCP but it isn't compatible with HDCPM.

d_kef
@zhulien I did some further testing and the DISC.BIN is indeed a normal .EMS file with an AMSDOS header so it can be run from Basic.
After removing the header I was able to make my CP/M disk image bootable with it.
It loads just fine but not on my 464! It still uses #C3 RAM mode (confirmed with WinAPE) and unless you had a Dk'tronics or revaldinho's RAM card attached I don't see how it could have worked with your 664; Or I miss something here...

I'm attaching the extracted .EMS file here for anyone who wants to test it.

d_kef
Ah ok, I did have a dktronics 64k memory expansion originally before eventually getting a 256k and then 512k.

I've always wondered is a 6128 version of a 256k memory expansion really 256k or is it 192k?

d_kef

#164
Quote from: zhulien on 03:40, 16 May 23I've always wondered is a 6128 version of a 256k memory expansion really 256k or is it 192k?
In fact the Dk'tronics memory expansion disables the second 64K bank of the 6128 and replaces it with a 64K bank of its own memory!
So the usable RAM is always 64K + the size of the expansion. In CP/M Plus, the OS reserves 128K so the reported RAM drive size is 64K less than the size of the expansion = 192K.

d_kef

GUNHED

Quote from: d_kef on 19:02, 15 May 23Thanks for the files @GUNHED !!!
Do you know if the first one is an official AMSTRAD release?
I assume the second one is v1.1 patched for Vortex formatted disks?

d_kef
v 1.1 was the update from Amstrad to enable proper working SIO (Amstard RS232) support. The patched version supports 0,7 MB format (Vortex).
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

d_kef

Hi all,

I've recently built up a universal 512K RAM card for testing HDCPM with the 464.
I must admit that I am now more confused than ever!!!
Let me explain what I mean.
I have the RAM card and a M4 board attached on my 464. I've used the M4 to replace the 464's ROMs with the 6128 ones (OS, Basic and also AMSDOS).
So my 464 should behave like a 6128 minus the FDC as I don't have a DDI-1.
I know that my universal RAM card works. I've tested it with Future OS in full shadow RAM mode - everything OK.
I've also run @Duke 's RAM test and I've got what I believe were positive results. I only have a question about the C3 mode test when the expansion is configured for Dk'tronics C3 mode. The C3 RAM test reports "-rom remapped 0x4000!" for every memory page. Is that normal?
Anyway, what confuses me is that, the way HDCPM works, there is no obvious reason for my 464 with the above mentioned configuration to refuse loading CP/M. And yet I get the same results as @revaldinho and @Devlin : the CP/M images seem to be mounted and then the screen gets cleared and the system freezes.
I've tried all possible C3 configurations but the result is always the same.
So I had this idea: I could try to load the dragonbreed patched CP/M plus which is a normal .EMS file that can be run from Basic (thanks @zhulien).
So I copied the "DISC.BIN" to the M4 SD card and run it from there. On my 6128 it boots just fine. It also recognizes the RAM card and initializes a 444KB RAM drive. On my 464 I'm getting the same blank screen and then it freezes!!!
But now HDCPM is out of the equation! So now I'm completely confused and don't know how to proceed.
Is it my 464 that has some kind of problem? Is it the .EMS that needs the real FDC to be present? Is it something else?

Any ideas would be more than welcomed!!!
Also If anyone could test the Dragonbreed patched CP/M plus without a DDI-1 attached I'd appreciate it very much.

d_kef

zhulien

I will try this if I can as I have a 464 setup - will get back to you

zhulien

#168
On my 464 without dd1 but with m4, 6128 roms it locks up. Sorry i dont have a working dd1 interface currently but if my memory is working,  my friend used to use cpm plus on his 464 without issues... with 6128 rom and dd1.

On my 664 if I don't have a disc in drive a when I boot it locks up also, but with a disc it works fine.

I am wondering if it is trying to login the disc.  Maybe I will try on winape, but I am sure you have already?

I will do some more tests with different memory expansions to see if the behaviour changes. I have dktronics, xmem and now Gemini.

d_kef

Quote from: zhulien on 10:11, 08 June 23On my 464 without dd1 but with m4, 6128 roms it locks up. Sorry i dont have a working dd1 interface currently but if my memory is working,  my friend used to use cpm plus on his 464 without issues... with 6128 rom and dd1.

On my 664 if I don't have a disc in drive a when I boot it locks up also, but with a disc it works fine.

I am wondering if it is trying to login the disc.  Maybe I will try on winape, but I am sure you have already?

I will do some more tests with different memory expansions to see if the behaviour changes. I have dktronics, xmem and now Gemini.
Thanks for the feedback.
So without a DDI-1 it is impossible to test it on a 464.
I can't even try the USIFAC's FDC emulation because my 464 aparently doesn't like the USIFAC.

Of course I tried it with WinAPE and CPCEMU  and it works great even with the 464 ROMs.

I think I have to try and find some other way to debug HDCPM.

d_kef

poulette73

#170
I also tried on my side to test things since few days, to try to help you.

Quote from: d_kef on 21:10, 08 June 23I can't even try the USIFAC's FDC emulation because my 464 aparently doesn't like the USIFAC.
I also tried this solution with USIfAC II and Dragonbreed patched CP/M on USB mass storage, with FDC emulation.
The CP/M loading is ok, but once the CP/M screen is displayed, the program searches for a floppy disk in drive A.


I don't have a CPC 464, but I also tried a solution to transform my CPC 6128 into a CPC 464, which I sometimes use for other tests and it works fine.
For this, I use on my Mother X4 :

Then I launch the first game of this compilation, and I perform a reset with CONTROL+SHIFT+ESC.
At startup I am exactly like with a CPC 464 : 64k memory, lower OS ROM v1, upper Basic v1.0 ROM, QWERTY keyboard, and no upper Amsdos ROM (so the commands like |DISC, |DIR, |ERA, |CPM, |A, |B do not exist, only |CAT, |TAPE and RUN" are avaiable).


And to confirm that I'm in a real CPC 464 mode, I use the original tape game Marmelade from MBC Informatique, which I run with a MaxDuino interface and the CDT image.
This game has many protections, and it checks the presence of Basic v1.1, the presence of internal FDC and external FDC with DDI-1 interface, and it stops as soon as it detects one of these elements.

QuoteThe protection was designed by Frédéric SOL, an engineer from Esat Software, known for his Machiavellian protections.
He is also the illustrious author of the Amiga and Atari ST copier called Discoscopie (I have it in original), and he too is badly protected against copying, that's the mark of the character.
Anyway....Not only does the loader use at least 3 protections, with the following messages: "1987 F.Sol - All rights reserved"

- 1st post: "Please wait. "The program is loading"

* 1st anticopy test: "Please unplug your Multiface"

* 2nd anticopy test if basic v1.1 is detected: "This cassette version will not work on a CPC 664 or 6128. Use the floppy version."

* 3rd anticopy test: "Please turn off your floppy disk drive." Appears if the FDC hardware test is positive... No 464 + floppy drive hehehe!

When everything is good and the loader has been loaded, the message "Code Loaded" appears.
* 4th anticopy test: Then, a key coded on 1 byte and with a value of &80 is read just before the big block of 64 kB, which does not use any CRC, does not tolerate any error, any cut during the loading.

* 5th anticopy test: Data processing is monitored, if it is cut, the game detects it, and freezes or resets as desired.
USIfAC II's FDC emulation fools all the tests and the CDT game starts ! (without USIfAC II, the game detects the internal presence of my 6128 FDC... and it stops)
So I'm exactly in a CPC 464 configuration without DDI-1.

But for now, I still can't get Dragonbreed patched CP/M to work.
I launch it with RUN"CPM+.BAS" (or RUN"DISC.BIN") from the USIfAC II, the CP/M Plus black and white screen appears, but then it tries to continue to the internal drive.
And if I cancel then I get the error : "CP/M Error on A: Disk I/O BDOS Function 15 File = PROFILE.SUB"
If I can help on other tests do not hesitate or in PM if you prefer.


zhulien

Ah that could be the cause.  Disassemble it and look for profile.sub.  comment out the code that opens and processes profile.sub. (put a ret in there somewhere)

That is the first thing I would do.  If that is the cause maybe it requires further checks or patches... to not lock up.

d_kef

Thanks for your help guys!!!

I can also confirm that upon loading, the .EMS file is polling the status of the FDC until it is ready. I tested that with my Plus after pulling out the FDC. That's why the CPC freezes when the FDC is absent. This happens in a few places in the code that initializes the floppy drive before even loading the profile.sub.

I think that I can tweak the patcher routines of HDCPM so that if there is no FDC the floppy disk driver will be completely disabled.

Thanks again for your valuable information.

d_kef

GUNHED

CP/M Plus also senses if there are one or two floppies. If it finds only one drive then the 2nd drive gets emulated by drive A. So be careful!  :)  
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

d_kef

#174
I know. I was thinking of reading the status register of the FDC and if &ff is returned then the FDC chip is completely missing. So no floppy drives whatsoever and the code that copes with floppy drives can be patched.
I've tried this approach with my Plus and I was able to run HDCPM and boot CP/M Plus with only "hard disks".
I also patched zhulien's disc.bin and my 464 happily booted CP/M Plus without having a DDI-1 attached for the first time!
So now I know that my 464 with revaldinho's universal RAM card in Dk'tronics &C3 mode can run CP/M Plus.
Next I need to find out why the hell HDCPM refuses to cooperate!  :'(

d_kef

Powered by SMFPacks Menu Editor Mod