Compare commits

...

4 Commits

Author SHA1 Message Date
Oliver Schmidt e8d4b836c5 Made variable written by interrupt handler 'volatile'. 2024-02-25 09:32:25 +01:00
Oliver Schmidt 75017f5011
Fixed typo. 2024-02-20 19:30:13 +01:00
Oliver Schmidt d360b46474
Added info on hardware setup. 2024-02-20 19:24:07 +01:00
Oliver Schmidt c029e1847a Adjusted to recent A2Pico lib update. 2024-02-09 22:31:34 +01:00
2 changed files with 16 additions and 8 deletions

View File

@ -6,11 +6,19 @@
## Installing
1. Flash [Apple-II-Pi.uf2](https://github.com/oliverschmidt/apple2pi/releases/latest/download/Apple-II-Pi.uf2) to the Raspberry Pi Pico.
1. Flash [Apple-II-Pi.uf2](https://github.com/oliverschmidt/apple2pi/releases/latest/download/Apple-II-Pi.uf2) to the A2Pico.
2. Install [Raspberry Pi OS](https://www.raspberrypi.org/software/).
2. Connect the [Raspberry Pi Zero 2 W](https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/) to the A2Pico via a USB OTG cable.
3. Execute
3. Activate the USB Power on the A2Pico.
4. Connect the HMDI monitor to the Raspberry Pi Zero 2 W:
![Setup](https://github.com/oliverschmidt/apple2pi/assets/2664009/ac5e954a-3c80-4ab0-974b-b3e2394cd747)
5. Install [Raspberry Pi OS](https://www.raspberrypi.org/software/).
6. Execute
```
sudo apt install git libfuse-dev -y
git clone https://github.com/oliverschmidt/apple2pi.git
@ -19,7 +27,7 @@
sudo make install
```
4. Execute `sudo systemctl start a2pi.service` to run the Apple II Pi Daemon right away.
7. Execute `sudo systemctl start a2pi.service` to run the Apple II Pi Daemon right away.
## Using

View File

@ -30,10 +30,10 @@ SOFTWARE.
extern const __attribute__((aligned(4))) uint8_t firmware[];
static bool active;
static volatile bool active;
static void __time_critical_func(callback)(uint gpio, uint32_t events) {
if (events & GPIO_IRQ_EDGE_FALL) {
static void __time_critical_func(reset)(bool asserted) {
if (asserted) {
active = false;
}
}
@ -45,7 +45,7 @@ void __time_critical_func(board)(void) {
a2pico_init(pio0);
a2pico_resetcallback(&callback);
a2pico_resethandler(&reset);
while (true) {
uint32_t pico = a2pico_getaddr(pio0);