피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
깨어나는 16b
16B x86 어셈블리로 구현한 Sierpinski 프랙털 및 Bytebeat 사운드 엔진
AI 요약
Context
극단적인 Sizecoding 제약 하에서 시각적 패턴과 오디오를 동시에 생성하는 초소형 인트로 구현 시도. 기존의 단순 텍스트 출력 한계를 넘어 비디오 메모리를 계산 공간으로 활용하는 구조적 접근 필요.
Technical Solution
- VGA/CGA 텍스트 버퍼(0xB800)를 Data Segment로 설정하여 메모리 자체를 연산 공간 및 출력 매체로 활용하는 설계
- XOR 연산을 통한 Carry-less Addition 구현으로 Sierpinski 삼각형의 수학적 구조를 생성하는 로직 적용
- 계산된 비디오 메모리 바이트를 PC 스피커 포트(0x61)로 즉시 전송하여 시각 데이터와 동기화된 Square Wave 사운드 생성
lodsb와sub si, 57조합으로 -56바이트 오프셋 이동을 구현하여 8,192스텝의 사이클 및 대각선 전단 시각 효과 제어- BIOS 초기화 상태의 메모리 아티팩트를 제거하지 않고 XOR 연산의 초기값으로 수용하여 코드 크기를 최소화한 설계
실천 포인트
1. 하드웨어/OS의 기본 초기화 상태(Default state)를 분석하여 불필요한 초기화 코드 제거 가능성 검토
2. 동일한 데이터 스트림을 서로 다른 출력 포트(Video, Audio)에 매핑하여 리소스 활용도 극대화
3. 메모리 래핑(Wrapping)과 오프셋 계산을 통한 암묵적 루프 및 패턴 생성 기법 검토