 |
 |
|
제목: MAME에서 치트기능 쓰는 법 |
 |
글쓴이:wieber 날짜: 2003.12.14. 14:23:25 조회:6835 추천:0 글쓴이IP: |
|
 |
파일:
첨부파일이 없습니다. |
 |
|
 |
|
 |
MAME의 치트 기능에 대해 잘 모를 때는 그냥 GameHack 같은
메모리 에디터를 썼는데, 프로세스의 메모리를 무지막지하게
다 검사하기 때문에 메모리 부족 에러가 나거나 찾는 데 엄청난
시간이 걸리기 일쑤죠..
그런데 최근에 MAME에서 Cheat 쓰는 법을 알게 되어
그걸 알려드리려고 합니다.
1. 먼저, 마메 폴더에 cheat.dat가 있는지 살펴보고, 없다면
http://cheat.retrogames.com/ 에서 Pugsy's 메뉴로 들어가서
Pugsy's latest cheat file 을 받아 마메 폴더에 넣는다.
2. 게임 도중 Tab을 눌러 메뉴를 띄운다.
3. Cheat -> Enable/Disable a Cheat 선택하면
게임에 해당되는 치트들이 뜬다. 여기서 On은 치트 적용을,
Off는 적용 안함을 의미한다.
4. 이제, 새로운 치트를 추가하기 위해서는 먼저 game wizard
와 같은 방식으로 원하는 값을 메모리에서 찾아야 한다.
처음 값을 찾을 때는 Start a New Cheat Search(줄여서 S0라
하자)를 이용하고, 변경된(또는 변경되지 않은) 값을 찾을 때는
(줄여서 S1, S2, ...라 하자) Continue Search를 이용한다.
예를 들어 설명해보면, (시각 T1에 S0를 하고 T2에 S1을 했다고
가정하자)
T1: S0 [Lives (or another value) 10(16)],
T2: S1 [Timers (+/- some value) 5(5)],
T3: S2 [Slow But Sure (changed or not) Not Equal] 은
검색조건: "시각 T1에서 16을 저장하고 있던 변수(메모리)가
시각 T2에서는 5만큼 증가했으며(즉, 21이 되었으며),
T3에서는 변했다(즉, 0,1,...,19,20,22,23,...,255 중의 하나가
되었다)."
이러한 검색조건을 만족시키는 변수를 찾는 것이다.
(CPU는 설명안했는데, 일반적으로 0으로 놓으면 되고,
특별한 게임의 경우 1번 CPU에서 값을 검색하려면 1로
바꾸면 된다.)
검색결과는 View Last Result 메뉴를 선택해서 볼 수 있다.
4바이트의 메모리 주소와 괄호 속에 값이 세 바이트 나오는데
그 중 뒤의 두 바이트는 괜히 나오는 것이다.
이제, 검색을 했으니 poke(변수 값을 우리 맘대로 바꾸는 것)
를 해야 하는데 ^^ 방법은 두 가지가 있다. 하나는, cheat.dat
에 추가해 주는 방법이고, 또 하나는 마메 메뉴 상에서
[Add/Edit a Cheat]를 이용하는 것이다. 후자는 마메를
끝냈을 때 저장되지 않는다는 문제가 있다.
예를 들어, Address 0000ABCD의 값을 EF로 바꿔주고 싶으면
방법1: cheat.dat를 에디터로 열어 우리가 원하는 게임 영역을
찾는다. Bubble Bobble을 예로 들자.
; [ Bubble Bobble ]
bublbobl:0:E366:63:000:Infinite Credits
과 같이 되어 있을텐데, 다음과 같은 문장을 끼워넣는다.
bublbobl:0:ABCD:EF:000:My Edit Test
이렇게 한 뒤 MAME상에서 치트를 적용하면 Address ABCD
의 값이 EF로 고정된다.
방법2: 이 방법을 사용하려면 cheat.dat에 해당 게임에 관한
치트 항목이 하나 이상 들어있어야 한다. 역시 Bubble Bobble
을 예로 들어 설명해보면, MAME상에서 [Add/Edit a Cheat]
를 선택하면 Infinite Credits 등의 치트목록들이 나오는데,
이 중 아무거나 하나를 선택하는데, Infinite Credits를 선택했
다고 가정하자.
Name Infinite Credits
Comment (none)
Activation Key (none)
Type Normal/Delay
One Shot Off
Restore Previous Value Off
Delay 0
Operation Write
Mask FFFFFFFF
Data 63 (99)
User Select Off
Byte Length 8 Bit
Location Normal
CPU 0
Address E366
와 같이 되어 있을텐데, Name을 My Edit Test로 고치고
Data를 EF(239)로 고치고
Address를 ABCD로 고치면 된다.
즐겜~ |
|
 |
|
|