News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_genesis8

CPCEmu v3.0 (April 2025)

Started by genesis8, 20:05, 16 April 25

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

McArti0

Quote from: Emu on 23:13, 16 April 25
Quote from: McArti0 on 20:51, 16 April 25Hybrid SymbOS DSK not load all....

I tried both 720k and 1200k versions as well as the regular disk version. All of them do boot until the start menu is visible. The screen background is black, but the start menu can be operated. However, no application can be started. Looks like a configuration issue to me.
Interestingly, if I boot from either hybrid DSK while the M4 board with the SymbOS mass storage version is enabled, the usual background image and the clock are shown and I can start applications with the mouse. However, once I open the start menu, SymbOS crashes.
My suspicion is that this is related to the non-working option to disable AMSDOS speedup.
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
One chip drver for 512kB extRAM 6128
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

Emu

Quote from: McArti0 on 17:36, 21 April 25My suspicion is that this is related to the non-working option to disable AMSDOS speedup.

The option does work. It removes waiting times between disk sectors and tracks (by modifying the AMSDOS ROM and by not artificially waiting in the disk controller emulation). But, and this came to my attention only through your hint, it has an effect only once the emulation is restartet (by quitting or by selecting the corresponding menu item in the setup menu). This is because it modifies the AMSDOS ROM, which cannot simply be undone, but requires reloading the ROM. I might add a message box after this option has been toggled.

Anyway, it does not relate to SymbOS not booting from disk. Nevertheless, thank you for the hint.

Emu

