티스토리 뷰
개요
한 번쯤 들어보았던 황당한 버그들 모음이 있어 시간 날 때마다 하나씩 정리해본다
- 전체 링크: https://beza1e1.tuxen.de/lore/
- 원문 링크: Crash Bandicoot: https://beza1e1.tuxen.de/lore/crash_bandicoot.html
내용
Crash Bandicoot 이라는 비디오 게임을 만들면서 생겼던 버그 이야기
게임 진행을 메모리 카드에 저장하는데 어쩌다 한번씩 저장을 실패하고, 심지어는 메모리 카드를 날려버렸다.
디버깅
- 관련이 있어보이는 코드를 하나씩, 하나씩 제거하고, 가짜(stub) 코드로 대체해 나감
- 최후의 최후까지 하다보니 프로그래밍이 가능한 타이머의 클락을 기본값인 100Hz에서 1kHz로 바꾼 것이 남았음
- 리드 프로그래머인 동료가 좀더 정확한 중력 묘사를 위해 높여두었던 것
- 1kHz로 두었다가 메모리 카드 로드/저장시에만 100Hz로 잠시 돌려놓도록 했더니 문제가 사라짐
- 하지만 아직도 원인은 알 수 없었는데, 우연히도 메모리 카드 관련 작업중 컨트롤러를 만지면 문제가 생기는 것을 알아냄
- 일본의 하드웨어 엔지니어와 연락하여 테스트 코드를 주고 확인시켰더니 하드웨어 문제임을 확인함
원인
하드웨어 문제였기에 정확한 원인은 알 수 없지만 보드의 각 부분간의 혼선으로 보인다. 즉, 1kHz로 클락을 올린 상태에서 메모리 카드와 컨트롤러 양쪽에서 데이터를 보내면 문제가 생겼던 것이다.
반응형
'development' 카테고리의 다른 글
황당버그 - 튜브 때문에 다운되다 (0) | 2023.06.04 |
---|---|
황당버그 - 우크라이나 소떼들 (0) | 2023.06.03 |
황당버그 - 자동차가 바닐라 아이스크림 알러지가 있나봐요 (0) | 2023.06.03 |
비밀번호 입력창의 값을 보여주기/가리기 (0) | 2023.04.27 |
RLE란 무엇인가? (feat. Notion AI) (0) | 2023.04.24 |
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Bug
- 영화
- golang
- solid
- 티스토리챌린지
- API
- agile
- 클린 애자일
- websocket
- Gin
- 오블완
- 제이펍
- 엉클 밥
- 노션
- 체호프
- OpenAI
- intellij
- notion
- bun
- github
- 인텔리제이
- strange
- clean agile
- 독서후기
- 잡학툰
- ChatGPT
- 2023
- folklore
- 독서
- go
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함