diff --git a/README.md b/README.md new file mode 100644 index 0000000..426a409 --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# Wonky French Flag + +This is an example ZX Spectrum program which produces a wonky French flag. + +## Usage + +- Clone this git repository +- Change into the directory +- Run `code .` to bring up VSCode +- Agree to "Reopen in container" +- Wait for the devcontainer to download and initialise +- Build the project with `make` +- Open the `myprog.sna` file in your favourite Spectrum emulator +- Recoil at flag wonkiness +- Open `main.asm` in the VSCode editor and have a quick read +- Select "Run and Debug" from the bar on the far left +- In the drop down bar at the top, select "Simulator - ZX48K Spectrum" +- Press the "Start Debugging" green arrow to the left of the dropdown list +- Select the "Continue" arrow from the wee icon menu which has appeared at the top of the screen +- Recoil again at the wonky flag +- Stop debugging by pressing the square at the far right of the wee icon menu +- Go back to the `main.asm` file +- Left click on the space to the left of the line number at line 25 +- A little red breakpoint blob should have appeared. You can toggle this by clicking on it +- Start debugging again +- Press "Continue" arrow as before +- The debugger will stop the program running at the breakpoint +- Keep pressing the "Step into" downwards arrow on the wee icon bar +- Note what is happening to the registers on the left and the screen on the right +- Watch the red stripe getting painted +- Have a moment of revelation about how you're going to fix this +- Stop the debugger +- Edit `main.asm` to fix the bug +- Remember to save the file and run `make` again to rebuild the program +- Remove the breakpoint on line 25 +- Run in the debugger again +- Marvel at the lovely flag \ No newline at end of file