TL;DR

  • Thoreau BASIC은 GW-BASIC 스타일 문법을 유지하면서 64비트 메모리, 그래픽·네트워킹·오디오, 멀티코어 처리와 네이티브 x64 JIT 컴파일을 갖춘 BASIC 환경임.
  • 3.2는 파일 브라우저와 선택 메뉴, 변수 상태 저장·복원, 파일 체크섬과 텍스트 통계 명령을 제공함.
  • Windows 프로그램과 운영체제 없이 직접 부팅하는 x64 UEFI 환경에서 같은 BASIC 언어와 인터프리터·JIT를 실행함.
  • 파일 브라우저, 그래픽, 네트워킹, 사운드가 별도 프레임워크가 아닌 일반 BASIC 명령으로 제공됨.
  • MIDI·WAV·FLAC·Opus 재생과 GM/GS 웨이브테이블을 지원하며, 독립 실행형 Windows EXE와 부팅 가능한 EFI 애플리케이션으로 패키징 가능함.

3.2

  • 파일 브라우저와 메뉴가 일반 BASIC 명령으로 제공됨. GETFILES는 선택적 파일 마스크를 적용해 파일, 디렉터리, 상위 항목을 가져옴.
  • SELECTBOX는 문자열 배열을 키보드와 마우스로 조작하는 선택기로 표시하며, 여러 열과 선택 색상, 단일선 또는 이중선 상자 그리기를 지원함.
  • 파일 명령은 파일명의 원래 표기와 대소문자를 유지하며, 마스크는 대소문자를 구분함. 전체 경로는 추가 확장자를 포함해 최대 4,095바이트까지 가능하지만 개별 이름은 파일 시스템 제한을 따름.
  • STATEWRITE와 STATELOAD는 선택한 변수를 체크섬이 적용된 두 세대의 교대 저장 공간에 체크포인트로 기록하고 불러옴. FLUSH, FILECOMMIT, FILECOPY는 단계적 저장과 검증된 백업을 지원함.
  • CRC32는 바이트 문자열의 체크섬을 계산하고, TEXTSTATS는 문자열 배열 범위의 단어와 문자 수를 계산함.
  • SYSTEMINFO$는 CPU·펌웨어 정보, 사용 가능한 AVX2 또는 SSE2, PARFOR 용량, 보정된 TSC 카운터 속도, 디스플레이 백엔드와 빌드 정보를 보고함.
  • 목표를 좁힌 JIT 변경으로 부동소수점 INT 및 네이티브 복소수·쿼터니언·옥토니언 연산의 작업량이 감소함. RUN은 호스트 스택을 늘리지 않고 프로그램을 다시 시작하며, HELP의 범주 제목은 한 번만 표시됨.
  • Opus 웨이브테이블과 WAV·FLAC·Opus·MIDI 재생을 계속 이용할 수 있음. 사운드 뱅크는 재생 전에 PCM으로 확장되므로 음악 재생 중 압축 해제가 발생하지 않음.
  • 독립 실행형 EXE와 EFI 애플리케이션은 NOGM으로 사운드 뱅크를 제외할 수 있음. 전체 변경 사항과 문법은 설명서와 릴리스 노트에 수록됨.

Thoreau BASIC의 구성

  • Thoreau BASIC은 GW-BASIC 스타일 문법에서 출발하지만 1983년의 제약에 머물지 않음. 64비트 메모리, 24비트 그래픽, 스프라이트, 마우스 입력, TCP/IP와 HTTP, GM/GS 웨이브테이블, MIDI·WAV·FLAC·Opus 재생, 복소수·쿼터니언·옥토니언 값, 디버거, 프로파일러, 소스 도구, 멀티코어 PARFOR, 네이티브 x64 JIT 컴파일을 제공함.
  • 같은 BASIC 언어가 일반 Windows 프로그램으로 실행되거나 운영체제 없이 UEFI 펌웨어에서 직접 실행됨.
  • BASIC 프로그램은 독립 실행형 Windows EXE 또는 부팅 가능한 EFI 애플리케이션으로 패키징 가능함.

여전히 BASIC

  • CLS, PRINT, FOR 루프, NEXT, END, RUN으로 화면을 지우고 문자열과 숫자를 출력하는 BASIC 프로그램을 작성함.
  • SOUND PRELOAD, LOADMID, PLAYMID 명령으로 MIDI 음악을 불러와 재생함.
  • 그래픽, 네트워킹, 사운드가 별도 프레임워크가 아닌 일반 BASIC 명령으로 제공됨.

운영체제 없는 BASIC

  • UEFI 빌드는 x64 시스템에서 직접 부팅됨.
  • GOP 그래픽, 펌웨어 또는 원시 HID 키보드 입력, 대체 수단을 갖춘 마우스 지원을 이용함.
  • 네트워킹은 펌웨어 프로토콜 또는 Thoreau의 자체 SNP 기반 스택을 사용함.
  • 사용 가능한 시스템에서는 HDA/Azalia PCM 사운드를 사용함.
  • Windows 버전과 동일한 인터프리터·JIT 및 GM 웨이브테이블을 사용함.

Pixel Prose

  • Pixel Prose는 Thoreau BASIC 예제로 포함되며 독립 실행형 EXE 및 EFI 빌드로도 제공됨.
  • DOS, Commodore 64, Amstrad CPC용 원본 버전은 itch.io의 다른 레트로 프로젝트와 함께 제공됨.

프로젝트

  • 프로젝트 페이지와 다운로드는 itch.io에서 제공됨.

연락처

  • 이메일: info@thoreaubasic.com
  • 버그 보고, 호환성 관련 의견, 특이한 BASIC 사례를 환영함.