From e77837ceed45d2b44df9a174150f7ba36028cf66 Mon Sep 17 00:00:00 2001 From: Peter Evans Date: Wed, 17 Jan 2018 16:07:42 -0600 Subject: [PATCH] Reformat; add a bit more info on running --- README.md | 70 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 54 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index e4fad47..dd2e506 100644 --- a/README.md +++ b/README.md @@ -3,21 +3,38 @@ --- -Erc is software that allows you to emulate computers from the days of yore. (The "days of yore" may be defined as the 1980s.) You may find it interesting if you feel nostalgia for those old machines, or if you want to see how those computers worked. +Erc is software that allows you to emulate computers from the days of +yore. (The "days of yore" may be defined as the 1980s.) You may find it +interesting if you feel nostalgia for those old machines, or if you want +to see how those computers worked. -Erc is also a sound you might make when feeling slightly frustrated, or if you were a small cat that happens to make funny sounds that aren't quite meows. +Erc is also a sound you might make when feeling slightly frustrated, or +if you were a small cat that happens to make funny sounds that aren't +quite meows. ## Goals -I've long had an interest in retro computing, collecting books on the 6502 processor in particular, and this program has been written and rewritten in fits and starts over several years (and in several languages!). Being able to emulate the Apple II, which was my childhood computer, has been a dream of mine for some time! +I've long had an interest in retro computing, collecting books on the +6502 processor in particular, and this program has been written and +rewritten in fits and starts over several years (and in several +languages!). Being able to emulate the Apple II, which was my childhood +computer, has been a dream of mine for some time! -Erc is written in C, largely because I have long loved that language, though I have not had much need to use it in my professional career. C is a somewhat cranky language, and not one that lends itself to modern engineering practices, so erc was partly written as a challenge to myself to try and elevate the language. +Erc is written in C, largely because I have long loved that language, +though I have not had much need to use it in my professional career. C +is a somewhat cranky language, and not one that lends itself to modern +engineering practices, so erc was partly written as a challenge to +myself to try and elevate the language. In particular, it's a goal of mine to ensure that erc: -* is written for other developers to read, especially as a reference for those who are interested in emulation in general and the platforms emulated here in particular; -* is modular, allowing as much code reuse within the application as is practical; -* is unit-testable, to the extent that C allows, and maintains a high level of code coverage. +* is written for other developers to read, especially as a reference for + those who are interested in emulation in general and the platforms + emulated here in particular; +* is modular, allowing as much code reuse within the application as is + practical; +* is unit-testable, to the extent that C allows, and maintains a high + level of code coverage. ## Updates (Jan 18, 2018) @@ -54,19 +71,37 @@ Some ideas for the future: ## Running -Right now, erc is mostly unusable; large components of it are still being built out. However, if you do run it, you will see a string that reads: +Running erc right now is a bit hazardous; not in the sense that it will +break anything, but more in the sense that you may not know what you +should be doing. Since it is still somewhat in flux, I won't go into too +much detail on how you can run it; I will point you to the help +printout, which you can see by doing this: -> Hello, world! +``` +./erc --help +``` -In and of itself, this is not so bad, as the software is at least cheerful. If you were having a bad day, seeing "Hello, world!" might make you feel a little bit better. +(The above assumes you have built the software in the `build` subdir, +and are actually in that subdir.) Generally speaking, you can indicate +what you have in one of two "disk drives", given a valid disk image for +an Apple II (e.g. something ending in .dsk, .do, etc., and having the +proper length for said image). ## Compiling and installing -This software uses CMake to build its makefiles, so if you're familiar with that, you should feel somewhat at home. +This software uses CMake to build its makefiles, so if you're familiar +with that, you should feel somewhat at home. -If you've never compiled any C code before, you will need to install a few things first. If you have not done so, you should install the excellent [Homebrew](https://brew.sh/) if using a Mac. If you are using Linux, you are probably already acquainted with your local package manager. You will also need to have XCode installed in a Mac environment. You can do so through the App Store. +If you've never compiled any C code before, you will need to install a +few things first. If you have not done so, you should install the +excellent [Homebrew](https://brew.sh/) if using a Mac. If you are using +Linux, you are probably already acquainted with your local package +manager. You will also need to have XCode installed in a Mac +environment. You can do so through the App Store. -The following other things you must install are given as Homebrew commands. If you are using Linux, I will leave the appropriate commands you must run as an exercise for the reader. +The following other things you must install are given as Homebrew +commands. If you are using Linux, I will leave the appropriate commands +you must run as an exercise for the reader. ``` brew install cmake @@ -81,7 +116,8 @@ cmake .. make ``` -This should produce an executable of the emulator, which you can install wherever you wish. +This should produce an executable of the emulator, which you can install +wherever you wish. ## Testing @@ -93,8 +129,10 @@ cmake .. make; ./erc-test ``` -This will execute the testing build of the software, which is handled through [Criterion](https://github.com/Snaipe/Criterion). +This will execute the testing build of the software, which is handled +through [Criterion](https://github.com/Snaipe/Criterion). ## Contributing -Right now, I am not accepting pull requests as so much of the design of erc is in flux. I am happy to receive any issues you may file. +Right now, I am not accepting pull requests as so much of the design of +erc is in flux. I am happy to receive any issues you may file.