레이블이 _WAU인 게시물을 표시합니다. 모든 게시물 표시
레이블이 _WAU인 게시물을 표시합니다. 모든 게시물 표시

2024년 10월 20일 일요일

WAU 제작 #4 - GitHub 다운로드

MSX가 인터넷에 연결되면, 뭘 하면 도움이 될까요? ㅎ.ㅎ


만약 프로그램, 데이터 파일을 다운로드 받는 용도로 쓴다면, 어떤 방법이 좋을까요?

텔넷, FTP 정도가 머리에 떠오릅니다만...

요즘엔 이런 서버를 운영하는 곳도 드물고, 실제로 접속해서 쓰는 사람도 거의 없네요.


그래서 이것 저것 생각하다보니,

요즘은 GitHub를 S/W 개발용이 아닌 파일 저장소로 쓰는 분들이 꽤 있더라구요.

GitHub에 널린(?) MSX 자료를 받는 용도로 써본다면 좀 의미가 있겠죠?


으흠... GitHub용 간이 브라우저는 나중에 생각해보기로 하구요.

이미 알고 있는 GitHub repo에서 파일을 받는 걸 해봅시다!


근데, 보통 파일을 다운받을 수 있는 URL이 키보드를 타이핑해서 입력가능한 수준이 아닙니다.

URL을 찾는 것도 S/W의 도움이 없으면 불가능한데, 일단 본인의 repo라면 대충 기억하실테니 어떻게 한번 시도해보아요.


WAU.COM 프로그램에서 /G 옵션으로 파일을 GET 하기위한 URL을 입력합니다.

아래처럼 저의 git에서 파일을 하나 골라서, 명령어를 BAT 파일로 만들었습니다.



실행하면, 아래처럼 현재 디렉토리에 파일을 다운받는 것을 볼 수 있어요.



이번엔 repo에 있는 디렉토리, 파일 목록을 읽어서 다운로드 해주는 프로그램을 만들어봅니다.

git은 아래처럼 구성해서, 제가 만든 프로그램 몇개를 올려놨습니다.

https://github.com/sharksym/MSX-APP



WAU.COM에서 /A 명령을 주면, MSX-APP repo의 디렉토리 목록을 보여줍니다.




다운 받을 앱의 이름(디렉토리)을 WAU.COM의 /A:옵션으로 실행합니다.

아래는 WAU /A:PACV 를 실행한 모습입니다.




이젠 저의 프로그램들 또는 다른 분들의 자료를 받을 때, MSX 혼자만의 힘으로 가능하겠지요? ㅎ.ㅎ


그럼, 실제 동작하는 모습을 영상으로 구경하시죠!



그럼, 다음편에서 이어집니다...


2024년 10월 18일 금요일

WAU 제작 #3 - Audio

WAU의 Audio 기능은 VS1003B 칩으로 동작합니다.

준소프트님의 예전 MPX R1.0 카트리지에 들어간 오디오 디코더와 같습니다.

MP3, WMA 디코딩이 가능하구요, WAV도 다이렉트로 출력가능합니다.

(있으나 마나 수준의 MIDI 재생도 들어있..ㅋ)


MPX R1.0 카트리지와 오디오 칩은 동일합니다만,

레지스터가 메모리맵 I/O가 아닌 포트 I/O만 사용합니다.

바꿔말하면 S/W가 서로 호환이 되지않습니다.


외부 오디오 단자는 2개가 있습니다.

카트리지 전면에 가까운 단자가 출력이구요. 후면에 가까운 단자는 입력입니다.

외부에서 입력된 신호는 패시브 믹서로 WAU의 오디오와 믹스되어 출력됩니다.



WAU는 앞으로 확장슬롯에 늘 꽂혀 있을테니, 믹서를 하나 넣는 것도 괜찮아보였어요.

저는 NeoTron의 출력을 WAU의 오디오 입력으로 넣었습니다.

