002▲ 154 · 댓글 44닌텐도 Wii에서 클래식 Mac OS 부팅 성공한 개발자가 Nintendo GameCube와 Wii의 ArtX 칩셋(Flipper, Vegas 등)을 탑재한 PowerPC 시스템에서 클래식 Mac OS를 포팅하여 데스크톱에 부팅하는 데 성공했으며, CHRP 클론 시대 이후 Apple 외부에서 처음으로 이루어낸 성과다.
오픈소스 · 도구 · My favourite PowerMac is a Nintendo Wii
Nintendo 게임 콘솔의 PowerPC 칩셋에서 1990년대 클래식 Mac OS를 정상 부팅한 것은 역사적인 시스템 포팅 사례로, 레트로 컴퓨팅 개발자와 하드웨어 역학 연구자들에게 의미 있는 기술 성과다.
핵심 요약
한 개발자가 Nintendo GameCube와 Wii의 ArtX 칩셋(Flipper, Vegas 등)을 탑재한 PowerPC 시스템에서 클래식 Mac OS를 포팅하여 데스크톱에 부팅하는 데 성공했으며, CHRP 클론 시대 이후 Apple 외부에서 처음으로 이루어낸 성과다.
OpenBIOS를 포팅하고 Open Firmware 환경에서 부팅하는 'Trampoline' 부트로더를 구동하기 위해 SD Gecko와 EXI-IDE 디스크 드라이버를 개발했으며, 기존 Mac OS ROM 이미지를 FAT 파일시스템에 직접 배치하는 방식으로 초기 테스트를 수행했다.
Trampoline이 가정한 물리 주소 공간 레이아웃이 실제 하드웨어와 맞지 않아 버퍼 주소와 메모리 청크 리스트를 패치했으며, 0x8000_0000 이상의 주소가 메모리 매핑 입출력이라는 가정을 수정하고 RAM 영역의 구멍을 처리하기 위해 0x0100_0000 물리 주소를 0xE000_0000 가상 주소로 매핑했다.
003새 버전Rust 1.98.0 출시, 수명 단축 강제 해제와 안전성 검사 강화Rust 1.98.0이 출시되었다. 언어 기능 면에서는 불변 위치에서도 &mut의 수명 단축을 허용하게 되어 Cell<&'long mut i32>에서 Cell<&'short mut dyn Send>로 강제 변환할 수 있다.
Rust를 실무에서 쓰는 개발자라면 호환성 변화와 새로운 안전 검사 규칙, 플랫폼 지원 정책의 변화를 파악해야 기존 코드가 컴파일되지 않는 상황을 피할 수 있다.
핵심 요약
Rust 1.98.0이 출시되었다. 언어 기능 면에서는 불변 위치에서도 &mut의 수명 단축을 허용하게 되어 Cell<&'long mut i32>에서 Cell<&'short mut dyn Send>로 강제 변환할 수 있다.
memcmp, memset, strlen 같은 코어 런타임 심볼을 대상으로 invalid_runtime_symbol_definitions 린트(금지 기본값)와 suspicious_runtime_symbol_definitions 린트(경고 기본값)가 추가되었으며, 향후 확대될 예정이다.
c_void_returns 린트(경고 기본값)로 core::ffi::c_void를 반환 타입으로 사용하는 것을 검사한다.
007▲ 422 · 댓글 122BZip2를 잇는 고성능 압축 도구 BZip3 공개BZip3는 context mixing 엔트로피 코더, suffix array 기반 버로우스-휠러 변환, LZ77/PPM 스타일 문자열 매칭으로 더 높은 압축률을 제공하는 BZip2의 후속작이다.