2023. 4. 11. 23:47
CHIP8 Brix 관련 분석 내용.
2023. 4. 11. 23:47 in 습작 및 R&D
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
오랫만에 글을 적습니다.
에물레이터 관련되서 관심있던 부분이 있었는데요. 최근 chip8이란 C# 오픈소스를 분석하면서 이것저것 진행하다, 기록 차원에서 글을 남깁니다.
CHIP8에 관한 스펙은 위키에서 참고 하시면 됩니다.
이게임을 보게 되면 총 5개의 life가 있는데요. 이 5개의 기회는 6E 05 첫번째 해당 구간입니다.
여기서 6E OPCODE 의 경우 Variables를 저장하는 byte[16] V의 배열의 E에 해당하는 14번째 배열에 05를 입력해 놓으라는 겁니다.
여기서 죽었을 경우 5번의 기회를 -1씩 차감하는 로직을 보면 아래와 같습니다.
7E FF 즉, V 배열의 E에 해당하는 14번째 값에 FF를 더하라는 뜻입니다.
1바이트로 캐스팅시 기존값 + FF는 -1 의 셈과 같습니다. 그래서 5 + FF 는 4가 됩니다.
일단 저런방식으로 작동된다 로 보시면 됩니다.
그래픽을 표시할때는 V 배열에 각 좌표별로 값을 넣어놓고, 해당 pixel을 메모리의 주소번지에 일일이 값을 집어 넣은 후 갱신되는 부분을 다시 계산하고 60hz에 맞는 속도로 전체 화면을 다시 그립니다.
감사합니다.
'습작 및 R&D' 카테고리의 다른 글
DOSBOX 빌드 관련. (0) | 2023.04.20 |
---|---|
ascii 에 할당된 캐릭터 값의 의미. (0) | 2023.04.12 |
x86은 encoding 자체가 너무 복잡하네요. (0) | 2022.02.21 |
엑셀 CSV 파일 파싱하기. (0) | 2021.11.10 |
C# SendKeys.Enter 관련 Delay 관련 리서치 (0) | 2021.06.30 |