43년전 LG 최초 컴퓨터로 8비트 음악 연주 코딩하기

Lv.1 샤과쌤 (112.♡.163.204)

2026년 2월 18일 AM 03:14 · 수정됨(02. 21. 00:45)

조회 1,946 공감 0















1983년에 금성사에서 출시된 패미콤 FC-100을 오랜만에 꺼냈습니다.


같이 짝꿍인 초록색깔 모노크롬 모니터에 연결해서 작동시켜보았어요.


새해를 맞아 설날(까치까치 설날은~) 노래를 코딩으로 만들기 위해서


T로 템포를 정해주고 O로 옥타브를 지정하고 V로 볼륨을 지정한 뒤


CDEFGABC와 4분음표 8분음표 16분 음표 등을 숫자로 지정해주고


쉼표 구분을 이용해서 Play "멜로디", "화음1", "화음2"로 구분한 후


Return키(혹은 Run키)를 눌러주었더니 설날 노래가 잘 나와주네요!


다모앙 회원님들 모두 2026년 병오년 새해 복 많이 받으세요!!!

{emo:damoang-lala-001.webp:150}



{video: https://youtube.com/shorts/utJASckQw9g?si=AMgjL3Fu8xltiKmp }​




댓글 (14)

  • 로그

    로그 Lv.1

    02.18 · 121.♡.78.157

    8비트 음악이 아직도 뭉클한 게 있네요. 이스1 시절 노래 듣는 거 같습니다 ㅎㅎ
  • 샤과쌤 Lv.1 → 로그 작성자

    02.21 · 112.♡.163.204

    오 이스1이 NEC PC-8801에서 나왔으니까 사운드가 비슷한게 맞을거예요! 금성 패미콤이 NEC PC-6001 기반으로 만든 컴퓨터라서요ㅎㅎㅎ
  • junja91

    junja91 Lv.1

    02.18 · 96.♡.202.44

    FC-100 을 아직 소장하고 계시다니 부럽습니다. 저는 고향집에서 혹시 옛날 FC-80 을 건질 수 있을까 했는데 실패하고, 그 대신 애플 II 청계천 복제품을 건져왔습니다.
  • 샤과쌤 Lv.1 → junja91 작성자

    02.21 · 112.♡.163.204

    으악 FC-80도 완전 귀물인데 저는 유럽수출품인 FC-200만 가지고 있어요ㅠㅠ 얼른 FC-80도 구해봐야겠어요!
  • 삶은다모앙

    삶은다모앙 Lv.1

    02.18 · 61.♡.223.158

    와 대단하네요 애드립

    황변된 플라스틱, 운동화 등을 되살리는 ‘황변 제거제’는 주로 고농도(6~9%) 크림형 산화제를 사용합니다. 노랗게 변색된 부위에 산화제를 바르고 랩으로 감싼 뒤 자외선(햇빛)에 노출시켜 원래 색상으로 환원하는 방식입니다. 주요 제품으로 코겐, 로레알 옥시던트 크림 등이 사용됩니다.

    이 방법 한번 써 보셨나요
    조심스럽게...해야 할듯합니다
    저는 흰색 노트북 한번 해봐야겠네요 봤어요
  • 샤과쌤 Lv.1 → 삶은다모앙 작성자

    02.21 · 112.♡.163.204

    올 여름에 날 좋을 때 황변제거 한번 해야겠어요~~~
  • 모앙_

    모앙_ Lv.1

    02.18 · 104.♡.219.157

    좋은 사진 덕분에 이번에는 정확히 디코딩이 가능합니다.
    결론부터 말하면, 이 코드는 Z80 기계어가 아니라 MSX BASIC의 토큰화된 내부 표현(tokenized BASIC program) 입니다.
    즉:
    CPU 기계어 ❌
    BASIC 프로그램을 메모리에서 hex처럼 보이게 덤프한 것 ✅
    1. 가장 중요한 단서: 첫 줄의 play
    사진에서 명확히 보이는 부분:

    Ready
    play "-l4g0v15o8c8g8g..."
    이건 MSX BASIC의 PLAY 명령, 즉 음악(MML: Music Macro Language) 입니다.

    예:
    PLAY "CDEFG"
    → 스피커로 음악 재생
    2. 그 아래 외계어의 정체
    예를 들어 보이는 패턴:
    c04a o5c8 o4a8 gr4e f8e8
    이건 hex가 아니라, 사실은:
    c0 4a o5 c8 o4 a8 g r4 e f8 e8
    MSX BASIC에서 PLAY 문자열이 토큰화된 상태로 저장된 것.
    3. MSX BASIC의 내부 저장 방식
    MSX BASIC은 프로그램을 메모리에 저장할 때 이렇게 저장합니다:
    구조:
    [line link pointer]
    [line number]
    [tokenized commands]
    [data]
    [end marker]
    예:
    BASIC에서 입력:
    10 PLAY "CDEFG"
    메모리에는:
    00 00 0A 00 91 22 43 44 45 46 47 22 00
    처럼 저장됨
    여기서:
    91 = PLAY 토큰
    22 = "
    43 = C
    등등
    4. 화면의 데이터가 의미하는 실제 내용
    사진에서 보이는 실제 MML을 재구성하면:
    예:
    PLAY "-l4g0v15o8c8g8g..."
    MML 의미:
    코드
    의미
    l4
    기본 음 길이 = 1/4
    g0
    G 음
    v15
    볼륨 15
    o8
    옥타브 8
    c8
    C 음, 1/8 길이
    r
    쉼표
    >
    옥타브 증가
    <
    옥타브 감소
    5. 예시 디코딩 (실제 의미)
    예:
    Copy code

    o5 c8 o4 a8 g r4 e f8 e8
    의미:
    Copy code

    옥타브 5에서 C
    옥타브 4에서 A
    G
    쉼표
    E
    F
    E

    → 음악 멜로디
    6. 왜 외계어처럼 보이나
    LIST로 보면:
    Copy code

    10 PLAY "..."
    하지만
    메모리 덤프로 보면:
    Copy code

    c04a o5c8 o4a8 gr4e f8e8
    토큰화된 상태
    7. 이 화면은 무엇인가
    정확히 말하면:
    → BASIC 프로그램 메모리 덤프
    즉:
    MSX BASIC 내부 RAM을 그대로 표시
    8. 실제 프로그램 구조 (복원)
    사진 속 프로그램은 대략 이런 BASIC 코드:
    Basic
    10 PLAY "-l4g0v15o8c8g8g..."
    20 PLAY "..."
    30 PLAY "..."
    여러 줄의 음악 데이터
    9. 결론
    사진 속 외계어 =
    ✔ MSX BASIC 프로그램
    ✔ PLAY 명령으로 음악 재생
    ✔ MML (Music Macro Language)
    ✔ 토큰화된 메모리 표현
    CPU 기계어 ❌
    음악 BASIC 프로그램 데이터 ✅
    10. 흥미로운 점 (매우 중요)
    이건 아마도:
    → 게임 음악
    또는
    → 데모 음악
    MSX 시절에 흔한 방식
    11. 원하면 완전한 BASIC 코드로 복원도 가능
    사진 기반으로 최대한 복원하면:
    Basic
    10 PLAY "-l4g0v15o8c8g8g..."
    20 PLAY "..."
    30 PLAY "..."
    형태입니다.
    원하면 이 음악이 실제로 어떤 멜로디인지 (예: 특정 게임 BGM인지)도 분석해서 MIDI로 재구성까지 해줄 수 있습니다.

    ChatGPT에게 사진찍어 물어봤습니다.
    화면에 나온 외계어같은게 음악 작곡이라니요
  • 샤과쌤 Lv.1 → 모앙_ 작성자

    02.21 · 112.♡.163.204

    오오 지피티에게 물어보셨군요! play명령어로 사운드칩에게 명령내리는 구조예요!!!! 마비노기에서 작곡이 MML방식인데 이 MSX play 명령어 방식을 채택했죠!
  • MSZ006

    MSZ006 Lv.1

    02.18 · 39.♡.25.147

    금성 FC-100 첫 컴퓨터네요
    책넘겨가며 코드치고 카세트 테입에 저장했던 기억 떠오르네요.
  • 샤과쌤 Lv.1 → MSZ006 작성자

    02.21 · 112.♡.163.204

    크으 저도 카세트에 데이터 저장하는 거 한번 해봐야되는데 데이터잭이랑 카세트는 있는데 얼른 공테이프 구해와야겠네요

댓글을 작성하려면 이 필요합니다.