원작 소스

1991~1996년에 QuickBasic 4.5로 짠 소스입니다.

옛 PC의 C:\FLAG와 C:\LAN\QB 폴더에 있던 소스 가운데 직접 짠 것만 골라 옮겼습니다.
파일 이름은 내용을 알 수 있게 새로 붙였고, 각 페이지에 원래 이름을 적었습니다.
원본은 CP949(BIO.BAS는 조합형) 텍스트이거나 QB 4.5 바이너리 저장본이었습니다.
여기 있는 .bas는 모두 UTF-8 텍스트입니다.

프로그램

웹 버전으로 다시 만든 프로그램의 원작입니다.

파일원래 이름연도내용
그림판
paint.bas
D2.BAS1992허큘리스(SCREEN 3) 그림판의 메뉴 부분. 메뉴 이동까지만 만든 미완성입니다.
바이오리듬
biorhythm.bas
BIO.BAS1993생년월일로 건강·감성·지성 주기를 텍스트 화면에 그리고, 달력처럼 인쇄합니다.
계산기
calculator.bas
CALCU2.BAS1993숫자를 한 줄씩 적어 내려가며 결과를 누적하는 전표식 계산기.
계산 연습 RANDOM
calc-add-sub.bas
RANDOM.BAS19940~99 두 수의 덧셈 또는 뺄셈 20문제.
계산 연습 MULTI
calc-multiply.bas
MULTI.BAS19940~99 × 0~9 곱셈 20문제.
청기백기
flag-game.bas
FF4.BAS1995음성 명령을 듣고 깃발 키를 누르는 게임. SVGAQB로 640×480 256색 그림을 띄우고 사운드블라스터로 음성을 냅니다.
퍼즐 그림 맞추기
puzzle-game.bas
PUZZLE.BAS1996장미 그림을 3×3으로 잘라 화살표 키로 맞추는 슬라이딩 퍼즐.
계산 연습 CP
calc-practice.bas
CP.BAS1996"Calculation Practice Trainer". 항 개수와 자릿수를 정해 덧셈·뺄셈 암산 문제를 냅니다.

청기백기와 퍼즐을 만들 때 쓴 도구와 시험 코드

1995~1996년 SVGAQB 라이브러리로 그림, 스프라이트, 소리를 다루려고 만든 것입니다.

파일원래 이름연도내용
PCX 읽기 모듈 (SVGAQB판)
pcx-svga.bas
PCX-SV.BAS1995PCX 그림 디코더. QB 내장 그래픽 명령을 SVGAQB 호출로 바꿔 256색 고해상도에 그립니다.
PCX 보기 (SVGAQB판)
pcx-svga-viewer.bas
PCXREAD2.BAS1995명령행으로 받은 256색 PCX 파일의 정보를 보여 주고 크기에 맞는 해상도로 띄웁니다.
깃발 내린 스프라이트 만들기
flag-sprite-down.bas
MDATA.BAS1995DOWNBN.GIF에서 청기·백기를 내린 그림을 잘라 bd.spr, wd.spr로 저장합니다.
깃발 올린 스프라이트 만들기
flag-sprite-up.bas
MDATAUP.BAS1995UPBN.GIF에서 청기·백기를 올린 그림을 잘라 bu.spr, wu.spr로 저장합니다.
깃발 스프라이트 확인
flag-sprite-check.bas
GREADS.BAS1995DOWNBN.GIF를 띄우고 그 위에 bu.spr를 찍어 스프라이트가 제대로 저장됐는지 봅니다.
사운드블라스터 음성 재생 시험
sb-voice-test.bas
VOICE.BAS1995사운드블라스터 포트를 직접 다뤄 DON2.WAV를 DMA로 재생합니다.
WAV 파일 길이 시험
wav-size-test.bas
OVERLF.BAS1995DON2.WAV를 RANDOM 파일로 열어 LOF 값을 정수 변수에 넣어 봅니다.
퍼즐 빈 칸 스프라이트 만들기
puzzle-blank-sprite.bas
MKPU.BAS1996board.gif의 왼쪽 위 88×122 영역을 잘라 board.spr로 저장합니다.
퍼즐 조각 좌표 계산
puzzle-piece-coords.bas
DAT.BAS19963×3 퍼즐 칸마다 왼쪽 위·오른쪽 아래 좌표를 찍어 봅니다.

작은 프로그램과 시험 코드

웹 버전은 없고 소스만 남깁니다.

파일원래 이름연도내용
data.msg 만들기
make-data-msg.bas
MAKEDATA.BAS19911부터 29까지를 쉼표로 이어 data.msg 파일에 씁니다.
암호 잠금
password-lock.bas
QU.BAS1991다섯 글자 암호를 맞힐 때까지 "Enter password."를 반복합니다.
타이틀 화면
title-screen.bas
MAIN.BAS1991허큘리스 화면에 "Begin !!"을 크게 키워 그리고 한 글자씩 안내문을 찍습니다.
격자 스프라이트 편집기
sprite-grid-editor.bas
GE.BAS199120×20 격자에서 점을 찍어 작은 그림을 만들고 GET 배열로 저장합니다.
허큘리스 화면 BSAVE 시험
hercules-bsave.bas
BSAVE.BAS1991허큘리스 그래픽 화면 메모리(B000:0000부터 32KB)를 파일로 저장합니다.
.pic 그림 불러오기
pic-loader.bas
READPIC.BAS1991"AH" 머리의 압축 .pic 그림을 풀어 허큘리스 화면 메모리에 바로 씁니다.
화면 반전 채우기
screen-fill-test.bas
DDD.BAS1991검은 글자·흰 바탕 색으로 바꾸고 빈 줄을 찍어 화면을 위로 밀어 올립니다.
마우스 시험
mouse-test.bas
MOUSETE.BAS1991허큘리스 화면에서 mouse SUB를 부르는 세 줄짜리 시험. SUB 본체는 남아 있지 않습니다.
텍스트 모드로 돌아가기
text-mode-switch.bas
TS.BAS1993그래픽 화면에서 멈춘 모니터를 SCREEN 0으로 돌려놓는 작은 유틸리티.
타일 지도 그리기
tile-map.bas
DE.BAS1993MAP 파일의 1을 20×20 벽돌 그림으로 바꿔 허큘리스 화면에 찍습니다.
한 줄 입력 SUB (Kinput)
line-input.bas
KINPUT.BAS1993INPUT 대신 쓰려고 만든 한 줄 편집 SUB. 보이는 폭보다 긴 글을 옆으로 밀며 고칠 수 있습니다.
텍스트 화면 저장과 복원
text-screen-save.bas
TSS.BAS1993텍스트 화면 메모리를 BSAVE로 저장했다가 화면을 지운 뒤 BLOAD로 되살립니다.
DOS 시계 (1/100초)
dos-time.bas
DOSINCLO.BAS1995DOS 인터럽트 21h 2Ch로 시각을 읽어 1/100초가 바뀔 때마다 찍습니다.
아날로그 시계
analog-clock.bas
CLOCK.BAS1995SCREEN 12에 색 점을 뿌리고 DRAW의 TA(회전) 명령으로 시침·분침·초침을 그립니다.
큰 글자 타자
big-letters.bas
S12ASC.BAS1995친 글자를 화면 위에 찍고 POINT로 읽어 상자 모양 점으로 크게 다시 그립니다.