ColinPitrat / caprice32

An emulator of the Amstrad CPC 8bit home computer range.
GNU General Public License v2.0
146 stars 32 forks source link

Instructions on how to use Caprice32 #39

Open Commander-Zal opened 7 years ago

Commander-Zal commented 7 years ago

Hello Mr. Colin,

Your fork of Caprice32 has recently been accepted and added to the repositories of Solus OS, due to being the only Linux Amstrad CPC emulator that is actively maintained.

I've been trying it out for the first time, and I must admit it's rather arcane to use from a novice's standpoint.

Would it be possible for a short guide to be written on how Caprice32 is used? For instance, I cannot for the life of me figure out how to type a " in it, which from what I gather is needed to run Disk games.

And if this guide is written, would it also be possible to add it as a menu entry in the menu dialog from pressing F1?

Thank you for your time, and for maintaining this emulator! ^_^

ColinPitrat commented 7 years ago

Hi,

sorry for the late answer, I don't know why I missed your issue. I'll double check my settings in github :-) Easing packaging is important so do not hesitate to open issues for blocking problems. For the directories for disk/cartridges/tapes... it is indeed not very intuitive and, as far as I remember, cannot yet be configured from the GUI. In the package I did for archlinux, I modify the cfg file to point to directories that are created by the package: https://aur.archlinux.org/packages/caprice32-git/

Writing documentation takes time and is less fun than writing features but is definitely necessary for users ! There are tons of nice features that are hidden in Caprice32. A few of them are visible in the "About" menu in the menu, but you already have to know to press F1 to display the menu ! :-)

Moreover some are not documented, like the virtual keyboard that appear when pressing Shift+F1. This can be a solution if you have trouble typing some keys, like " or F1 (the one from the CPC).

ColinPitrat commented 7 years ago

We should provide:

ColinPitrat commented 7 years ago

I forgot something I wanted to comment on the message from the forum of SolusOS: it's possible to load a .dsk/.crt/.tap ... from the command line with: ./cap32

For example: ./cap32 fruity.dsk

This should typically allow a drag & drop of a "rom" file to the emulator shortcut on a desktop (although I didn't test that).

ColinPitrat commented 7 years ago

Points to document:

ColinPitrat commented 7 years ago

I added a "Basic usage" section in the README, this is a start :-) Note that issue #36 also mention the issue about load/save dialog being broken when directories doesn't exist. It was easy to make it default to running directory instead so I opted for it (despite not being the best option, at least it's possible to move from there).

sebhz commented 7 years ago

Hi, I just came across this repo after nuking my own fork of Caprice32. I have some limited free time these days and can use it to create a man page for caprice32, detail the cap32.cfg file sections and/or add a proper --help/-h command line option to the code. If you are OK with this, I'll fork your fork and submit pull requests once I am done. Do you have anything against GNU getopt_long()? This seems the simplest and fastest path for args parsing to me - but I know some people do prefer to stick to getopt().

ColinPitrat commented 7 years ago

I'm fine with getopt_long. Concerning options, a -h/--help is of course welcome. I'd really like to find a way to avoid duplication of documentation between help, README, wiki ... and to handle it as code. This is not yet an issue as there's nearly no doc for now but if you have ideas on the topic, please share :-)

sebhz commented 7 years ago

I am sort of old-school, so I'd go for a plain man page stored in the repo of course. To me, the "How to use Caprice32" part does not really belong to the project README. My experience with Wiki is not very positive (mostly outdated/unmaintained after some time). A nice HTML page can be generated from the man page - I have no clear idea how to sync the help with the man page cleanly though.

EgoBizarro commented 7 years ago

Hello! First of all thanks a lot for this fine emulator! The CPC Schneider was the very first computer (& gaming device) I had as a kid and seeing that green screen and hearing the Nemesis soundtrack today brings back warm memories ^_^

I'm very sorry I'm writing this here because it doesn't really belong here... though maybe it kinda does because I could really not find any place on the net where there was discussion about this emulator (apart from very outdated ones); there doesn't seem to any forum or discord or any other place to ask questions.

What I wanted to ask is if it's normal that I'm only getting around 17 FPS (34%), even when not running a game. Disabling sound seems to double that but nothing else brings emulation to 100%. Maybe there's some kind of setting I missed or something? (My PC is quite strong). I actually used Caprice32 one or two years ago and I think I remember that I didn't have any speed issues back then. Now that I found more of my old games I'd love to play them but yeah, the speed kinda kills the fun. Sorry again for posting this here, thanks a lot and it would be great if you could help me a little here :)

ColinPitrat commented 7 years ago

Hi,

you're indeed not far from the right place to discuss it but it's better to create a separate issue for it. I opened issue 54 for it, let's continue there (I'll ask a few question): https://github.com/ColinPitrat/caprice32/issues/54

ColinPitrat commented 7 years ago

@sebhz I tried the make doc and it doesn't work for me. With my version of man2html I had to change the command line from: man2html doc/man6/cap32.6 > doc/man.html to man2html < doc/man6/cap32.6 > doc/man.html

But worse, man2html doesn't seem to understand the format of the manpage. It adds a header and a footer but keeps the rest as in the manpage.

What man2html utility are you using ? Mine is man2html 3.0.1 from http://www.nongnu.org/man2html/: Version: 3.0.1 Copyright (C) 1995-1997 Earl Hood, ehood@medusa.acs.uci.ed

This is the only version I found looking for man2html in ArchLinux packages.

sebhz commented 7 years ago

I am using the man2html coming from my distro (Ubuntu xenial): http://packages.ubuntu.com/xenial/man2html This is definitely not Earl Hood's version. Looks like there are several man2html utilities floating around. I'll check if I can sort this out.

sebhz commented 7 years ago

Hum, the command 'cat doc/man6/cap32.6 | groff -mandoc -Thtml > doc/man.html' should yield better results and be more portable. My version of groff is GNU groff version 1.22.3. The manpage generated is actually nicer than with man2html. According to https://www.archlinux.org/packages/?q=groff, Archlinux should be aligned with this version.