Quote from: HAL6128 on 16:11, 19 April 25If I choose different memory layout (e.g. dk'tronics) and 512kB than nothing happens (black screen) after booting SymbOS. If I choose 576 kB then I see at least one second, the boot screen then memory garbage.

I suspect that the latter is an artifact of the SD card live mode. Please restore the SymbOS files (in particular the .INI files) and try it with image mode. It seems that they become garbled when written back in live mode.

As Duke wrote to me once, the live mode is an uphill battle. I spent lots of hours (no, rather of weeks) to it, but it still has flaws at many places.

ikerkaz

Hi @Emu , I wrote you an e-mail with my problem, but I will explain it here in case anyone might be interested.
The Android version works fine on my Samsung Galaxy Tab S9, but the physical keyboard doesn't work properly; the movement is jerky and practically unplayable. Is there a solution? 
Thank you very much.

Emu

Quote from: ikerkaz on 10:03, 22 April 25The Android version works fine on my Samsung Galaxy Tab S9, but the physical keyboard doesn't work properly; the movement is jerky and practically unplayable. Is there a solution?

Thank you for the report. I checked with two different Android tablets and you are right. Interestingly, typing in BASIC at the command prompt works without problems. I have to look into the code, but I remember certain difficulties with Android keyboard input. I hope I can improve this behaviour.

HAL6128

#55
Quote from: Emu on 08:45, 22 April 25
Quote from: HAL6128 on 16:11, 19 April 25If I choose different memory layout (e.g. dk'tronics) and 512kB than nothing happens (black screen) after booting SymbOS. If I choose 576 kB then I see at least one second, the boot screen then memory garbage.

I suspect that the latter is an artifact of the SD card live mode. Please restore the SymbOS files (in particular the .INI files) and try it with image mode. It seems that they become garbled when written back in live mode.

As Duke wrote to me once, the live mode is an uphill battle. I spent lots of hours (no, rather of weeks) to it, but it still has flaws at many places.
It doesn't boot complete through the whole process and stops. I used SymbOS 4.0. 576kB RAM and the image mode of the M4.
It's a complete fresh installation of CPCEmu 3.0 and SymbOS. I didn't get it work.

Also tried SymbOS 3.1 with the same result. Maybe something's weird with Windows 11.

genesis8

#56
Two not important points :

- M4 ROM is 2.0.6, latest is 2.0.8
- the emulator still shows v3.0 not v3.0.1

A dumb problem for a frog, even if for a 6128 I choose (portable version FYI) :

LANGUAGE = 2
KBD_LANGUAGE = 2
VKBD_LANGUAGE = 2

the keyboard will still be qwerty.

So I went to ROM manager and chose the CPC6128.ROM.FR for both 255 and 0 and got in cpcemu.cfg :

#IFCPC 2 ;CPC 6128
ROM_BLOCK = 7, "CPCADOS.ROM", 0
ROM_BLOCK = 0, "H:\D\amstrad\emulateurs\cpcemu-3.0.1\ROM\National\CPC6128.ROM.FR", 1
ROM_BLOCK = 255, "H:\D\amstrad\emulateurs\cpcemu-3.0.1\ROM\National\CPC6128.ROM.FR", 0

When launching the emulator, I got an error cant find the ROM in ROM/\my path starting with H:, of course if I put :

#IFCPC 2 ;CPC 6128
ROM_BLOCK = 7, "CPCADOS.ROM", 0
ROM_BLOCK = 0, "National\CPC6128.ROM.FR", 1
ROM_BLOCK = 255, "National\CPC6128.ROM.FR", 0

then it works in azerty, but still can't use the pipe (ù with the french keyboard) with the real keyboard to use M4 commands, no problem with the virtual keyboard though.

Or did I make something wrong ?

An idea, let the user choose the model AND national ROM at the first start, and set by default the virtual keyboard the same language ? Otherwise, I fear some french will try and go for another emulator it it doesnt work at once.

Good news, SymbOS starts but now, what mouse must I choose to use SymbOS ? On SymbOS I choose the first v4.0 version (31th January), but a little bit down there is another version 4th March, stated " most actual 4.0 (improved) preview for Amstrad CPC".
____________
Amstrad news site at Genesis8 Amstrad Page

Emu

Quote from: genesis8 on 21:24, 22 April 25- M4 ROM is 2.0.6, latest is 2.0.8

I might update it in v3.0.2 ;-).

Quote from: genesis8 on 21:24, 22 April 25- the emulator still shows v3.0 not v3.0.1

Ouch, touché. Thanks for the hint, will be fixed in 3.0.2.

Quote from: genesis8 on 21:24, 22 April 25When launching the emulator, I got an error cant find the ROM in ROM/\my path starting with H:, of course if I put :

I would like to understand this better. In which folder is CPCEMU.EXE and in where is %APPDATA%?

Quote from: genesis8 on 21:24, 22 April 25then it works in azerty, but still can't use the pipe (ù with the french keyboard) with the real keyboard to use M4 commands, no problem with the virtual keyboard though.

Probably, the mapping of the hardware keys is not complete or faulty. I tried to check all keys, but the easiest way to use different layouts was in MacOS. So, perhaps, there is a difference in Windows or I missed one key. I will look after it.

Quote from: genesis8 on 21:24, 22 April 25An idea, let the user choose the model AND national ROM at the first start, and set by default the virtual keyboard the same language ? Otherwise, I fear some french will try and go for another emulator it it doesnt work at once.

Perhaps I should stay with the two current selections for the user, but select the national ROMS depending on the virtual keyboard layout?

Quote from: genesis8 on 21:24, 22 April 25Good news, SymbOS starts but now, what mouse must I choose to use SymbOS ?

That's good news. Best-suited for SymbOS is Symbiface. For me, it feels almost 1:1. As SymbOS accepts joystick input, you could also use the numeric keypad (without NUMLOCK) or the AMX mouse emulation.

Emu

Quote from: HAL6128 on 20:11, 22 April 25Also tried SymbOS 3.1 with the same result. Maybe something's weird with Windows 11.

Interesting, that's exactly the state I end up with when booting SymbOS from disk.

From the drive names I conclude that genesis8 made it work in WIndows. I think I did so, too (but will try again). There shouldn't be a difference in Windows versions (the problem in v3.0 was only related to network functions).

I found the exact reason for the crashes with live mode. SYMBOSXT.INI is truncated to its previous size when written during shutdown of SymbOS. This results in a damaged start-up sequence next time SymbOS boots. Unfortunately, I don't have a solution, yet. My problem is that my emulation of the SD card file system has to cope with different orders of information-writing by SymbOS (first the directory sector then the data sectors or the other way round, I remember both ways to occur; there we are in the uphill battle, again).

Emu

Quote from: HAL6128 on 20:11, 22 April 25Also tried SymbOS 3.1 with the same result. Maybe something's weird with Windows 11.

I just remembered your |CD issue. In which file system (FAT32, NTFS, ...) is your %APPDATA%? Are there any special characters in the path to it? I remember a hyphen in it, is there more to it?

Besides, please look into %APPDATA%\CPCemu. There should be a file VSD.IMG once you tried to start SymbOS in image mode. It is a FAT32 image file. Can you mount it and look into it? Does it contain a complete copy of your SDCARD directory structure?

Prodatron

Quote from: Emu on 23:32, 22 April 25I found the exact reason for the crashes with live mode. SYMBOSXT.INI is truncated to its previous size when written during shutdown of SymbOS. This results in a damaged start-up sequence next time SymbOS boots. Unfortunately, I don't have a solution, yet. My problem is that my emulation of the SD card file system has to cope with different orders of information-writing by SymbOS (first the directory sector then the data sectors or the other way round, I remember both ways to occur; there we are in the uphill battle, again).
The live mode is an impressive feature. I have no idea how you are able to convert low level sector access on an emulated FAT32 device in realtime to a Windows NTFS subdirectory...  :o Are you working with an internal temporary FAT32 image, which is then synchronized with the directory as soon as there are changes?

I am currently trying to get SymbOS working with this, but currently without success. SymbOS boots fine from disc, when there is nothing on the SD card. I will continue with testing. Currently CPCEmu is installed in the x86-program folder (Windows 10; it seems, that the installer found this old location and updated it to 3.0.1), and the folders are in users/appdata/roaming/cpcemu . Is that a good place, or should it be somewhere else?

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Emu

Quote from: Prodatron on 09:52, 23 April 25The live mode is an impressive feature. I have no idea how you are able to convert low level sector access on an emulated FAT32 device in realtime to a Windows NTFS subdirectory...  :o Are you working with an internal temporary FAT32 image, which is then synchronized with the directory as soon as there are changes?

Thanks, that's high praise coming from you! No, it's not exactly an image, but a huge linked-list structure of directories, files and their clusters. The directory sectors are filled on-the-fly from the structure when they are read (and converted to the structure when written).

Quote from: Prodatron on 09:52, 23 April 25SymbOS boots fine from disc, when there is nothing on the SD card.

Now, that's really interesting. I will try that immediately.


Quote from: Prodatron on 09:52, 23 April 25I am currently trying to get SymbOS working with this, but currently without success. ... I will continue with testing. Currently CPCEmu is installed in the x86-program folder (Windows 10; it seems, that the installer found this old location and updated it to 3.0.1), and the folders are in users/appdata/roaming/cpcemu . Is that a good place, or should it be somewhere else?

These places are fine.

I've just tried v3.0.1 in Windows 10 and installed the contents of the two SymbOS mass storage packages into the SDCARD folder. It boots completely without complaint. What I noticed for the first time is an exception when shutting down SymbOS. Bug removed.

Have you set RAM size to 576k and restartet the emulator via the setup menu item "restart emulation"? Otherwise, v3.0.1 will not be able run SymbOS.

Please do not use live mode for the time being. Try image mode and restore all SymbOS files, in particular SYMBOSXT.INI, after you used live mode. I would be interested to see if the SD card image VSD.IMG has the correct contents (i. e., a complete deep copy of the SDCARD directory).

Emu

Quote from: Emu on 13:46, 23 April 25No, it's not exactly an image, but a huge linked-list structure of directories, files and their clusters. The directory sectors are filled on-the-fly from the structure when they are read (and converted to the structure when written).

I forgot to mention that the data sectors are read and written immediately from and to the host file system (the clusters stored in the linked lists are only number ranges).

Quote from: Prodatron on 09:52, 23 April 25SymbOS boots fine from disc, when there is nothing on the SD card.

I tried, and indeed, all disk versions, even the BootHybrid versions 720k and 1200k, boot and work fine if the SD card is empty.

After that, I looked for any SymbOS-related code in CPCemu. Almost everything was already disabled when the M4 board was disabled.... besides of the Symbiface mouse and RTC ports at 0xFDxx. SymbOS reads from 0xFD4F, 0xFD41, 0xFD42, 0xFD0F (IDE status) and 0xFD14 (RTC), and CPCemu returned 0 as a default in these cases (apart from the RTC). In particular, SymbOS repeats 0xFD0F very often, so that's probably where booting visually stops. It seems that an available M4 board keeps SymbOS from probing Symbiface. Correct conclusion?

Anyway, returning 0 is wrong, I will change that. If I remove it SymbOS boots from all disk versions correctly.

I'm curious, what are 0xFD4F, 0xFD41, 0xFD42 for? I have not found any documentation on these.


Emu


HAL6128

Quote- M4 ROM is 2.0.6, latest is 2.0.8

I might update it in v3.0.2 ;-)