요걸로 주렁주렁 달린 A-MPS 한개를 떼어냈네요. 흐흐...

아래는 확장슬롯에 꽂힌 카트리지의 모습입니다. (레이블 없는 까만놈이 WAU에요)




그 외 기본적인 오디오 기능은 MPX R1.0 때와 비슷합니다.

물론 제가 만든 S/W만 WAU를 지원하겠지만요 ㅎ.ㅎ


M 파일 매니저의 #MPXP 명령으로 MP3, WMA, MIDI 파일의 재생이 가능하구요.

스펙트럼 애널라이저 펌웨어를 로딩해서 PAC-V(또는 XII-V)의 비주얼라이저 구동도 가능해요.

이미 다 아시는 기능이니, 따로 사진을 찍을 필요는 없을 것 같군요. 넘어갑니다요~



이제, WAU만으로 할 수 있는 활용법이 나갑니다.


WAU에는 Wi-Fi가 있으니, MP3 스트리밍을 해봐야겠죠?

로컬 디스크에 있는 MP3 파일이 아닌, 이터넷으로 데이터를 받으려면 스트리밍을 해주는 URL을 입력해야하는데요.

어떻게 하면 좋을까요?

주소를 사용자가 직접 타이핑하거나, 별도의 프로그램으로 URL 리스트를 관리해주는 방법도 있고 뭐, 그렇네요.


참고로, M 파일매니저의 음악 재생 방식은, 폴더(디렉토리) 플레이어류와 같은 방식입니다.

현재 내가 열어놓은 디렉토리에서 원하는 파일을 주르륵 골라서 재생시키는 거죠.


혹시 20세기 WinAmp 시절부터 내려오는 그 전설의 PLS 파일을 아시나요? ㅎ.ㅎ

원래 목적은 자기가 좋아하는 음악들을 분류해서 여러개의 리스트(*.PLS)를 만들어서 쓰는 건데요.

인터넷 라디오(오디오 스트리밍) 용 URL도 쓸 수 있습니다.

아마 예전에 한번씩 써보셨을 거에요.


아래는 PLS 파일의 샘플입니다.

[playlist]

File1=http://radio.streemlion.com:1560/stream

Title1=Greatest Hits of the 80s [320kbps]

NumberOfEntries=1

Version=2


M 파일매니저에서는 PLS의 항목에서 1번 링크(File1)만 사용합니다.

그러니까 PLS 파일과 URL 주소가 1:1로 대응된다고 보시면 되겠습니다.


여기저기서 모은 스트리밍 주소들을 각각의 PLS로 만들고,

제 윈도 PC에서 구동한 icecast의 주소도 만들어봤습니다.


만들어진 PLS 파일들을 M 파일매니저에서 실행하면,

 WAU의 WiFi + MP3 디코더를 이용해서 음악을 듣게 되겠습니다요~ ㅎ.ㅎ/


그럼, 동작 영상으로 보시죠~





그럼, 다음편에서 이어집니다...


2024년 10월 16일 수요일

WAU 제작 #2 - WiFi 모듈 설정

WAU에 들어간 WiFi 모듈은 ESP-12F입니다.

ESP8266 칩과 4MB의 플래쉬롬이 들어있습니다. 현재 펌웨어는 2MB 사이즈로 되어있어요.


WiFi를 사용할 때는 아래의 S/W 흐름이 발생합니다.

> WAU 전용 S/W(WAU.COM) -> WAU BIOS -> ESP-12F F/W

> 일반 DOS 및 BASIC S/W -> WAU DiskROM -> ESP-12F F/W


WiFi를 쓰는 거니까, 당근 가장 중요한 건 ESP-12F 펌웨어겠죠? ㅎ.ㅎ

제조사의 펌웨어(ESP-AT 코드)에 사용자 코드를 추가하는 방식으로 구현됩니다.


