1990년부터 작업을 시작하여 1993년에 작업을 종료했습니다. 처음에는 XT 컴퓨터로 흑백 모니터 환경에서 개발을 시작했고 286 컴퓨터로 업그레이드 하면서 모니터로 컬러로 바꾸면서 VGA 메모리 구조에서 개발을 진행했습니다.
OS는 DOS이고 DOS 그래픽 모드에서 한글, 이미지 출력은 직접 그래픽 카드 메모리를 액세스 했습니다. 그야말로 힘든 과정이였습니다. 그런데 당시의 컴퓨터는 FDD 5.25인치 2개로 부팅하는 환경이였습니다. C도 사용되지 않고 Fortran으로 전산기초 수업을 들었을 때며 저는 GW 베이직이나 Quick-Basic을 사용했었습니다. 그런데 속도가 너무 느려 프로그램이라고 하기도 어려울 정도 였는데 어셈블러로 작업한 결과는 그야말로 엄청난 속도를 보여주었습니다. 실행속도에 매료되어 결국 어셈블러 프로그램을 시작하게 되었습니다.
1. DOS 6.XX
사이트 참조 : https://en.wikipedia.org/wiki/MS-DOS
MS-DOS - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search Microsoft's discontinued operating system This article is about Microsoft DOS specifically. For compatible operating systems, see DOS. MS-DOS ( em-es-DOSS; acronym for Microsoft Disk O
en.wikipedia.org
2. 어셈블러
사이트 참조 : https://it-eldorado.tistory.com/23
[Chapter 7] Assembly Language - 컴파일러, 어셈블러
* [Chapter 6]은 컴퓨터 구조 개념과는 다소 거리가 먼 프로그래밍 방법론에 대해 설명하는 챕터이기 때문에 과감하게 생략하였다. 지금까지 우리는 ISA에 대해 공부했고, 그 규칙을 이해해서 기계
it-eldorado.tistory.com
3. 허큘리스 그래픽 카드
https://samwisethebrave.tistory.com/entry/windows-xp-dosbox-cvs-hercules
[도스박스] 도스게임을 초록색 허큘리스 화면으로 즐기기 * DOSBOX CVS *
윈도우XP에서 도스게임을 즐길 수 있게 해주는 도스박스.. 옛날 XT시절처럼 허큘리스 그래픽으로 즐겨볼 수는 없을까.. 라는 생각도 해보셨나요? Direct3D에 픽셀쉐이더를 이용할 수 있는 도스박스
samwisethebrave.tistory.com
4. GW BASIC
참조 사이트 : https://ko.wikipedia.org/wiki/GW_%EB%B2%A0%EC%9D%B4%EC%A7%81
GW 베이직 - 위키백과, 우리 모두의 백과사전
GW 베이직 위키백과, 우리 모두의 백과사전.
ko.wikipedia.org
https://ddolcat.tistory.com/625
추억의 언어 GW-BASIC : MS-DOS에 이어 오픈소스로 공개되다!!
옛날 생각에 국민학교 5학년 때 컴퓨터 학원을 다니면서 배웠던 GW-BASIC이 생각나서 검색을 해보았다. 지금은 초등학교라고 부르지만, 내가 학교 다닐때는 국민학교였다. 나도 이제 나이를 좀 먹
ddolcat.tistory.com
5. GW BASIC 허큘리스 그래픽 프로그램
참조 사이트 : https://smores.tistory.com/420
도스 허큘리스 모드에서의 GW-BASIC 그래픽 프로그래밍
고전 프로그램들을 가지고 놀다 보면 어느덧 옛 베이식 프로그래밍 시절의 추억이 다가온다. 본인 연배의 사람들의 IBM PC 호환기종과의 첫 만남은 보통 국산 청계천 복제품(또는 대기업 제품)에
smores.tistory.com
6. Quick Basic
참조 사이트 : https://en.wikipedia.org/wiki/QuickBASIC
QuickBASIC - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search IDE for the BASIC programming language Not to be confused with QBasic. Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC progr
en.wikipedia.org
7. 허큘리스 그래픽 카드
허큘레스 그래픽 카드 - 위키백과, 우리 모두의 백과사전
부가적인 프린터 단자를 갖춘 오리지널 허큘레스 그래픽 카드 (1984년). 길이 단위는 cm이다. 허큘레스 그래픽 카드(Hercules Graphics Card, HGC)는 허큘레스 컴퓨터 테크놀로지가 개발한 컴퓨터 그래픽
ko.wikipedia.org
7 .한글 오토마타
한글 오토마타 만들기
한글 오토마타에 대하여... PDA의 키보드를 만들어야 할 상황이 있어서 제작을 해보았다. UI는 따로 처리된 DLL에서 호출하여 사용하는 방식이고 키 코드를 넘겨 받아서 한글 조합을 하고 있다. 이
codepedia.tistory.com
8. 개발 프로그램 샘플 코드
9. 프로그램 실행 결과
a. 시작화면 : DOS 텍스트 모드에서 특수문자를 이용하여 비디오 대여 문구를 출력하고 가운데 부터 좌우로 갈라지는 효과를 연출하였습니다. 그 당시 MDir 같은 프로그램에서 화면 분리 기법이 멋있어서 구현해 보았습니다.