Not necessary... just invoke "|upgrade" and you'll get the 2.0.8 version immediately. :)

GUNHED

Quote from: Emu on 15:41, 19 April 25The Dobbertin HD20 should work now, too. The file was not missing, but is created automatically (but in v3.0 the wrong folder was used, so probably it failed). Of course, you need to install the X-DDOS ROM (included) first.
That's a great new feature!  :) :) :)
Did you try is with FutureOS?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2024.10.27)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Emu

Quote from: GUNHED on 23:07, 23 April 25Did you try is with FutureOS?

Yes, but I did only a basic check if FutureOS can read the contents of the HD20. It does display the directory and also starts files (even without the X-DDOS ROM).

genesis8

#68
Quote from: Emu on 23:05, 22 April 25
Quote from: genesis8 on 21:24, 22 April 25When launching the emulator, I got an error cant find the ROM in ROM/\my path starting with H:, of course if I put :

I would like to understand this better. In which folder is CPCEMU.EXE and in where is %APPDATA%?

As stated portable version so H:\DL\AMSTRAD\EMULATEUR\name of zip file, and the subfolders of "name of zip file" not %APPDATA%.

So if I go to ROM manager instead of using the absolute path, it is adding my absolute path to a relative path "ROM" : if I edit the CFG file with the relative path "National/good rom name" it works as it adds "ROM/" + "National/.ROM"

