해외판 MSX에서 한글을 팍팍 쓰자... 버전 1.01 : 네이버 블로그

 
안녕하세요.
MSX를 사랑하는(?) plaire입니다.
.
국산MSX는 점점 더 구하기 어려운 세상이 돼가고 있습니다.. 그나마 구하기 쉬운 외산MSX를 구하면 되지만... 예전의 향수를 느끼기에는 조금 모자른 듯하기에...국산 MSX처럼 한글이 지원되었으면 하는 바램을 가지게 되었습니다.. 예전에 국산MSX2를 바이오스 수정해서 2+로 만들때 알았는데 SAS 2.0이라는 소프트웨어가 이미 제작되어 사용하고 있었더군요.. 하여 별 필요 없겠구나 생각했는데.. 그래도 국산MSX기기와 동일하게 동작하는 한글 시스템이 아니기에.. 있으면 좋겠다~~ 라고 생각되어 이 프로젝트를 시작하게 되었습니다..
물론 지금은 유물(?)이 되어버린 MSX에 누가 한글을 사용하기 위하여 쓸려는지는 모르겠습니다만.. 그래도 1년에 10分 정도라도 한글이 동작하는 시스템을 만져 보는 향수라도 느껴 보시라고.. (국산 머신이 있으면 더 할 나위 없겠지요..)
.
해당 프로그램은 카트리지로 제작할 수 있는 버전과 램에 상주시킬 수 있는 버전 2가지로 배포됩니다.
.
카트리지 버전 최소 사양
MSX1 RAM 16KB (8KB에서도 동작만합니다만 프로그램 몇백바이트 짜면 폭주할 껍니다..)
램상주 버전 최소 사양
MSX1 RAM 48KB (이런 메모리를 가지는 MSX는 없죠....)
** 베이직용 최대 프리 메모리에서 3,840Bytes 만큼 축소됩니다.
.
동작기능
MSX1 (유럽,남미,아랍,일본버전 동작)
screen 0,1에서 텍스트 모드 한글지원 (n바이트,조합형한글)
screen 2,3 그래픽모드에서 한글지원 (n바이트,조합형한글)
MSX2,2+,turboR (유럽,남미,아랍,일본버전 동작)
screen 0,1에서 텍스트 모드 한글지원 (n바이트,조합형한글)
screen 9에서 텍스트 모드 한글지원(조합형한글)
screen 2,3,4 그래픽모드에서 한글지원 (n바이트,조합형한글)
screen 5~7 그래픽모드에서 한글지원 (조합형한글)
MSX2+,turboR (설명안해도 2+모드는 다 되는거 아실테니..)
screen10~12 그래픽모드에서 한글지원 (조합형한글)
입니다. (간단하게 말해서 외산 MSX가 국산 MSX가 된다 라고 생각하시면 됩니다~~ 라고 생각되어 집니다.)
명령어 설명
call hanon : n바이트 한글 모아쓰기 실행
call hanoff : 모아쓰기 해재
set han 1,1 : 조합형 한글 모아쓰기 실행
set han 0,0 : 모아쓰기 해재
.
부팅시 모드
[DEL]키를 누르면 한글폰트 및 기능이 올라오지 않음 (손볼때가 있을 듯한 느낌입니다..)
.
사용법
카트리지 모드는 카트리지를 제작해 사용하거나 에뮬레이터에서 실행하면 됩니다.
램상주 모드는 bload "소프트이름",r 로 실행합니다.. (,r 정상 동작합니다.)
아랍어버전은 부팅시 CTRL키를 누르고 부팅해야 한글이 정상적으로 동작합니다. (MSX1은 일반 부팅가능)
.
--------------------------------------
!!주의사항 (램상주 버전)!!
1. MSX-DOS(모든 버전)로 부팅 후 BASIC으로 나온 후에 램상주 한글을 로딩하면 램상주 한글 파일의 크기가 너무 커서 DOS의 데이터 일부를 사용하게 됩니다. 이때 Syntax error를 낼 상황을 만들면 DOS의 영역 문제로 인하여 폭주하게 됩니다. 이는 베이직이 사용하는 위치에 DOS가 상주해서 나오는 문제로 해결방법은 아래와 같습니다.
-- 1) MSX-DOS 1.xx로 부팅
-- 2) A> BASIC <리턴>
-- 3) Ok 모드에서 bload "소프트이름",r
-- 4) Ok 모드에서 load" 라든지 call system명령어를 이용하여 다시 DOS모드로 가거나 프로그램을 로드함
-- 4-1) A> BASIC <리턴> 이후에는 폭주하지 않코 정상적으로 동작합니다.
-- ** load " 명령이 들어오면 MSX-DOS의 일부 영역을 다시 재정리하기 때문에 이후에는 폭주하지 않습니다.
-- 폭주하는 이유는 0xC000H번지 이후에 MSX-DOS영역 일부가 포함되어 있는데 bload시 도스영역을 밀어 버려서 그렇습니다..(한글램파일이 너무 커서 그렇습니다.)
2. MSX-DOS 2.xx 버전은 램상주한글이 사용하는 메모리 영역을 DOS의 데이터 버퍼로 사용하기 때문에(어디를 가던..다 쓰네요..) 램상주한글 사용 도중 다시 DOS모드로 들어가면 프로그램이 데이터 영역으로 사용되어 깨져 버립니다. 하여 베이직모드에서 램상주한글을 사용하고자 할 경우에는 다시 도스모드로 넘어가지 않는 조건하에서 사용하시기 바랍니다. (카트리지 버전을 사용하시면 해결됩니다..)
--------------------------------------
.
향후 업데이트 예정 내용
1. 옵션기능추가 (램상주버전은 Free Memory가 줄어들 가능성이 있음)
2. 폰트 변경 (할까말까 고민中학교~~)
3. 최적화 + 최적화
.
잡담 및 액션(?)
** 글 쓰다.. 버그 발견해서 벌써 1.01까지 올라갔습니다.. ㅡㅡ;;;; (내가 하는게 다 그렇지 머...... )
** 굳이 sas 2.0와의 차별점을 든다면 국산MSX와 동일하게 사용하면 된다는 점입니다... (프린터 같이 테스트 하기 어려운 쪽은 ..........^^;;;)
notion imagenotion image
램상주 버전에서는 iq2000에 있는 튜터라는 소프트웨어를 로딩한 후 행번호 10번을 수정합니다...
주의) 바이너리 부분은 로딩하지 마십시요.
notion imagenotion image
해당 커서가 있는 부분을 아래 스크린 샷처럼 지우고 리턴을 치면 됩니다.
** defusr=&hbf03:d=usr(0): <- 이 부분을 지우고 <리턴>을 누르면 저장됩니다.
notion imagenotion image
위 화면처럼 되게하면 OK입니다. 이제 실행하면 되지만 중간에 CTRL-STOP키를 누르면 break 어쩌고가 나오기 때문에 실행하기 전에 아래의 명령어를 치면 됩니다.
POKE &HFBB1, 1 <리턴> ** 동작) CTRL-STOP키가 동작 하지 않게 함
하면 튜터를 끝까지 보실 수 있습니다... (개인적으로 IQ2000 튜터가 제일 재밌습니다...^^;;;)
notion imagenotion image
MSX1 그래픽모드에서 한글 출력시 쓰래기 이미지가 출력되는 버그가 있었는데요.. 이제 깨끗하게 나옵니다. (현재 스크린샷은 n바이트한글 모드임)
notion imagenotion image
MSX1 sceen2에서 조합형 한글 출력 (흐흐..이 베이직코드 파일명이 sc22 입니다...)
notion imagenotion image
램상주 파일 로딩 방법 (쌈바의 나라~~~ 브라질 MSX(대우OEM) 화면입니다~~)
notion imagenotion image
로딩 후에는 부팅 표준화면으로 돌아갑니다. (Disk BASIC version 1.0 이 표시되지 않는 이유는 메인바이오스에 베이직 표시 출력 부분만 콜하기 때문입니다.. 디스크 베이직은 내부적으로는 정상적으로 동작합니다. DOS 1.x 2.x동일함)
notion imagenotion image
기본 검정색이 ...... 더 멋져 보이는건 ... 저만 그런건 아니죠???
공지) (헐...공지는 空地밖에 모르는디..)
** 프로그램을 다운로드 받아 타 사이트에 올리는 것은 자유입니다만 제작자 블로그 표기 부탁드립니다요~~~ (굽신굽신)
** 물론 수정은 하지 않으시겠지요??? 저에게 버그 리포링해주시면 제가 살아 있는한 업데이트 하니... 굳이 고생하실 이유는....
** 카트리지 공제 의견이 떴습니다... (헐.....오빠.. 손만 잡고 잔다메~~) 생각(만) 해보겠습니다...