WAU 카트리지를 처음 시작하게 되면 이런 순서로 WiFi 모듈 셋업을 하게 되겠습니다.


1. 펌웨어 다운로드

   -> PC와 USB 케이블을 연결 후 진행


2. 새로운 펌웨어를 구동 후 기본적인 설정(UART baudrate 변경, STATION 모드 설정 등)

   -> WAU.COM 툴에서 자동으로 해줘요


3. WiFi AP를 검색 후 접속

   -> UI는 DOS의 텍스트 모드니까 열심히 키보드를 눌러주시면 되겠네요.


4. Time zone 설정

   -> 대부분 한국에 계시니까, 기본 설정(UTC+09:00)으로 가면 되겠습니다.

      완료되면 SNTP 서버에서 받은 시각을 표시해줍니다.


그럼, 저의 GT에서 초기 설정하는 모습을 영상으로 구경하시죠~



그럼, 다음편에서 이어집니다...


2024년 10월 14일 월요일

WAU 제작 #1 - 여러가지 생각

아래는 저의 확장슬롯 SLT-X에 꽂힌 기기들의 모습입니다.



슬롯은 8개지만, MoonSound 아래엔 MoonBase가 있으니 9개의 카트리지가 꽂혀있습니다.

그리고, 본체 슬롯(SLOT 0-1 개조)에는 PAC-V가 있죠. 총 10개! ㅎ.ㅎ


이젠 다른 기기를 추가하려면 기존 기기를 뽑아야(?) 하는 상황이 되었네요.

기기 활용도를 생각해보면, NeoTron이 퇴출 1순위입니만...

NeoTron은 사운드 연결 때문에 한번 빼놓으면 다시 세팅하는 게 귀찮으니, 아마 서랍행이 되면 다시는 못 볼 운명??

일단 이건 두고 다른 방법을 고민해봅니다요~


가장 오래된 기기 2개를 봅시다.

2010년 초에 만들었던 RS-232C와 2010년 중반에 출시된 준소프트님의 MPX R1.1가 있습니다.

둘다 제게는 필수 기기인데요. 요걸 하나로 합쳐보면 어떨까요?

MoonBase처럼 합체하는 건 아니구요. 새로운 카트리지를 만드는거죠!


근데 MP3 Audio와 RS-232C의 만남?!

두 기능이 그닥 연관성이 없다보니, '이 조합은 혼자만 써야할까?' 그런 생각이 들었습니다.

일단 슬롯 여유가 급한 문제는 아니니까, 생각은 여기에서 멈춥니다.

.

.

.

2022년 어느 봄날, 남들 다 써봤다는 WiFi 모듈이나 한번 써볼까? 생각이 들더라구요.

ESP8266 칩이 들어간 소형 모듈인데요.

주로 웹서버를 구동해서 IoT 연결로 활용하거나, 그냥 TCP 연결로 간단한 작업하는 용도로 쓰이는데요.

일단 모듈을 2개 사서 어떻게 조합하면 좋을지 생각해봅니다.

그나마 오디오 스트리밍을 받아서 재생할 수 있으니, MP3 Audio와 WiFi의 활용처 하나는 생기는 셈이네요.


하지만... 그 외에는 WiFi를 연결해서 해볼만한 아이디어가 떠오르질 않는군요.

MSX에서 이더넷 카트리지가 나온지 20년은 되었습니다만, 거의 활용안되는 이유이기도 합니다만.

인터넷에서 파일을 주고 받거나 텔넷을 구동하는 것 정도밖에는 Z80으로 할만한 게 없습니다.

이건 MSX 뿐만 아니라, 다른 8비트 컴퓨터도 비슷한 문제겠네요. 아마 XT도 그럴걸요? ㅋㅋ


'텔넷, FTP, 홈페이지의 파일을 전송만 가능해도 재밌을 것 같은데요?'라고 하실 분도 계시겠지만,

실제로 해보면 한두번은 재미겠지만, 바로 서랍행(!)입니다요~

