2019년 9월 10일 화요일

휴대용 레트로 게임기 분해

아들녀석이 게임기를 좋아할것 같아서, 게임기종류의 장난감을 시작해보려고 문방구에서 싸구려 핸드게임기를 하나 구입하였습니다.

본래 MAME라는 레트로 게임기 에뮬레이터가 있고 이것을 응용한 제품이 제법 있다고 알고 있었습니다.
그 때문에 게임 자체의 품질에 대해서는 크게 의심하지는 않았고 그저 "비디오 게임"이라것을 시작하는 시점에 아주 싸면서 흥미를 유발할 만한 제품을 골랐습니다.

결과적으로 5살난 아들은 별로 관심을 보이지 않더군요. ㅠㅠ

본래는 2.4인치정도 하는 화면을 가진 제법 유명한 제품을 사려고 했습니다.
인터넷에서 2-3만원정도하고 문방구에서는 3-4만원정도 하더군요.

이 제품은 문방구에서 1.5만원에 구입했습니다.



박스뒤의 설명서에 할 수 있는 게임 목록이 나와있습니다.


게임중인 화면을 찍지 않았는데
대표적인 겔러그 같은 게임은 세로비가 큰게임인데, 해상도가 낮은 가로화면에서 실행하려니 중간중간 건너뛴 표시라인이 있어서 표시품질은 높지 않습니다.
대신 가로비가 큰 슈퍼마리오 같은 게임은 그럭저럭 할만한 정도는 됩니다.





게임기를 작동시켜보고나서 MAME 계열의 변종이라는 느낌이 확실히 들었고, 이게 해킹을 해보면 꽤 재밌겠다고 생각이 들었습니다.

그래서 드라이버를 들고 분해를 해보았는데, 결론은 해킹은 안될것 같습니다.

분해과정을 찍어두지 않았고, 대신 조립하는 과정을 찍었기 때문에 양해를 바랍니다.
비스를 열 몇개 정도 풀어내면 아래와 같이 됩니다.


전면 스위치 러버의 상태는 아래와 같습니다.


하부 기판과 스피커 그리고 건전지 수납부의 사진입니다.


기판의 전면부 모습입니다.


기판을 전면 스위치 러버쪽에 끼워 맞춘 모습입니다.


액정의 오른쪽에 프로그램 포트가 있는것 처럼 보입니다.
그러나 저것만으로는 내부 구조가 되어 있는지 알기 힘듭니다.


액정의 왼쪽편 모습입니다.


결론은 이 게임기는 본딩방식으로 조립되어 있어서 내부가 어떤 구조로 되어 있는지 알기 힘듭니다.
따라서 해킹을 하는것은 어려울것으로 생각됩니다.

더 분해를 진행해 볼 수 도 있겠지만, 그렇게 하면 액정과 기판사이의 조립상태가 분리될것이고 그러면 정상작동이 안될것입니다.

그나마 아들녀석이 몇번 가지고논 다음 버릴때까지는 그냥 두기로 하고 여기까지로 해야할것 같습니다.

2019년 2월 18일 월요일

NTLite 임시 시스템 작업폴더 NLTmpMount01 폴더 지우기

NTLite로 작업을 하다보면 작업중에 갑자기 중간을 해야할 일이 있습니다.

이때 다시 작업을 하면 이전작업상태가 삭제되지 않아서 곤란합니다.

그것은 "C:\Users\user\AppData\Local\Temp" 폴더내에 "NLTmpMount01" 폴더에 저장된 상태가 지워지지 않기 때문입니다.

이것을 지우는 방법을 소개하겠습니다.

첫번째 방법은 중단된 작업을 다시 계속해서 끝날때까지 기다리는 것입니다.

이 방법은 시간이 많이 필요할 수도 있고, 중단 시킨데는 그만한 이유도 있을것이고 어찌어찌 하다보니 다시 시작할 수 없을 수도 있습니다.

두번째 방법은 임시 저장 폴더를 삭제하는것인데 아래에 소개하는 내용입니다.

우선 작업 컴퓨터를 재부팅해야합니다. 이게 첫번째 중요합니다.

NTLite작업에 의해서 winserv.exe와 Dism.exe, DismHost.exe 프로세스가 생깁니다.


이들 프로세스에 의해서 NLTmpMount01내의 엄청나게 많은 폴더와 파일이 열립니다.

이 상태에서 NTLite를 갑자기 중지하면 이상한 상태가 됩니다.

그대로는 NLTmpMount01를 지울수 없는 상태가 됩니다.

그러므로 반드시 재부팅 해야합니다.

이제 NTLite의 임시폴더를 보겠습니다. 사용자 임시 폴더을 엽니다.

이 글에서 사용자는 "user"인데, 따라서 사용자 폴더는 아래와 같습니다.

C:\Users\user\AppData\Local\Temp


폴더 삭제를 시도해봅니다.


삭제를 시도하면 관리자 권한이 필요하다는 메시지와 함께 삭제가 되지 않습니다.


NLTmpMount01 폴더 속성탭을 연 다음 현재 사용자(여기서는 user)가 속한 그룹 User를 선택한뒤 편집을 눌러서 사용권한을 편집하세요.


모든권한을 체크한 뒤 확인을 누릅니다.


중간에 아래와 같은 엑세스 거부 매시지가 나올 수 있지만 계속 진행합니다.


맨처음의 NLTmpMount01 폴더 속성탭에서 고급을 누릅니다.


소유자 탭을 누른뒤에 편집 버튼을 눌러서 폴더의 소유권을 변경합니다.


소유권을 변경할때는 "하위 컨테이너와 개체의 소유자 바꾸기"를 선택한뒤 확인을 누릅니다.


