경고 : 최신판이 아닙니다. 이 문서의 오래된 판을 편집하고 있습니다. 이것을 저장하면, 이 판 이후로 바뀐 모든 편집이 사라집니다. 로그인하고 있지 않습니다. 편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!이 문서에서는 C64 소프트웨어를 작성하는 방법에 대해서 알아보자. 이 문서를 끝까지 읽는 것만으로 당신도 C64 프로그래머! ==들어가기에 앞서== ===프로그래밍 언어=== C64는 두 가지 프로그래밍 언어를 지원한다. *기본 제공하는 [[BASIC]] **일단 배우기 쉽다. **특별히 보조 프로그램을 사용하지 않아도 C64에서 곧장 코딩이 가능. **프로그램 처리 속도는 아주 느리다. **메모리에 직접 접근할 일이 있을때 불편하다. *어셈블리어 **진입장벽이 높다. **메모리 맵, 인터럽트 등 고급 지식이 필요하다. **보조 프로그램을 사용하지 않으면 난이도가 비약적으로 상승. **메모리를 주물주물하고, 그래픽 칩, 인터럽트, 뭐든지 마음대로 접근할 수 있다. **속도가 BASIC보다 훨씬 빠르다. 서로 장단점이 있지만, 큰 프로그램을 작성하려면 결국은 어셈블리어를 사용하게 될 것이다. 컴퓨터 구조상 메모리에 직접 접근할 일이 무수히 발생하기 때문이다. 하지만 우리는 처음 시작하는 입장이니, BASIC부터 해 보도록 하자. ===에뮬레이터=== 혹시라도 C64 본체를 가지고 있는 {{ㅊ|부러운}} 사람에게는 미안하지만, 우리는 에뮬레이터를 가지고 코딩을 하기로 하자. 유명한 에뮬레이터로는 [http://www.ccs64.com/ CCS64], [http://vice-emu.sourceforge.net/ VICE], [http://www.c64forever.com/ C64 Forever] 등이 있는데, 여기서는 VICE를 사용하기로 하자. 홈페이지에서 다운로드 받을 수 있고, 포터블 버전이다. 32비트와 64비트 모두 지원한다. ==BASIC 프로그래밍== ===준비=== 다운로드한 에뮬레이터를 실행해 보자. x64.exe라는 파일이다. 아마 창이 하나 뜨면서, 아래 사진과 같은 보라색 화면이 나타날 것이다. [[파일:c64_ready.png]] 달랑 커서 하나만 깜빡이고 있지만, 이것이 c64의 메인 화면이고 앞으로 계속해서 보게 될 것이다. ====키보드==== C64는 특수문자를 많이 사용했는데, 이 녀석들은 키보드에 따로 배정되어 있거나 특수한 조합으로 입력할 수 있었다. 지금 우리가 쓰는 키보드에는 당연히 그런 키가 없기 때문에 에뮬레이터에서 키보드 위치에 맞게 적당히 넣어 두었다. 그런데 우리는 그 위치를 모르니 일일이 눌러 가면서 외워야만 한다! 이것은 정말 끔찍한 일이므로 이곳에 '널리 쓰이는' 키보드 맵을 실어 둔다. VICE와는 다를 수 있지만 자주 쓰는 키들은 동일하다. 만약 특수한 입력법이 필요한 경우에는 따로 적도록 하겠다. return 옆의 등호(=)는, 백슬래시(\)키에 배정되어 있다. [[파일:C64-keyboard-layout.png]] ===[[Hello, World]]=== 늘 그렇듯, 맨 처음엔 Hello, World를 출력해보자. READY가 표시된 상태에서 다음을 입력하고 엔터를 누른다. <source lang="text"> PRINT"HELLO,WORLD!" </source> 그러면 HELLO,WORLD!가 출력된 후 READY가 다시 표시될 것이다. 잘 됐다면, 축하한다, 첫 C64 프로그램 작성에 성공했다! 비록 한 줄짜리 짧은 코드이지만 여기서도 여러 것들을 배울 수 있다. 먼저, 공백 문자를 전혀 쓰지 않았다는 데에 주목해 보자. 전부 띄어쓰기 없이 붙어 있다. 공백을 넣어도 제대로 작동되는 코드들도 있지만, 바로 에러를 뱉어내는 코드도 있다. 그러니 안 쓰는 쪽으로 통일하는 편이 낫다. 다른 이유로는 메모리 문제가 있다. 아무리 64KB의 메모리가 있더라도 우리가 직접 쓸 수 있는 메모리는 한정되어 있다. 그런데 우리가 적은 코드는 전부 메모리에 저장된다. 지금은 단 한 줄 짜리 코드였지만, 당신이 정말로 작정하고 프로그램을 짠다면 몇십 줄은 고사하고 몇백 줄을 짜게 될 것이다. 만약 그 코드가 메모리에 담기에는 너무 크다면... 앞쪽에 쓴 코드부터 지워지게 된다. 그렇다, 기껏 적은 프로그램이 없어져 버리는 것이다! 때문에 최대한 메모리 사용을 줄이려는 경향이 생겼고, 공백 문자는 1순위로 지워지는 신세가 됐다. 다음으로, READY에 대해 생각해 보자. 컴퓨터를 처음 켜면 READY가 표시되고, 명령을 다 실행해도 READY가 표시된다. 이 READY는 컴퓨터가 명령을 받을 준비가 되었다는 뜻이다. 이 말은, 당장 실행중인 프로그램이 없다는 말이다. 실행중인 프로그램이 없다면, 내가 방금 만든 한 줄짜리 프로그램은 어디로 가 버린 것일까? 영영 없어져 버린 것일까? 요약: 리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다. 취소 편집 도움말 (새 창에서 열림) | () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |} {{lang|}} · {{llang||}} · {{인용문|}} · {{인용문2|}} · {{유튜브|}} · {{다음팟|}} · {{니코|}} · {{토막글}} {{삭제|}} · {{특정판삭제|}}(이유를 적지 않을 경우 기각될 가능성이 높습니다. 반드시 이유를 적어주세요.) {{#expr:}} · {{#if:}} · {{#ifeq:}} · {{#iferror:}} · {{#ifexist:}} · {{#switch:}} · {{#time:}} · {{#timel:}} · {{#titleparts:}} __NOTOC__ · __FORCETOC__ · __TOC__ · {{PAGENAME}} · {{SITENAME}} · {{localurl:}} · {{fullurl:}} · {{ns:}} –(대시) ‘’(작은따옴표) “”(큰따옴표) ·(가운뎃점) …(말줄임표) ‽(물음느낌표) 〈〉(홑화살괄호) 《》(겹화살괄호) ± − × ÷ ≈ ≠ ∓ ≤ ≥ ∞ ¬ ¹ ² ³ ⁿ ¼ ½ ¾ § € £ ₩ ¥ ¢ † ‡ • ← → ↔ ‰ °C µ(마이크로) Å °(도) ′(분) ″(초) Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η Θ θ Ι ι Κ κ Λ λ Μ μ(뮤) Ν ν Ξ ξ Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ Φ φ Χ χ Ψ ψ Ω ω · Ά ά Έ έ Ή ή Ί ί Ό ό Ύ ύ Ώ ώ · Ϊ ϊ Ϋ ϋ · ΐ ΰ Æ æ Đ(D with stroke) đ Ð(eth) ð ı Ł ł Ø ø Œ œ ß Þ þ · Á á Ć ć É é Í í Ĺ ĺ Ḿ ḿ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź · À à È è Ì ì Ǹ ǹ Ò ò Ù ù · İ Ż ż ·  â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô Ŝ ŝ Û û · Ä ä Ë ë Ï ï Ö ö Ü ü Ÿ ÿ · ǘ ǜ ǚ ǖ · caron/háček: Ǎ ǎ Č č Ď ď Ě ě Ǐ ǐ Ľ ľ Ň ň Ǒ ǒ Ř ř Š š Ť ť Ǔ ǔ Ž ž · breve: Ă ă Ğ ğ Ŏ ŏ Ŭ ŭ · Ā ā Ē ē Ī ī Ō ō Ū ū · à ã Ñ ñ Õ õ · Å å Ů ů · Ą ą Ę ę · Ç ç Ş ş Ţ ţ · Ő ő Ű ű · Ș ș Ț ț 이 문서에서 사용한 틀: 틀:ㅊ (원본 보기) (준보호됨)틀:취소선 (원본 보기) (준보호됨)틀:키 (원본 보기) (준보호됨)