# Native 68K makePAD Point-argument ABI correction — 2026-10-16

## Owner runtime report

The owner reported that the prior native makePAD candidate launched and
accepted text, but clicking the File menu froze the application and the
window could not be moved. Earlier feedback also noted a glitched scrollbar.
Those behaviors are recorded as a failed functional test for that candidate.

## Development finding

The generated 68K caller passes classic Toolbox `Point` arguments as four-byte
values on the stack. Several macMAKE-owned native Toolbox veneers incorrectly
treated those arguments as pointers and dereferenced them. The affected calls
cover window hit testing, menu selection, window dragging, and TextEdit/control
mouse handling.

The development toolchain now passes `Point` values directly for `FindWindow`,
`MenuSelect`, `DragWindow`, `TrackGoAway`, `GrowWindow`, `TrackControl`,
`TEClick`, and `FindControl`. Focused regression tests verify this marshalling.

This ABI mismatch matches the reported symptoms, but only a guest retest can
establish whether the candidate behaves correctly.

## Corrected candidate

- Target: Mac OS 8.1, native 68K segmented application.
- Application: makePAD v0.1, same six C89 translation units as the PowerPC
  application; source revision `cd5cdf9572c6bcbec0d08723ed3af8ffb58c7877`.
- macMAKE: unreleased native 68K development revision `d263743`; not included
  in public macMAKE v0.1.0.
- Compiler/provider: GNU GCC 12.2.0 and GNU Binutils 2.46.1 for
  `m68k-unknown-elf`, with macMAKE-owned startup, Toolbox veneers, classic CODE
  resource generation, and MacBinary packaging. No Retro68 tools.
- Host build: all six C89 translation units compiled; native link completed
  without undefined symbols.
- Package inspection: CODE 0/CODE 1 structure, `APPL`/`MPAD` Finder metadata,
  SIZE resource, and absence of a CFM fragment all passed.

```text
File:   makePAD-v0.1-macos8.1-68k-point-abi-fix.bin
Size:   17,280 bytes
SHA-256: 8e921c870985aa172da708e78a77db8e768502c4bc600cb92217fadaf75879d5
Status:  host build and package verified; owner runtime retest pending
```

The build uses locally supplied Universal Interfaces headers through a
compatibility overlay. No MSL archive, InterfaceLib stub, Apple SDK file, or
private application source is included in this report or the transferred
MacBinary. Native 68K application generation remains outside public macMAKE
v0.1.0.
