Skip to content

MARCHintosh 2025 #357

Open
Open
@mihaip

Description

  • PearPC Emscripten bringup
    • Add submodule
    • Get native build working
    • Compiles
    • Replace threading
      • CPU loop
      • Cuda event loop
    • Basic boot
    • Video out
    • Hard disk images
    • CD-ROM disk images
    • Dynamically insertable CD-ROMs (implement CDROMDevice)
    • Option for more than two disks (see if "2nd IDE Controller" patch still works)
    • Keyboard input
    • Mouse input
    • Disable VT-100 output if there is a boot device and we're not in debug mode
    • Add support for more than 256 MB of RAM (via ALLOW_MEMORY_GROWTH)
    • Stubbed out functionality
      • High resolution timer in sys_get_hiresclk_ticks
      • idlewait/sleep in sys_suspend
      • Reduce semaphone log spam from input events
    • Performance
      • Apply current op as function parameter optimization from DingusPPC
      • Port DingusPPC benchmark
      • Compare performance of benchmark between native and Emscripten builds and see if any pathological codegen cases are hit
      • Add template specialization for ppc_effective_to_physical to avoid branching overhead
      • Load gCPU flags into local variables in ppc_effective_to_physical to ensure they remain in registers
      • Apply single opcode dispatch table optimization from DingusPPC
      • Apply templated instruction optimization from DingusPPC (to avoid runtime checks for flags)
      • Make blitting/input checking dynamic (aim for 16ms/8ms) instead of being hardcoded to fixed cycle counts
      • Add [[likely]]/[[unlikely]] branch annotations
      • See if the TLB code path can be enabled
      • Enable G4 mode and see if AltiVec instructions used in memcpy help with window dragging
      • Profiling for other low-hanging fruit in the generic interpreter
    • Correctness
      • a key doesn't work (but shift-a does)
      • Experiment with G4 CPU option
      • Real-time clock is never set (thread)
      • Real-time clock advances at a much slower rate (may result in overly slow animations)
      • Run DingusPPC PowerPC test suite and compare results
      • Occasionally gets stuck at "Starting timed execution services…"
    • Simulate a CD-R drive so that iTunes shows the Burn button
    • Update README
  • Library (size expectations - guide)
    • 10.0 image (does not work per this thread)
    • 10.1 image
    • 10.2 image (add developer tools)
    • 10.3 image
    • 10.4 image (avoid point updates per this thread)
  • Site
    • Add some Mac OS X software to Infinite HD
      • OmniWeb, OmniGraffle, OmniOutliner and other Omni Group software
      • NetNewsWire and MarsEdit
      • Iconographer X
      • Watson
      • Transmit 2, Candy Bar, Pixadex, and other Panic software
      • Acorn
      • Delicious Library
      • TextMate
      • Quicksilver
      • Audio Hijack and other Rogue Amoeba software
      • VoodooPad
      • BBEdit
      • SubEthaEdit
      • GraphicConverter
      • iCab
      • Camino
      • Fetch
      • Cyberduck
      • Default Folder X
      • MenuMeters
      • Bugdom
      • Nanosaur
      • DEVONthink
      • Things
      • CodeWarrior
      • FruitMenu
      • WindowShadeX and other Unsanity haxies
      • LiteSwitch X
      • DragThing and PCalc
      • TinkerTool
      • LaunchBar
      • Path Finder
      • Konfabulator
      • iPulse
      • Resorcerer
      • Adium
      • CSSEdit
      • DeskShade
      • Salling Clicker
      • Drop Drawers
      • Growl
      • Acquisition
      • SpamSieve
      • Colloquy
      • NewsFire
      • xPad
      • Disco
      • iConquer
      • Snood
      • Snapz Pro X
      • Transmission
      • Aperture
      • iPhoto, iMovie, iDVD, and rest of iLife
      • Now Up-to-Date & Contact
      • Notational Velocity
      • Interarchy
      • KeyCodes
    • Mac OS X filter in browser
    • Mark 9.1 and 9.2.2 as not notable
    • Add option for debug/verbose boot in the custom instance dialog
    • Show warning about slow boot times when starting in non-verbose mode
    • Aqua appearance (example)
    • Pinstripes bezel looks off at phone screen sizes
    • Dynamic Stickies content (format, more discussion, python-typedstream)
    • Mount Infinite HD
    • Mount 9.1.x/9.2 partition for Classic

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions