📌 프로젝트 개요

본 프로젝트는 Apple II 환경에서 사용되는
DOS 3.3 파일시스템을 다루기 위한 유틸리티 및 개발 도구 모음이다.
디스크 이미지 생성, 파일 추출/삽입, 그래픽 변환, 어셈블리 코드 실행 등
레트로 컴퓨팅 개발에 필요한 다양한 기능을 제공한다.
단일 목적의 예제 코드가 아니라,
Apple II 개발을 위한 종합 툴킷 형태의 코드베이스이다.
⚙️ 시스템 구성
Platform: Apple II (6502 기반)
File System: DOS 3.3 / ProDOS
Development Tools:
- 디스크 이미지 처리 도구
- 어셈블리 코드
- 그래픽 변환 유틸리티
- 실행 파일 생성 도구
Host Environment: Linux / macOS
🖥️ 전체 구조

본 프로젝트는 크게 두 가지 영역으로 구성된다:
- 호스트 툴 영역
- 디스크 이미지(.dsk) 생성 및 수정
- 파일 시스템 구조 분석 및 편집
- Apple II 실행 파일 빌드 지원
- 타겟 코드 영역
- 6502 어셈블리 코드
- Apple II에서 실행되는 프로그램
- 그래픽 및 데모 코드
즉,
👉 “PC에서 개발 → Apple II에서 실행” 구조를 지원하는 개발 환경이다.
🔧 주요 기능
- DOS 3.3 디스크 이미지 생성 및 수정
- 파일 추출 및 삽입
- Apple II 실행 바이너리 생성
- 그래픽 데이터 변환 및 출력
- 6502 어셈블리 기반 프로그램 개발
- 다양한 데모 및 게임 코드 포함
🌐 WIZnet 칩 활용
✔️ Apple II에서 WIZnet 칩은 어떻게 사용되는가?
본 저장소의 ethernet 디렉터리에는
Apple II용 Ethernet 확장 카드인 Uthernet II 기반 코드가 포함되어 있다.
이 카드에는 WIZnet W5100 칩이 탑재되어 있으며,
하드웨어 수준에서 TCP/IP 통신을 처리한다.
👉 즉,
Apple II (네트워크 없음)
→ Uthernet II 확장 카드 추가
→ W5100을 통해 Ethernet 통신 구현
💡 설계 특징
1. 파일 시스템 직접 제어 구조
DOS 3.3 파일시스템 구조를 직접 다루며,
디스크 레벨에서 데이터 조작이 가능하다.
→ 저수준 이해 및 커스터마이징에 강점
2. 툴 + 코드 통합 구조
단순 라이브러리가 아니라
가 하나의 저장소에 통합되어 있다.
→ 실제 개발 워크플로우 중심 설계
3. 장기 축적형 코드베이스

수천 개 커밋을 통해 지속적으로 확장된 프로젝트로,
가 혼재되어 있다.
→ “완성된 제품”이 아니라 “진화 중인 작업 공간”
🚀 활용 가능성
- Apple II 레트로 개발 환경 구축
- 디스크 이미지 분석 및 복원
- 고전 게임/그래픽 연구
- 6502 아키텍처 학습
- 데모씬(Demoscene) 제작
📈 활용 가치 (Practical Value)
1. 레트로 컴퓨팅 연구
Apple II 및 초기 파일시스템 구조를 이해하는 데 매우 유용하다.
2. 저수준 시스템 학습
파일시스템, 디스크 구조, 메모리 제어 등을
직접 다루는 경험을 제공한다.
3. 실제 사용 기반 코드
단순 예제가 아니라,
실제 개발자가 지속적으로 사용하며 확장해온 코드이다.
→ 현실적인 문제 해결 방식이 반영됨
4. 아카이브적 가치
다양한 실험과 결과물이 포함되어 있어
레트로 개발 자료로서 가치가 높다.
🧠 결론
본 프로젝트는 단순한 예제나 라이브러리가 아니라,
👉 Apple II 개발을 위한 실사용 툴킷 + 코드 아카이브에 가깝다.
STM32 + W500 예제처럼 “학습용 구조”라기보다,
👉 오랜 기간 실제로 사용되며 축적된 개발 환경이라는 점에서
성격이 완전히 다르다.
따라서 이 프로젝트의 가치는
“깔끔한 구조”가 아니라
👉 깊이 있는 실전 경험과 축적된 기술 자산에 있다.