일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 메가드라이브
- LMD
- YS
- mister
- 용과 같이
- 악마성
- fpga
- RGB
- Mega Drive
- snes
- Castlevania
- Apple II
- 컨트롤러
- analogue
- 닌텐도 스위치
- 젤다의 전설
- 이스
- 패미컴
- 게임기어
- 메트로이드
- PSP
- 3DS
- 슈퍼마리오
- PC엔진
- MSX
- 슈퍼패미컴
- 8Bitdo
- 게임보이
- ps4
- Today
- Total
목록VRAM (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 메모리가 유지되면서 발행하는 문제..