Open bert003 opened 8 years ago
I do want to support the plus range (6128+, 464+ and GX4000) but this is a different hardware than CPC so a lot of work is needed to support it. This will not happen quickly. I already started to work on the design part for it but no code is written yet.
As no issue is opened for it yet, I'll use this one to follow the progress, this will allow you to be aware when it finally arrive !
That's great. Awaiting eagerly :+1:
Thanks for all your work in caprice32
For information, you can follow the progress of this by manually putting model=3 in cap32.cfg. Don't expect much for now however :-)
In the menu, F1 and F2 can be activated using the numpad, which corresponds to a CPC keyboard if you remember well: http://www.nightfallcrew.com/wp-content/gallery/amstrad_cpc_464_plus/img_1592.jpg
If you don't have a numpad (typically on a laptop) you can usually access it through function keys. It's also possible to access it with the virtual keyboard if you have a joystick (activated with button 10 of the joystick by default).
Thanks ... will do that :-)
I did not understand the last sentence though... Virtual keyboard? In caprice32 you mean?
And what is button 10 of the joystick?
Yes in caprice 32 there is a virtual keyboard to allow using it without keyboard (typically if you want to use it on a media center with joysticks). The button 9 of the joystick shows the GUI and the 10 show the virtual keyboard.
Here is how the buttons are numbered on most joysticks (but some have less, that's why it can be configured in cap32.cfg): http://www.html5rocks.com/en/tutorials/doodles/gamepad/gamepad_diagram.png
Did not know that.
How can they be configured from cap32.cfg? I see no entry for joystick buttons. Am I missing something please?
The joystick I had way back was something like this: http://www.nightfallcrew.com/wp-content/gallery/amstrad-cpc-6128-plus-monitor-mm12-white-phosphor-crt/IMG_0554.jpg
It had just 2 red buttons and arrow keys
Yes the CPC only supports 2 buttons for joystick but as most modern joysticks have much more than that, it's the opportunity to use the rest to control the emulator.
For now there are only two configurable buttons: joystick_menu_button=9 joystick_vkeyboard_button=10
Once in the GUI or vkeyboard, arrows are usable to move in the GUI menu and in the keyboard. The following buttons are not configurable:
All this would really need to be documented somewhere :-)
These controls work pretty well with the two joysticks I have but feedback of experience with other joysticks would be nice as it's difficult to anticipate all the configurations that could exist.
When I added the lines above in cap32.cfg, keyboard went crazy.
When I press a letter, it is typed multiple times ex: cls would be ccccccccccccclllllllllllllsssssssssss
Also, being on a laptop, how do I display the virtual keyboard without having a joystick please? Since f10 means quit for example...
That's strange ! Looks like an interesting bug :-) There's no way to display the keyboard without a joystick for now, I made it with only joystick in mind. I could easily add a shortcut however.
That would be great as the keyboard is obviously a standard input device unlike the joystick :-)
Thanks for all your work. Awaiting updates to pull with git ;-)
Yeah but the virtual keyboard isn't supposed to provide more keys than the keyboard. Until I found a laptop without numpad emulation :-)
I thought the virtual keyboard somehow resembled the traditional amstrad cpc keyboard layout. Never knew there was this feature in caprice32 and am looking forward to see it in action :-)
I just added it. You can show it with Shift+F1. You may be a bit disappointed, it's not very beautiful :-) But I have plans to improve it
It is not working. I just recompiled caprice32. Emulator loads however when I press F1 or Shift+F1 the below happens:
I have sound however since pressing backspace at the beginning of the line produces the beep.
Kindly advise... thanks
The error message and the fact that it crashes are pretty bad, I need to improve this. The issue is probably that the font files are not found. They are in resources subdirectory. Where does /home/cpc/caprice32/cap32.cfg points to for resources_path ?
Typically from a fresh clone of github: $ grep resource cap32.cfg resources_path=./resources
which means that if you don't launch cap32 from the directory it's in, it will fail with this. I just improved the commit message and fixed the crash. So now in the same situation, the GUI isn't display and there's an error message in the console. It's not perfect because you can easily miss it if you don't look at the console but that's still better than crashing.
Recompiled caprice32 and now the keyboard shows. I like it in its simplicity :-) good job
However if I show the keyboard and close it without typing anything I get
Is that a bug please? Thanks
It looks like a bug. I don't observe it. You just press Shift+F1 to show the keyboard and then Escape to close it and it inputs "BASIC" ? With some changes in cap32.cfg ? "BASIC" is not a random string and yet it doesn't appear anywhere in the source code of caprice (except as comments).
Sorry I made a typo in my last comment.
Forgot to use the code tag and the text was hidden since it resembles a tag.
I wanted to write that it types <bitmap>
in BASIC when I click the close button at the top right of the virtual keyboard. Did not try with pressing ESC.
I suspect it is returning the object clicked.
Oh yeah, it types <bitmap>
right ?
That is a bug indeed ! :-)
Fixed !
Thanks a lot... Works like a charm now :-) I like it...
Significant progress on Plus support: colors, split screen and raster interrupt. This gives a nice improvement on Burnin' Rubber menu screen (only the sprite support is missing to have it fully working I think).
I just pulled the recent updates, compiled and ran it and it did not load.
Instead it exits with a Segmentation Fault. No more messages are written.
Before the recent updates, setting the model number to 3 results in the emulator not loading and quitting with the following message:
_ALSA lin pcm_dmix.c:996:(snd_pcm_dmix_open) unable to create IPC semaphore Using configuration file: /home/cpc/caprice32/cap32.cfg Could not open audio: No available audio device audioinit() failed. Disabling sound. Load of cartridge failed: Aborting
Do you have the file system.cpr in your rom directory ? The Plus do not have a ROM anymore, the cartridge replaces it. I therefore ship the default cartridge (with basic + burnin' rubber) as 'system.cpr' in rom directory.
I tracked and fixed the last bug that was preventing burnin' rubber to be playable, so if you manage to load it you can give it a try. There are still some features missing (DMA sound which is why some effects are missing in burnin' rubber and others that are not used in burnin' rubber but are used in other games: some interruptions, smooth scrolling ...). By the way, playing it with libcaca is fun ! The result is quite good :-)
You can give a try to other games, a few of them seems to be working but you may spot some issues: http://www.cpcmania.com/GX4000-Games/Games.htm
These ones seem to work (other may, I didn't test all of them, but some do not even start):
I completely removed the directory, cloned a fresh copy, compiled, changed model to 3 and still I get the Segmentation fault error.
With model=2 everything works perfectly now. It used to also fail with Segmentation fault since I had an old cap32.cfg.
However now, the fresh copy, with model=3 still fails with segmentation fault.
OK, I can reproduce it.
If you build in debug it works just fine but in release it crashes.
You can give it a try with make clean
and then make DEBUG=1
.
I'll check what's wrong.
Bug found and killed.
Cheers :-) I'll post more updates if I find more bugs while I am testing...
I just commited the support for soft scroll. I also did a few enhancement in the past weeks including a fix around the unlock sequence that fixed many games. The games that I found to NOT work are:
The other ones seem to work. A special case for Skeet Shot that requires the phazer. Thinking about it, this should be possible to emulate it with a mouse, not sure if this would be fun. I open a separate issue for this.
Remaining plus features to develop:
There's also another bug to track down. In some games (seems to happen systematically in Crazy Cars II, I observed it once in Dick Tracy), the emulator get partially stuck (image continue to be updated but keyboard is not active and sound is looping) and it seems that this isn't fixed by a reset or loading a new cartridge.
Apart from that this should work relatively well. Don't hesitate to provide feedback. Apart from DMA (which means some sound effects are missing) the missing features shouldn't be widely used.
Hi, I recompiled the latest copy.
Emulator seems to work fine. However the numbers on my laptop are being ignored and I can only type letters in BASIC.
I tried different combinations of CPC Language vs Keyboard with no luck. I even tried a different model.
If I am not mistaken, this issue was not present earlier. Or maybe I forgot to test for it after one of the updates... can you please check?
Hi... any updates on this please? thanks
On my side I don't have the issue you describe with the numbers not working. I tried on 3 different computers. I need to add some logging around keys handling and to ask you to reproduce then to have more info.
Hi ColinPitrat,
I tested a lot of game on the "CPC Plus" configuration of the emulator and it works well. However "RoboCop II" has a display bug (Sprites) on the loading screen between levels, but it works while "Fluff" and "Prehistoric II" crash after the introduction. Do you think a solution could be found?
Cartridges :
Floppy disks :
Burnin' Rubber, Mystical, Stryker in the Crypts of Trogan, Super Cauldron, Switch Blade and Tintin on the moon, work perfectly !
Best Regards,
FloLore
Had a look at Robocop. With verbose log, I get the following log around the time of the display issue: DEBUG src/asic.cpp:319 - [UNSUPPORTED] Received interrupt vector: 254
This is the part described here: http://www.cpcwiki.eu/index.php/Arnold_V_Specs_Revised#Interrupt_service_.28Vectored_interrupts.29
Is there a way to make the 6128 plus ROM to work in caprice32?
I gave a look at winape and there is a file called CPC_PLUS.CPR along with the ROM file.
The AMSTRAD computer I had way back was a 6128 Plus version and it started with a small menu choice:
f1 - Amstrad Basic f2 - Burnin' Rubber <--- this was a game
Kindly advise.