일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 메가드라이브
- 새턴
- 닌텐도스위치
- 메트로이드
- 컨트롤러
- analogue
- 게임기어
- fpga
- ps4
- PC엔진
- snes
- 건담
- 앙상블
- mister
- MSX
- Apple II
- mobilesuit
- 게임보이
- Saturn
- ensemble
- 티스토리챌린지
- 오블완
- 닌텐도
- Game Gear
- 패미컴
- GOG
- 모빌슈트
- 3DS
- 슈퍼마리오
- 슈퍼패미컴
- Today
- Total
목록VPOKE (2)
Just a Blog

좀 더 파혜쳤더니, 문제 발생 원인에 더 좁혀졌다. 문제가 발생하는 지점은 'VPOKE'로 VRAM 3800H 번지에서 스프라이트를 만드는 곳이 아니라, 'VPOKE'로 VRAM 2000H 번지에서 컬러 테이블을 변경하고 있는 곳이었다. 더 정확하게는 VRAM의 2006H 번지와 2007H에 어떤 값을 기입해서 0~9 숫자와 일부 기호 캐릭터의 색을 변경하니 스프라이트 충돌 분기가 발생했다. MiSTer MSX 코어와 IQ 3000 큐티에서 이 부분을 빼니 실기와 동일하게 정상동작 했다.하지만 다른 코드에서 'VPOKE'로 해당 번지에 값을 넣어 봤는데 이런 현상이 재현되지는 않았다. 즉, 단순히 VRAM 2006H, 2007H 번지 메모리가 문제가 있는 것은 아닌 것 같다. 하지만 문제의 BASIC 프..

이전 글에서 언급한 MSX 실기(X-II 및 에뮬레이터)와 OCM 클론(MiSTer MSX 코어, IQ 3000 큐티)에서 BASIC 실행의 차이에 대한 추가 분석 내용이다.(업데이트: 신규 추가 분석에 대한 내용은 이곳에 실었다) 1. 신규 OCM BIOS 적용 SD 이미지를 사용하여 'COLOR_SPRITE()' 예제 코드 실행MiSTer의 MSX 코어에서 KdL의 새로운 바이오스팩을 적용하여 SD 이미지를 만들고 실행했더니, 이전 글에서 언급한 'COLOR_SPRITE()' 예제 코드가 실기와 똑같이 동작했다.다만 실행 차이가 발생했던 프로그램을 실행한 뒤 중단하고 이 프로그램을 시작하면 이전과 동일한 현상이 발생하는데, 뒤에서 언급하겠지만 그 현상은 VRAM 메모리가 유지되면서 발행하는 문제로 ..