1984년으로의 시간여행 (CPU, 애플, 카라테카)

요새 다시금 CPU의 역사를 되돌아보는 중입니다. 구글로 검색하다보니 시간 가는 줄 모르겠네요.

어제는 1974년부터 2004년까지의 CPU들을 체계적으로 정리해 놓은 cpu-collection.de를 발견했었는데, 오늘은 각종 CPU의 칩사진(die photo)까지 정리 해 놓은 CPU World를 발견했습니다.
인터넷에는 참 좋은 자료가 많이 있군요.

제가 컴퓨터 구조를 공부할 때 보던 책이 Francois AnceauThe Architecture of Microprocessors (Addison-Wesley 1986) 였습니다. 이 책을 보면 모토롤라의 M68000이 개발된 1979년에 이미 마이크로프로세서 설계기술이 거의 완성이 되었다는 사실을 알 수 있습니다.

Anceau책과 M68000 die photo

CPU World에서 M68000을 비롯한 70~80년대에 개발한 CPU들의 die photo를 보면서 현재 사용되고 있는 CPU/마이크로프로세서들이 공정기술을 제외하고 80년대의 프로세서보다 더 나은게 과연 무엇인가… 하는 생각을 했습니다.

다가 문득 Apple ][에 사용되었던 MOS Technology 6502 프로세서가 궁금해져서 찾아보니, 이 40년된 프로세서에 아직도 애착을 갖고 있는 분들이 많다는 사실을 발견했습니다. www.6502.org 에 많은 자료들이 있습니다.

이 자료들을 찾다가 애플2의 에뮬레이터가 있다는 것도 알게 되었고 애플2 컴퓨터를 Java로 구현해놓은 virtualapple.org 도 발견하였습니다. 그 중에서도 제일 반가웠던 것은 바로 초등학생때 하던 카라테카를 그대로 다시할 수 있었던 것입니다. 25년이 지났는데 아직까지 기억이 생생하다는 사실에 놀랐습니다.

그런데 주인공캐릭터의 모습과 움직임에서 IBM XT게임인 페르시아의 왕자가 겹쳐보이기 시작하는 것이었습니다. 특히 달려가는 모습… 결정적으로 문에서 철창에 찍혀죽는 모습(위 사진 중 마지막)에선 확신을 갖게 되었습니다. 문을 통과하면서.. “어 여기 그냥 지나가면 칼날이 나와서 잘려죽을 것 같은데? 아참? 그건 페르시아의 왕자인가?”하면서 지나가다 찔려 죽었습니다. ^^;;

게임이 끝나고 나오는 화면을 보니 “Broderbund Software”라는 이름도 굉장히 익숙해 보이더군요. 검색을 시작했고 카라테카나 페르시아왕자가 모두 동일 개발자 Jordan Mechner 의 작품이었습니다. 그리고 페르시아의 왕자가 Apple 2 용으로 개발되었다가 IBM XT용으로 컨버젼 됐다는 사실도 알게 되었습니다. (Apple2 버젼도 virtualapple.org에서 실행가능합니다.) 애플2버젼은 그래픽이 다소 떨어지지만, 자연스러운 움직임은 그대로네요. 애플에서 이정도의 움직임을 구현하다니 정말 대단합니다.

Apple2용 페르시아의 왕자

왜 어릴적에는 같은 사람이 만든 게임이란 사실을 몰랐을까 생각해보았습니다. 지금이야 1984년이나 1989년이나 그때가 그때 같지만, 당시엔 카라테카를 했던 것은 초등학생 시절이었고, 페르시아의 왕자는 고등학생때 였으니 중간에 큰 시간적 공백이 있었던 것이죠. 페르시아의 왕자를 처음보고 카라테카를 떠올렸던 것은 같습니다만, 구글이 없이 검색해 볼 방법도 없고 애플컴퓨터를 다시 찾아 실행해서 제작자 이름을 비교해볼 수도 없었던 것이죠.

아무튼 컴퓨터의 역사를 공부하다 기억속에 끊어진 연결 고리를 발견하니 참 재미있군요.

최초의 비디오 게임

어릴적 기억으로 남아있는 비디오 게임은 Atari의 Pong이다. 초등학교 1~2학년이었던 당시엔 그게 아타리인지 퐁인지 알리 없었고, 아버지가 게임기라고 들고오셔서 TV에 연결했고 사촌 형이 엄청 신기해했던 기억이난다. (생각해보면 아버지는 상당한 얼리어댑터이셨던 듯. 사실 83년도에 내게 애플2컴퓨터를 쓰게 해주신게 결국 내 직업을 결정했다.)

Atari의 Pong

하지만, 내가 보기엔 그리 재미있지도 별로 하고 싶지도 않았던 게임이다. 81~82년 당시 가정에서 비디오게임을 하는 것은 놀라운 일이었겠지만, 사촌형을 따라간 오락실에서 갤러그(Galaga)를 본 적이 있던 터라 이미 보는 수준이 높아져있었다.

전설의 갤러그

아무튼, 두명이 TV앞에 앉아 조이스틱도 아닌 딸랑 오디오 볼륨(정식명칭은 패들) 두 개를 하나씩 잡고 했던 기억이 난다. 그동안 이 Pong이 가장 원시적인 비디오 게임이라고 생각했고 당시 기술론 테니스게임을 그정도로 밖에 구현할 수 없을 것이라고 생각했다.

이걸 붙잡고 게임이 가능했다는게 더 신기한 패들(paddle)

하지만, 무려 1958년도에 물리학자인 William Higinbotham이 만든 게임이 있으니 바로 Tennis for Two이다. 제대로된 모니터(CRT)를 이용한 것도 아닌 연구실 오실로스코프를 이용하여 심심풀이로 만들었다니 정말 geek하다. 유튜브에서 검색해보니 그 디테일이 장난이 아니다. 70년대에 만든 pong에 비해 무척 완성도가 높다.

위키피디아의 History of Video Games에 따르면 Tennis for two이전에 1950년대초부터 컴퓨터게임/비디오게임이 존재했다고 한다. 주로 천공카드를 이용한 초기의 컴퓨터게임이었고 그중에서도 1961년에 MIT의 Steve Russel의 Spacewar!가 유명하다. 엄청난 크기의 컴퓨터(PDP-1)가 필요했으나 우주선 두 대가 등장하는 꽤 그럴싸한 게임이었다(Youtube 링크: 화질이 썩 좋지않아 우주선만 보이고 미사일이  보이지 않음). 이 게임을 보고 놀란부쉬넬이 아타리를 창업하였고, 아타리에서 잡스와 워즈니악이 하드웨어를 배워 애플을 설립하였으니 그 영향력은 엄청난 것이었다.

Steve Russel과 PDP-1

p.s. 이런 사람들이 지금의 IT분야를 개척한 사람들이 아닐지…
p.s. 수십년전 과거를 검색만하면 생생한 동영상으로 보여주는 Youtube는 참 유용하다. (물론 과거를 재현하여 기록한 사람들의 공이 있기에 가능)