b. 그래픽 모드로 전환 후 지금 윈도우용 GUI의 Flash Scrren과 유사한 프로그램 정보 창을 출력합니다. 컬러 최종 버전 작성 시 문익환 목사님이 영면하셔서 추모하기 위해 문구를 추가했습니다.

c. 특정 시간이 지나면 화면전환을 위해 특정한 패턴을 그리면서 흐려지게 됩니다.

d. 프로그램 메인 윈도우가 실행됩니다. 가운데는 별도의 문자를 출력하기 위해 비워 두었습니다.

e. 윈도우 가운데 영역에 배경이 채워지면서 비디오 대여 글자가 출력되는 동시에 PC 스피커에 틱~틱 소리가 동시에 출력됩니다. 상단에는 날짜/요일/시간과 프로그램 제목이 출력되며, 그 아래 메뉴가 출력됩니다. 맨 아래는 프로그램 상태 메세지를 출력하는 창입니다.

f. "작성" 메뉴를 선택하면 하위 메뉴가 출력됩니다. 이 모든 이미지 출력과 한글출력은 직접 VGA 메모리에 점으로 이미지를 출력한 것입니다. 비디어 메모리를 직접 액세세스 한 것입니다. 물론 이미지를 그리기 전에 바탕 배경의 그림영역 크기만큼 메모리에 저장해야 합니다. 메뉴를 이동시킬 때 이 데이터를 이용하여 메뉴가 출력된 화면을 복구하게 됩니다.
좌/우 화살표 키를 누르면 하위 메뉴가 이동하면서 출력되고, 상/하 키를 누르면 하위 메뉴 안의 부메뉴가 위/아래로 이동하면서 선택됩니다.

g. 아래의 그림은 우측 화살표 키를 눌렀을 때 "작성" 하위 메뉴는 사라지고 "열람" 하위 메뉴가 출력됩니다. 어셈블러로 작성했기 때문에 출력 속도가 굉장히 빠릅니다.

h. 아래는 "수정" 메뉴를 선택한 출력화면 입니다.

i. 아래는 "도움말" 메뉴를 선택한 출력화면 입니다.

j. "작성"-"회원명부" 메뉴를 선택한 화면입니다. 회원 신상 명세서에 신규가입과 재 가입 메뉴 창이 출력됩니다.

k. "신규 가입" 메뉴를 선택하면 아래와 같이 신규가입 회원 정보 입력 화면이 출력됩니다. 한글 입력 오토마토도 직접 어셈블러 코드로 작성했습니다. 도스용 DB 프로그램의 경우 한글입력 램상주 프로그램을 사용하지만 저는 프로그램 내부에 한글입력 자체 기능을 구현 했습니다.

l. 회원정보를 입력합니다. 가입번호는 자동으로 입력됩니다. 그리고 비디오 대여 개수를 입력하면 회원 가입비가 계산되어 출력됩니다. "E"를 누르면 입력이 종료되고, "C"를 누르면 입력이 취소됩니다. ""R을 누르면 다시 입력할 수 있습니다.

m. 마우스도 사용할 수 있습니다. 마우스의 모양도 비디오 테이프 모양으로 변경되어 있습니다. 마우스를 이동하여 "입력완료" 버튼을 클릭하여 입력을 종료합니다.

n. 입력이 완료되면 비디오 대여 여부를 묻는 창이 출력됩니다. "예" 또는 "아니오" 버튼을 클릭하여 비디오 대여를 결정합니다.

o. 새롭게 회원 가입시 회원 자료가 없을 경우에는 상태 창에 새 화일 생성 여부를 묻는 문구가 출력됩니다. 여기서 "ENTER" 키를 누릅니다.

p.

q.
r.
s.