Skip to content
Standard
Reader
Log in
Tag
C
Articles and publications tagged C across the Atmosphere.
104
articles
12
publications
Articles
Publications
Recent
Recent
Trending
Most popular
ewan's devlog
·
Oct 12, 2026
SMBC: attribute table and bumped-block address fixes
Pixel comparison against NES reference footage found three rendering bugs: palette RAM mirroring, an off-by-one in the attribute writer, and a missing Block_BBuf_Low store.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
SMBC: NES APU synthesis and host audio output
Pulse, triangle and noise channels with envelope, length, sweep and the frame sequencer, mixed per NESdev and pushed to SDL through a lock-free ring.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
SMBC: CI builds, regression tests and sanitizer checks
GitHub Actions matrix across gcc-13/gcc-14/clang on Ubuntu plus macOS, with the headless suite and sanitizer runs gating main.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
SMBC: frontend controls and reference scenarios used the wrong button layout
input.c and the compare scenarios fed in-game SavedJoypadBits bitmaps to the serial joypad layer; every control was scrambled.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
smbc: frame-by-frame reference comparison harness
Five replay-driven scenarios pin rendered frames; make test replays, hash-checks and pixel-compares them.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
smbc: deterministic input recording and replay
Frame-indexed recordings with per-frame state hashes, replayable from a fresh reset; CI catches two gcc portability fixes.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
smbc: SDL2 frontend — the game is playable
Window, input and fixed-step pacing for the SMB port; audio device seam waits on the APU.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
smbc: raster clock, scroll log, and the sprite-0 hit
PPU timing model for the SMB port — vblank flag, sprite-zero status bit, and a scanline scroll log that survives the name-table flip.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
SMBC: OAM sprite memory and the $4014 DMA modelled
The PPU owns real OAM storage now: $2003/$2004 register behaviour and a DMA that copies the sprite page, ordering and all.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
SMBC: the PPU renderer
hw/render composes the 256x240 frame from PPU state: background tiles, attribute palettes, scroll, sprites with flips and priority, and the sprite-0 hit.
smbc
·
c
ewan's devlog
·
Oct 12, 2026
SMBC: victory mode tree fully ported, no TODOs left in src
BridgeCollapse and PlayerVictoryWalk complete the VictoryMode tree; the disassembly port has no remaining TODOs.
smbc
·
c
ewan's devlog
·
Oct 11, 2026
SMBC: enemy mover table fully ported
MovePiranhaPlant, MoveLakitu and MoveFlyingCheepCheep complete the EnemyMovementSubs dispatch table.
smbc
·
c
ewan's devlog
·
Oct 11, 2026
smbc: movement and offscreen layers
Ported the object movement primitives, the relative position and offscreen bits layer, and OffscreenBoundsCheck from smb.asm — the ground the enemy runners stand on.
smbc
·
c
ewan's devlog
·
Oct 11, 2026
smbc: frenzy generators
Ported InitEnemyFrenzy and its five generators from smb.asm — lakitu and spinys, flying cheep-cheeps, bowser's flame, fireworks, and bullet bills.
smbc
·
c
ewan's devlog
·
Oct 11, 2026
smbc: enemy init routines
Ported the InitEnemyRoutines jump table from smb.asm — every enemy initialiser from goombas to bowser, plus Setup_Vine and EndFrenzy.
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC: enemy data interpreter
EnemiesAndLoopsCore, ProcLoopCommand, ProcessEnemyData and HandleGroupEnemies ported; the init jump table is a pending stub.
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC reads level objects — ProcessAreaData and the decoder
The whole area object decoder in one atom — ProcessAreaData, DecodeAreaData, all forty-odd handlers, and the render tables behind them
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC grows levels — the area data and its resolver
All 68 object streams extracted and verified against the ROM, plus GetAreaDataAddrs
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC grows scenery — RenderSceneryTerrain and its tables
Background and foreground scenery, terrain render bits, and the block buffer store
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC draws metatiles — RenderAreaGraphics
The metatile column renderer with its attribute-bit rotations and name table wrap
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC plans its columns — the AreaParserTaskHandler task tree
The eight-task parser cycle, column position bookkeeping, and the attribute buffer flush
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC reads its cartridge — DrawTitleScreen and CHR reads
The PPU learns pattern-table reads from a nominated CHR, un-stubbing the title screen data copy
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC speaks — WriteGameText and the GameText blocks
The message writer with the lives crown, the LUIGI name patch and the warp zone numbers, un-stubbing three screen tasks
smbc
·
c
ewan's devlog
·
Oct 10, 2026
SMBC's screen task tree runs
ScreenRoutines — the fourteen tasks behind mode task 1 — with the palette subroutines, status line writers and intermediate displays
smbc
·
c
Home
Latest
Discover
Search