새로나온 소프트웨어
- 출처
- 컴퓨터학습
- 잡지
- 컴퓨터학습1985년 10월 (제24호)
- 페이지
- 106p
- 카테고리
- CS 뉴스 코너
- 비고
[동향 소식 p.106–107] SUPER BASIC
SUPER BASICp.106–107
SUPER BASIC 개요
SUPRE BASIC은 MSX의 편리한 기능중의 하나인 확장문을 이용한 일종의 베이직 인터프리터로써, 기존 MSX-BASIC에 20개의 명령을 첨가시켰으며, USER AREA(8000H~F27FH) 영역을 전혀 사용하지 않기 때문에 유저는 유저 AREA를 전부 이용할 수 있다. SUPER BASIC명령은 기존의 MSX-BASIC명령과 같으므로 정해진 명령으로 간단하게 자신의 프로그램에 이용하여 손쉽게 어프리케이션 프로그램을 짤 수 있다.
SUPER BASIC의 명령중에는 프로텍트에 대한 것이 있으므로 초보자들도 손쉽게 자신의 프로그램에 프로텍트를 걸어서 소프트웨어를 보호할 수 있다. 또 프로그램이 프로그램을 만드는 유기적인 프로그램이 가능하도록 하였으며, 다량의 데이터 처리에 있어 항상 고심되어 왔던 SORT를 하나의 명령어로 처리하도록하여 BASIC SORT프로그램으로 SORT하는데 걸리는 시간과, SORT프로그램을 내장시킴으로써, 프로그램 메모리 영역을 절약하게 하였다. SORT는 MSX의 수치형인 단정도, 배정도, 정수형뿐 아니라 음수, 양수가 모두 처리 가능하다.
또한, HELP명령어가 있어 SUPER BASIC을 유저가사용하는데 매뉴얼 없이도 불편함이 없도록 각 명령어에 대한 설명도 해놓았다. 이외에도 하드카피(Hard Copy) 명령 등 많은 유용한 명령들이 있다.
CALL문 제작법
SUPER BASIC은 확장 BASIC으로 CALL문을 사용한다.
그러므로 SUPER BASIC명령을 설명하기 전에 우선 간단히 CALL문 작성방법을 소개 본다. 알아
MSX는 ROM CHECK를 할때 모든 슬롯의 페이지과 페이지의 첫머리에 있는 ID area를 슬롯 번호가 작은순으로 조사한다.
ROM 카트리지의 ID Area는 다음 형식으로 써 넣는다.
여기에 Statement(+04, 05H)에 쓰여있는 번지가 USER가 CALL문을 사용 하였을 경우 JUMP하여 실행하는 곳이다.
그러므로 USER가 CALL문을 사용했을 때 처리해 주고 싶다면 Statement 자리에 처리할 프로그램이 있는 번지를 써 주면 된다.
이제는 USER가 CALL문을 사용했을때 사용한 name을 어떻게 비교하는가 하는 것이 문제이다.
이 문제는 다음과 같이 처리할 수 있다. USER가 CALL문을 사용하면 CALL 다음에 쓴 name들은 WORK-AREA FD89H번지부터 차례로 저장되고 마지막에 00가 저장되게 된다.
그러므로 USER는 FD89H에 들어가 있는 name이 사용하고자 하는 CALL문 name인지 비교하면 된다.
예) CALL DSORT 'D' 'S' 'O' 'R' 'T' 0 0 FD89H FD8AH
SUPER BASIC Command와 개략적인 설명
SUPER BASIC에는 다음과 같은 20개의 추가 Command가 있다.
A) CALL HELP: 이 Command는 USER가 좀더 SUPER BASIC을 손쉽게 사용할 수 있도록 하기위한 것으로 SUPER BASIC의 각 명령어에 대한 설명을 담고 있다.
B) CALL ASORT(배열변수 TYPE): 해당 배열변수의 값을 작은수에서 큰수 순으로 SORT한다. 배정도, 단정도, 정수형 모두 처리 가능하다.
CC) CALL DSORT(배열변수 TYPE): 해당 배열변수의 값을 큰수에서 작은수 순으로 SORT한다.
D) CALL MAX(배열변수 TYPE): 해당 배열변수 값중 가장 큰값을 그 배열변수 0방에 저장된다. 한
E) CALL DATA: INPUT DD$로 받아들인 값을program내의 DATA문으로 만들어준다.
F) CALL PRINT: program내의 모든 LPRINT를 PRINT로 바꿔준다.
G) CALL LPRINT: program내의 모든 PRINT를 LPRINT로 바꿔준다.
H) CALL SVAR: 프로그램 실행중에 사용된 모든 단순변수를 화면에 표시해 준다.
I) CALL LSVAR: 프로그램 실행중에 사용된 모든 단순변수를 프린터로 프린터해준다.
J) CALL TCOPY: TEXT SCREEN COPY명령으로 SCREEN 0화면을 PRINTER로PRINT한다.
K) CALL HCOPY 1: SCREEN 2 화면 COPY 명령으로 화면의 그림을 1배크기로 PRINTER로 PRINT해 준다.
L) CALL HCOPY 2: SCREEN 2 화면의 그림을 2배 크기로 PRINTER로 PRINT해준다.
M) CALL PIRATE: ON STOP GOSUB에 의한 STOP키이금지를 해체시킨다.
N) CALL SETTIME(AM or PM 시 분 초: 화면에 SETTIME으로 SET한 시간을 표시해 주고 이 명령을 해제 시키지 않고 전원이 공급되는한 시간이 화면에 표시된다.
O) CALL TIMEOFF: CALL SETTIME으로 SET한 시간을 해제시킨다.
P) CALL REVIVE: USER가 실수로 지워버린 프로그램, 예를 들어 NEW Command로지워버린 프로그램을 회복시키고 싶을 때 이 명령을 사용해서 다시 프로그램을 회복시킬 수 있다.
Q) CALL UNLIST ALL: LIST를 화면에 표시되지 않게한다. 그러나 수행에는 아무 이상이 없게된다.
R) CALL LIST: CALL UNLIST ALL로 감춘 프로그램을 화면에 다시 표시되게 한다.
S) CALL UNLIST 행번호: 지정한 행번호만을 감춘다. 감춘 후에 그 행번호로 프로그램을 삽입하면 감춘 프로그램은 지워지지 않고 프로그램만 삽입된다.
T) CALL AUTORUN: CASSETTE Version에서 자동실행을 위한 것으로 CALL AUTORUN을 시킨후 프로그램을 BSAVE 시키게 되면 프로그램이 모두 LOAD되고 난후 자동실행된다.