For the pipe character not working, on an PC Azerty keyboard, the key is for the two french accents : circumflex ^(lower) and trema like the E in Noël (upper), so it's considered a dead key doing nothing till you type another character being a vowel.
____________
Amstrad news site at Genesis8 Amstrad Page

Emu

Quote from: genesis8 on 08:55, 24 April 25For the pipe character not working, on an PC Azerty keyboard, the key is for the two french accents : circumflex ^(lower) and trema like the E in Noël (upper), so it's considered a dead key doing nothing till you type another character being a vowel.

There are indeed two key mappings missing. Please try the following in cpcemu.dat in section KEYTAB_FR:

a) modify line 286:

47, 0x23, 0x23, 0xff,

b) insert a line, e. g. after line 290:

53, 0x10062, 0xff, 0xff,

c) save the file


genesis8

Quote from: Emu on 15:35, 24 April 25
Quote from: genesis8 on 08:55, 24 April 25For the pipe character not working, on an PC Azerty keyboard, the key is for the two french accents : circumflex ^(lower) and trema like the E in Noël (upper), so it's considered a dead key doing nothing till you type another character being a vowel.

There are indeed two key mappings missing. Please try the following in cpcemu.dat in section KEYTAB_FR:

a) modify line 286:

47, 0x23, 0x23, 0xff,

b) insert a line, e. g. after line 290:

53, 0x10062, 0xff, 0xff,

c) save the file


And it works ! Thanks a lot.

It will make things so much easier with any ROMs commands.
____________
Amstrad news site at Genesis8 Amstrad Page

Emu

Quote from: genesis8 on 19:10, 24 April 25It will make things so much easier with any ROMs commands.

You're welcome. I've also fixed the portable ROM paths. I'm currently working on the automatic selection of national ROMs during the installation.

Emu

I have released v3.0.2. Several bugs have been fixed in this release:

  • Android: Lagging hardware keyboard input.
  • Missing or wrong mapping of some hardware-keyboard keys.
  • Selection of keyboard layout during setup sets hardware keyboard layout now, too, and configures national ROMs where appropriate.
  • SymbOS 4.0 boots from disks now.
  • Fixed bank-switching bug: SymbOS boots with RAM sizes between 128k and 576k now.
  • M4 board (Windows version): Folders can now be deleted, |CD,".." works now.
  • M4 board/SymbOS: SD card live mode significantly improved, but still not reliable enough for production use. Caveat emptor! If you have used live mode before please make sure to
    restore all SymbOS files, they might have become damaged.
  • Portable version (Windows): ROM paths are relative now.

Thanks to all bug reporters!

HAL6128

#73
Hi, just tried the new version today (Win11 / Installer version 3.0.2. ).
Can confirm that M4 board emulation works now (means creating & deleting or diving into folders) in "image mode".

SymbOS still doesn't work. Either the mass storage or the disc version (I created a freshly installation) nor the discs (small boot disc or hybrid). And it doesn't matter which RAM config I have chosen (128k, 512k or 576k)

Out of curiosity I installed a new Windows 11 (AND a Window 7 version) in VirtualBox with a different username (because of the assumption of the hyphen in the username). But still the same behaviour as in my original Win11.

SymbOS boots up to the desktop and then crashes...

HAL6128

By the way: would it be possible to expand the Debugger Monitor to an external window?

Powered by SMFPacks Menu Editor Mod