Retro Game & PC/매뉴얼 팁 작업

Apple2 테입 소프트웨어 로딩 (MAME 사용)

smores 2023. 12. 6. 04:02

어려을적 첫 애플2는 컴퓨터 본체만 달랑 사와서 TV에 연결해서 사용했다. 소프트웨어는 테이프에 녹음해와서 집에 있는 테입 플레이어를 사용해서 로딩했었다. 

 

이제 와서 추억놀이랍시고 실기도 없는 와중에 같은 작업을 MAME 의 apple2e 에뮬레이션 기능으로 해 본다.

 

일단 테스트 대상은 Bob Bishop 이 개발했던 Rocket Pilot 이라는 게임과 Saucer Invasion 이라는 게임이다. 둘 다 정수베이식에 바이너리 코드가 얹혀진 프로그램들이라 어떻게 그렇게 만드는지 궁금해서 찾던 중에 알게된 프로그램들이다. 만드는 방법은 나중에 공부해서 알게 되면 다시 정리를 하고, 왜 그렇게 만들었는지는 바이너리 실행파일인 경우 초보들은 로딩조차 어렵다. BLOAD 에 어디에 올릴지 어드레스도 알아야 하고 그런것 같다. 그래서 편의를 위해 베이식으로 wrapping 을 해서 단순히 LOAD 명령어 하나만으로도 로드할 수 있도록 한 모양이다. 단, 사용된 베이식이 애플소프트 베이식이냐, 아니면 정수 베이식이냐에 따라 거기 맞는 상태 (프롬프트) 에서 로딩을 해야 한다. (타입을 틀리게 했더니 ERR 가 나온다)

 

MAME 에서 apple2e 에뮬레이션의 경우는 기본으로 애플소프트 베이식만 올라온다. 따라서 정수베이식이 준비될 수 있는 디스켓으로 부팅하고 (디스켓을 사용하는 이유는 테입 로딩 후 저장을 해 놓아야 매번 테입 로딩을 하는 사태를 방지할 수 있기 때문이기도 하다), 정수베이식을 올려두면 INT 로 정수 베이식 프롬프트 > 로 들어가고, FP 로 애플소프트 베이식 프롬프트 ] 로 들어갈 수 있다. 

 

사용한 테스트 음원은 다음과 같다.

 

k7_softape_saucerinvasion_s2_rocketpilot.wav
3.42MB
k7_softape_saucerinvasion_s1_saucerinvasion.wav
6.32MB

 

업로드한 파일 순서대로 음원 파형을 보면 대충 이렇다. 한 테입 음원에 두번씩 들어있는데 다 로딩을 해 봐도 같은것이 두번씩 반복되는 느낌이다. 다만 saucerinvasion 은 첫번째와 두번째 파형이 좀 다른데도 실행해 보면 차이를 잘 모르겠다.

 

각 음원의 파형

 

 

정수베이식을 위해 사용한 디스크 이미지는 아래 첨부해 둔다. 원래 rocket pilot 게임이 들어있는 디스크 이미지를 찾다가 구한 것이다. 이미 rocket pilot 이 들어 있다.

GAME MUSIC.dsk
0.14MB

 

부팅을 하면 잠시후 카타로그 리스트와 실행 번호들을 보여준다.

 

4 로 빠져 나온 후, INT 라고 치고 엔터를 누르면 정수 베이식 프롬프트 > 가 나오고, LOAD [엔터] 로 테입 소리가 나길 기다리게 된다.

 

MAME 메뉴키 호출로 테입을 플레이하면 (미리 테입 슬롯엔 해당 음원 파일을 등록해 두는게 좋다) 잠시후 삐~ 소리가 나다가 잡음 소리가 나기 시작하는 시점에 (프로그램 데이터 시작) 애플2가 삑 소리를 내면서 시작을 알리고 해당 프로그램이 끝나면 (잡음이 멈춤) 프롬프트가 다시 나타난다. 두번째 음원까지 할 필요가 없으니 일단 Stop 을 해 두고 MAME 메뉴를 빠져 나가서 적당한 이름으로 디스크에 저장을 하면 끝난다. 

 

그리고 RUN 으로 실행

 

 

 

 

이거 한번 성공해 보는데도 꽤나 이래 저래 시행착오를 겪어서 잊을 때를 대비해 정리해 놓았다. 테스트하면서 어릴때 게임 하나 해 보려고 테이프에 녹음을 떠 와서 집에 있는 플레이어로 하면 어찌나 에러가 심하게 많이 나오던지... 국내에서 나온 삼성 SPC1000 같은 경우는 자체의 데이터 전용 플레이어가 본체에 붙어 있어서 아마 에러가 적었을 듯 싶다. 하다 못해 전용 데이터 레코드 플레이어라도 썼으면 나았을지 모르지만, 집에 굴러다니는 테이프 플레이어를 쓰다보니 에러를 좀 줄이려고 헤드 근처의 무슨 조절 나사도 돌려가며 최적 위치를 잡느라 어지간히도 고생을 했던 기억이 난다. 😂  중학교 2학년때 처음 애플2를 만났었는데 (석영전자 MALUM ][), 시작할 때 프롬프트가 APPLE 이 아닌 MALUM 이 나와서도 짜증이 나고 해서 결국 고등학교에 들어가서 새로 청계천표 복사 애플2+ 를 사면서 디스크 드라이브를 함께 마련해서 테입 로딩의 고난에서 해방되었다. 그리고 이 컴퓨터에는 디스크 드라이브를 나중에 하나 더 달고 (하나는 티악, 하나는 아슈카 브랜드로 기억), 8핀 프린터 (오키, 나중에 9핀 엡슨 LX80 로 업그레이드), Videx 80컬럼 카드, CP/M 용 Z80 Softcard 까지 추가하면서 나의 인생에서 가장 중요한 컴퓨터 관련 기초를 전부 애플2를 통해 배우는 계기가 됬었다. 모킹보드 같은 사운드 카드는 안 달았기에 게임 보다는 사무용 소프트웨어 (Visicalc, CP/M 에서 돌아가는 Multiplan, dBase II, Wordstar 등) 하고, 프로그래밍 언어들 (CP/M 에서 돌아가는 PL1, Turbo Pascal, Fortran 80, GBASIC/MBASIC, 8080 어셈블리, BDS C 등) 등을 조금씩 맛을 봤던 것이 평생 프로그래밍을 취미처럼 여기게 된 계기가 된듯 싶다. 반면 멀티미디어 쪽은 아직도 관심도 덜하고 잘 다루지도 못한다. 

 

어쨌거나 오랫만에 추억의 테입 로딩 삐~ 소리와 잡음소리를 제대로 즐겨봤다. ^^