Commit Graph
144 Commits
Author SHA1 Message Date
Stefan ArentzandClaude Fable 5 751d94cef5 CI: point clang at the Homebrew prefix via CPATH/LIBRARY_PATH
The committed Makefile does not search /opt/homebrew, so SDL2
headers are not found on the arm64 macOS runner. src/ is frozen,
so pass the paths through the environment instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 08:40:29 -04:00
Stefan ArentzandClaude Fable 5 2c7cffb8ad CI: build the C tree on macOS
gcc on ubuntu fails -Werror with -Wimplicit-fallthrough in two.c;
src/ is frozen until Phase 9, so build C where it has always built
(macOS, as Travis did).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 08:38:34 -04:00
Stefan ArentzandClaude Fable 5 4b0b44a439 Phase 0: Rust workspace scaffolding + CI
Adds the parallel Rust workspace under rust/ per REWRITE.md:
- ewm-core (headless lib, zero dependencies) and ewm (binary,
  declares sdl2 now so CI installs SDL2 headers from day one;
  prints the same usage line as the C binary)
- rust-toolchain.toml pinning 1.91.1 with rustfmt + clippy
- GitHub Actions CI: C build job (ubuntu + libsdl2-dev) and Rust
  job (fmt --check, clippy -D warnings, test)
- Anchor the 'ewm' gitignore pattern to src/ so rust/ewm is tracked;
  ignore rust/target/
- README note pointing at REWRITE.md