이미 다들 그런 생각으로 기기를 만들다 스쳐간 20년...ㅎ.ㅎ


텔넷에서 한글 지원을 얘기하신 분도 계셨는데요.

MSX에서 이걸로 활용하던 때는 90년대였죠.

개인적으로 VT 하이텔 파라동 시절에 MSX로 접속 못해봤던 게 참 아쉬웠는데 말이에요.

더 안타까운 사실은,

제가 아이큐2000 이후로 다시 MSX 실기를 잡은게 2003년에 GT를 구하면서 부터였는데,

그 때부터 하이텔이 웹서비스로 전환되면서 사람들 다 떠나고, 파라동에도 암흑기가 온 시절이었습니다요.

실기로 뭔가 하려니, 이젠 혼자가 되버린 상황~ ㅎ.ㅎ;


얘기가 삼천포로 빠졌군요.


암튼 이런저런 생각만 하다가 2년이 또 흘러갑니다.

.

.

.

때는 2024년 봄, 갑자기 아이디어가 떠오릅니다!


제가 쓰는 MSX 환경에서 M 파일매니저의 활용이 굉장히 많은 부분을 차지하고 있는데요.

MSX에서 웹브라우저를 만드는 건 불가능하겠지만, M 파일매니저의 파일 브라우징만으로 네트웍을 활용할 수 있다면?

자세한 내용은 나중에 얘기하기로 하구요 ㅎ.ㅎ



다시 기기의 기능 조합으로 돌아옵니다.

지난 십여년간 RS-232C 카트리지를 유용하게 썼지만,

대부분은 제 작업용 데스크탑 PC와 연결해서 파일전송(PC to MSX)에 활용되었습니다.

사실 PC에 연결하는거라면 RS-232C 인터페이스가 편하지는 않거든요. 요즘 PC, 노트북은 9핀 포트가 없기도 하구요.

대신 USB-UART 칩을 이용해서, PC와 USB-C 케이블로 연결하기로 합니다.


한때는 TV의 디버깅 포트(RS-232C)에 물려서 재밌는 짓도 했었는데, 이젠 모두 추억으로~

https://sharksym.blogspot.com/2010/03/paramsxlinux-rs-232c.html



새로운 카트리지에 들어가는 기본 기능은...

'Wi-Fi + MP3 Audio + USB-UART' 입니다.


각 기능의 앞 글자를 모아서, WAU라는 이름의 카트리지가 되었습니다! 와우~


아래는 지난 여름에 만든 WAU 최종 버전의 모습입니다. 요게 아마 3번째 리비전일거에요 ㅎ.ㅎ



보드의 좌상단에는 오디오 출력 및 입력 단자가 있구요.

오디오 단자 옆에는 VS1003B MP3/WMA 디코더,

상단 중앙에는 ESP-12F (ESP8266) Wi-Fi 모듈,

우상단에는 USB-UART (CP2102) 모듈이 들어갑니다.

FlashROM 8MB에는 기본적인 BIOS 외, I/O 포트로 도움받을 수 있는 계산 테이블 또는 폰트롬 등의 테이블이 들어갑니다.

(여러가지 동작 모드를 넣다보니 문서로 정리하는 것도 꽤 귀찮았다는 후문이...ㅋ)


참고로 CP2102 칩은 최대 Baudrate가 921600 BPS까지 지원하는데요.

CPLD로 구현된 UART도 921600 BPS, Wi-Fi 모듈 컨트롤도 921600 BPS가 가능합니다.

보드 한장으로 모아놓으니 S/W 개발할 때도 편하고 좋네요.

특히 Wi-Fi 모듈에서 응답으로 출력되는 데이터를 MSX-UART와 USB-UART로 동시 출력하면,

MSX 동작 상황을 PC에서도 실시간 모니터링이 되거든요 ㅎ.ㅎ


그럼, 다음편에서 이어집니다...