소유권이 변경되는 진행상황이 표시됩니다.


간혹 중간에 물음이 나오는데 모두 권한 변경하는것으로 하면됩니다.


소유권이 모두 변경되었다는 메시지가 마지막에 나옵니다.


이번에는 사용 권한 탭에서 사용권한 변경 버튼을 누릅니다.


"모든 위치 개체 사용 권한을 이 개체의 상속 가능한 사용 권한으로 바꾸기"를 체크한뒤 확인을 누릅니다.


모든 작업이 끝나면 NLTmpMount01 폴더를 삭제합니다.


위와 같이 삭제가 잘 될것입니다.

나머지 "NLTmpMount01_WIMTemp", "NLTmpScratch" 같은 폴더는 위와 같은 작업을 하지 않아도 잘 지워질 것입니다.

2018년 2월 8일 목요일

Ubuntu 16.04 Desktop 설치-VMware 에서

Ubuntu 16.04 Desktop을 설치하는 예를 보여드립니다.

설치환경은 VMware입니다.
VMware 환경이 리얼 머신과 다른점은 몇가지가 있습니다.

1. 디스크 스왑을 사용하지 않는다.
  - 메모리 확보를 위해 디스크 스왑을 사용하는것 보다는 VMware의 메모리 스왑 시스템을 사용하는것이 더 좋다.
  - 스왑 파티션 할당을 위한 공간을 사용자 공간으로 할당하는것이 더 좋다.
2. 부팅 파티션을 사용하지 않는다.
  - VMware에 설치된 가상머신은 개별적으로 업그레이드를 고려하지 않는다.
  - 필요하면 전체 가상환경을 다시 배포하거나 문제가 생기면 해당 가상머신을 지우고 다시 만든다.
  - 부팅 파타션 할당을 위한 공간을 사용자 공간으로 할당하는것이 더 좋다.

설치를 시작하겠습니다.
설치에 사용한 iso 이미지 파일 이름은 "ubuntu-16.04.3-desktop-i386.iso" 입니다.

설치를 위한 VMware 게스트 설정은 메모리 1G, 디스크 10G를 할당하였습니다.

설치 iso를 가상 CD로 설정한뒤 게스트를 부팅합니다.
데스크탑 환경은 서버와는 달리 한글 환경을 자주 사용합니다.
따라서 설치 이후에 대부분의 환경이 한글로 될 필요가 있습니다.
한글로 설치를 진행합니다.
한글 설치의 안좋은점은 VMware상에서 설치 진행 할때 800x600 해상도에서는 아래쪽 버튼이 보이지 않는다는 점입니다.
그래서 일단은 영문으로 설치한 다음 설치 진행에 필요한 키의 탭 순서나 단축키를 알아둘 필요가 있습니다.
여기서는 미리 확인해 둔것이므로 그대로 따라 하시면 됩니다.
업데이트를 할지 그렇지 않을지는 사용자 선택에 달렸습니다.
하지만 드라이버는 선택할 필요가 없습니다.
가상 환경을 위한 드라이버는 대부분 기본적으로 지원합니다.
 앞에서 언급한 바와같이 스왑파티션과 부팅파티션이 필요없으므로 파티션을 직접 지정합니다.
 설치형식 창에서 맨아래 기타를 선택한뒤 계속을 누릅니다.
 게스트 환경으로 구성한 10G 하드가 보입니다.
 /dev/sda를 더블클릭합니다.
 파티션 만들겠습니까 창에서 계속을 클릭합니다.
 아래와 같은 창의 모양이 되고
 "남은 공간"부분을 더블클릭하여 파티션을 만듭니다.
 파티션 마운트 위치를 루트 "/"로 해줍니다.
 OK를 누르면 아래와 같이 됩니다.
 아래의 설치진행을 눌러야 하는데 VMware 한글설치에서는 이게 안보입니다.
 alt + i 키를 누르면 설치가 진행됩니다.
 스왑 파티션을 만들지 않았다는 경고가 뜨지만 본래 의도한것이므로 계속을 눌러 진행합니다.
 파티션을 디스크에 쓸지를 물어봅니다. 계속을 누릅니다.
한글 설치에서 어려운 부분이 시간대 설정입니다.
여기서는 다음 진행 버튼이 전혀 안보이기 때문에 어찌 할 수가 없죠.
탭(tab)키를 2번 누른뒤 엔터를 누르면 다음으로 진행합니다.
실수로 이전으로 돌아간다면 적절히 다시 시도해서 다음으로 진행하도록 합니다.
키보드 기본배치가 영어로 나옵니다.
물론 나중에 배치를 바꿀수도 있지만 그냥 한글 키보드로 바꾸어 둡니다.
한국어를 선택한뒤
한국어-한국어(101/104키 호환)을 클릭합니다.
사용자 정보를 넣는 창이나옵니다.
가상환경에서 게스트 로그인은 종종 짜증을 부릅니다. ^^
자동으로 로그인하는것으로 해두시면 편리하실 겁니다.
여기서도 다음 진행이 어려운데 모두 입력을 완료하신다음
탭키를 누르면 다시 이름으로 포커싱이 돌아올때가 있습니다.
이때 쉬프트 + 탭 키를 누른뒤 엔터를 누르면 다음으로 진행됩니다.
설치가 진행됩니다. 그냥 기다리면 됩니다.
설치가 종료되면 다시 시작 버튼을 누르고
조금 기다리면
재부팅한뒤에
우분투 데스크톱이 뜹니다.
터미널 창을 띄워서 df를 실행해 보면 10G 영역에서 스왑 파티션이나 부팅 파티션 없이 모두 사용자 영역으로 설정된것을 보실수 있습니다.
이상입니다.