The C tree in src/ is untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 08:36:36 -04:00
Stefan Arentz 7befac8e6d Add phased plan for rewriting EWM in Rust (#189) 2026-07-05 00:51:33 -04:00
Stefan ArentzandClaude Opus 4.5 1c00e6f271 Implement speaker sound support (#188)
Add sound subsystem that emulates the Apple II speaker by:
- Tracking speaker state toggles when $C030 is accessed
- Generating audio samples based on CPU cycle timing
- Outputting 44.1 kHz audio via SDL

New files: snd.h, snd.c

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 13:07:28 -05:00
Stefan ArentzandClaude Opus 4.5 4ad5d458f9 Fix HGR color fringing artifacts (#187)
Replace the 2-bit pairing approach with per-pixel rendering to eliminate
color artifacts at edges. The new implementation processes each pixel
individually, uses each byte's own high bit for palette selection, and
properly detects adjacent pixels for white rendering.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:56:34 -05:00
Joe Hildebrand f797e02836 Add small doc improvements for first time users (#182) 2018-01-25 16:38:53 -05:00
Stefan Arentz 71bbe91ac3 Fixes #84 - Unexpected write at $C000 2017-10-15 22:21:56 -04:00
Stefan Arentz ccfa250823 Fixes #154 - Unexpected read at $C020 2017-10-15 22:18:20 -04:00
Stefan Arentz 3168e11814 Fixes #181 - In color mode, text should be white 2017-10-15 21:30:15 -04:00
Stefan Arentz 31ecfb98f5 Fixes #180 - Implement flashing text 2017-10-15 20:01:08 -04:00
Stefan Arentz 6e32724ffa Fixes #179 - Blinking in tty is irregular 2017-10-15 17:02:22 -04:00
Stefan Arentz d2a8386f72 Fixes #178 - Allow the emulator to be paused 2017-10-15 16:40:30 -04:00
Stefan Arentz 7a68e0909b Fixes #175 - Support software rendering in scr (#176) 2017-10-15 15:45:53 -04:00
Stefan Arentz 8a8438d0c2 Fix for link issue 2017-10-03 20:39:37 -04:00
Stefan Arentz cb783a3957 Fixes #174 - Support CMake (Debug vs Release) 2017-10-03 01:28:22 +00:00
Stefan Arentz 95dcce4bba Fixes #174 - Support CMake (Lower CMake version) 2017-10-03 01:19:28 +00:00
Stefan Arentz 3f1d258646 Fixes #174 - Support CMake 2017-10-02 21:12:21 -04:00
Stefan Arentz a28b9180ff Fixes #173 - Crash in scr_test 2017-10-02 20:36:15 -04:00
Stefan Arentz 839ce07e9c Fixes #164 - Make Lua Optional (#165) 2017-10-02 20:32:43 -04:00
Stefan Arentz 9a517223e2 Fixes #171 - Support software rendering in tty (#172) 2017-10-02 20:20:53 -04:00
Stefan Arentz 699072aa86 Fixes #170 - Create a benchmark for tty.c 2017-10-01 11:08:23 -04:00
Stefan Arentz a38375554d Fixes #162 - Introduce a DEBUG compilation mode 2017-09-23 11:57:40 +00:00
Stefan Arentz fd6818e2ab Performance Improvements Part II (#161) 2017-09-23 07:45:36 -04:00
Stefan Arentz ab4c8e025e Update cpu_test.lua 2017-09-22 11:41:51 +00:00
Stefan Arentz a4324737d5 Performance improvements (#160) 2017-09-21 22:18:53 -04:00
Stefan Arentz 58bb3d7739 Fixes #158 - Make the project compile on Raspbian 9.1 (Stretch) (#159) 2017-09-21 21:39:31 -04:00
Stefan Arentz de9212a47f Script for Burger Time cheat 2017-09-20 18:06:30 -04:00
Stefan Arentz 1cd98d8e71 Fixes #157 - Add Lua API for Keyboard Events 2017-09-20 18:06:09 -04:00
Stefan Arentz 97d415a501 Fixes #155 - Add a Lua API to access memory 2017-09-20 17:44:57 -04:00
Stefan Arentz a88c4a7562 Introduce Lua 5.2 support (#148) 2017-09-18 21:21:57 -04:00
Stefan Arentz c68fc356c6 Adding cpu_bench to gitignore 2017-03-14 09:49:12 -04:00
Stefan Arentz da40ac82bb Fixes #145 - Print Usage and Command Line Options (#146) 2017-03-14 09:46:57 -04:00
Stefan Arentz 47ca22fb42 Update .travis.yml 2017-03-14 09:46:33 -04:00
Stefan Arentz 05bef561ad Update .travis.yml 2017-03-13 22:47:05 -04:00
Stefan Arentz be01db6393 Fixes #143 Implement a clock_gettime replacement (#144) 2017-03-13 15:01:06 -04:00
Stefan Arentz e0943d051a Fixes #86 Create a Boot Loader (#134) 2017-01-22 20:02:26 -05:00
Stefan Arentz 9a94156a5b Fix for GCC compilation issue 2017-01-17 03:18:32 +00:00
Stefan Arentz 8800bf2b9f Fixes #139 Optimize zero page and stack access (#140) 2017-01-15 20:48:16 -05:00
Stefan Arentz f3781e2d69 Fixes #135 Benchmark Memory Routines (#136) 2017-01-15 16:49:06 -05:00
Stefan Arentz 349ebc0bad Fixes #137 Benchmark CPU Module (#138) 2017-01-15 16:28:32 -05:00
Stefan Arentz 83157ffe2a Removed the Apple IIe from the README 2017-01-14 20:33:45 -05:00
Stefan Arentz af139f2e2c Fixes #129 Find Volume from disk image (#132) 2017-01-13 21:41:44 -05:00
Stefan Arentz 7acae93861 Fixes #104 Control keys don't work correctly (#130) 2017-01-13 21:29:25 -05:00
Stefan Arentz a1536aa351 Add chr_test to .gitignore 2017-01-13 21:12:31 -05:00
Stefan Arentz 9df5355e31 Fixes #82 Support nib files 2017-01-09 21:39:55 -05:00
Stefan Arentz 70aef81778 Fixes #125 Remove all public _init() functions 2017-01-09 21:09:20 -05:00
Stefan Arentz 37d508c367 Fixes #126 Implement the same cpu throttling/screen update loop as we have on the two 2017-01-08 22:18:38 -05:00
Stefan Arentz f6beef7e34 Fixes #119 Print renderer debug info 2017-01-05 23:19:19 -05:00
Stefan Arentz 51293dc9de Fixes #118 Introduce a --debug option 2017-01-05 23:06:39 -05:00