EmuCR Feeds
Email Us

Pom2 v0.8.5 is released. Pom2 is an Apple ][ , ][+ , //e , //c , //c+ emulator.

🌟 Why POM2?:
🎞️ Beam-raced to the scanline. Soft-switch flips mid-frame land on the exact scanline the CPU touched them — split-screen demos, hi-res/text mode swaps and AN3 DHGR toggles render correctly. The composite NTSC path beam-races too, so artifact colour follows the same event log the RGBA path does.
🧊 Tilt the screen into 3D. A MicroM8-style voxel view lifts the Apple II framebuffer off the glass into an orbiting 3D scene — pixels become extruded voxels you can fly around with a real camera.
⏪ Rewind time. A snapshot ring buffer records the machine as it runs; scrub backwards through your last seconds of execution and resume from any point. Same serializer feeds the AI-control HTTP /snapshot endpoints, so they can never drift.
📺 CRT you can dial in. OpenEmulator-style composite NTSC shader and AppleWin's CPU IIR-LUT NTSC, plus mono phosphor with an adjustable phosphor curve (luminance γ) and persistence (temporal glow), barrel distortion, hue/BCS — the full Display → CRT Settings panel.
💾 Disks that sound right. Cycle-stamped mechanical floppy samples: the Disk II head step and the Sony 3.5" drive whir, timed off the CPU clock — disk-turbo collapses wall-clock gaps but the nibble stream stays cycle-correct via an event-driven LSS.
🌐 Online, from 1984. The Uthernet II's W5100 is a hardware TCP/IP stack, so POM2 runs it straight on host sockets — point a period IRC, telnet or FTP client at the real internet with no extra dependency and no privileges, on Linux, macOS and Windows. The Uthernet I (CS8900A) is there too for IP65 / Contiki, bridged by optional libslirp (Linux/macOS).
🎵 A whole sound-card era. Speaker, cassette, Mockingboard A/C, Mockingboard C Sound II with SSI263 speech, the Applied Engineering Phasor (2×VIA / 4×AY), and the Cricket / Echo SSI263 line.
🔬 MAME is the source of truth. Every hardware port cites the MAME file + line range in a comment and is pinned with a smoke test under tests/. CPU → audio/UI events carry a CPU-cycle stamp, never wall-clock.
🌐 Runs in your browser. The full emulator builds to WebAssembly — play it now, no install.

Pom2 Changelog:
An architecture pass: two god-objects broken up, a real macOS crash fixed,
and the browser demo now deploys itself.
A maintenance release with no new user-facing features — the work is under the
hood, and every item is pinned by a test.
Highlights
macOS crash fixed. The Disk II insert path stacked three ~242 KB
DiskImage temporaries, overflowing a macOS thread's 512 KB stack — a real
crash on any /disk insert through the AI control server, not just a test
failure. Temporaries are heap-allocated now; pinned on a 512 KB stack so it
can't come back on any platform. The macOS CI job runs the full test suite
again.
Read watchpoints in the debugger. The write half shipped free; the read
half now works too, through one flag folded into tests memRead's fast path
already made — measured at no cost when unarmed.
Two god-objects decomposed. Keyboard and PaddleInputs split out of
Memory (behind a new I/O test net, hot path unchanged); MainWindow.cpp
shed its audio, device, settings and misc panel bodies into their own files,
from 11 154 to 8 913 lines.
The browser demo deploys from CI. GitHub Pages is built and published by
the CI run on every push to main, so the online demo always matches the
code — no more committing the 38 MB WASM bundle by hand.
A concurrency test for the GUI. A new pass drives the CPU worker while a
second thread hammers it with the UI's exact input disciplines, under
ThreadSanitizer, and is now part of the nightly matrix.
Also in this release
A rewind that resumed from an odd point could desync the ring; fixed.
The Uthernet II "lost datagram" test flake was a torn 16-bit register read
in the test, not a lost datagram; fixed.
Three scaffolds officialised (IWM data path, Echo+ TMS5220 label, Phasor
parity grade) so the dashboard no longer overstates them.
Notes
No package is signed: macOS is ad-hoc signed (right-click → Open on first
launch), Windows is unsigned (SmartScreen → More info → Run anyway).
Packages carry the ROM set and the UI assets, never a disk library. Bring
your own images.
The Pi packages are verified structurally and smoke-launched in CI on an
ARM64 runner; CI cannot prove they render correctly on real Pi hardware.

Download: Pom2 v0.8.5
Source: Here



Random Related Topic Refresh Related Topic

Random Related Topic Loading...

0 Comments

Post a Comment

Can't post a comment? Try This!