베이직 모드

BASICODE
BASICODE의 "Esperanto for computers"는 동독 출판물 라디오 fernsehen electronik에서 주장합니다.

BASICODE는 BASIC 프로그래밍 언어를 위한 통일된 표준을 만들기 위한 컴퓨터 프로젝트입니다.베이직은 많은 인기 있는 가정용 컴퓨터에서 사용할 수 있었지만, 대부분 서로 호환되지 않는 수많은 변형들이 있었다.이 프로젝트는 네덜란드 방송사 NOS의 라디오 프로그램인 Hobyscoop에 의해 1980년에 시작되었습니다.

언어 구현은 BASICODE 언어 표준에 정의된 텍스트 및 오디오에 대한 서브루틴 호출을 실행하는 아키텍처별 유틸리티 애플리케이션으로, 호스트 컴퓨터 시스템의 능력에 따라 조정되었습니다.배스코더라고 불리는 이러한 응용 프로그램은 [1]1980년대에 저장 매체로 정기적으로 사용되던 콤팩트 카세트의 데이터 형식을 정의함으로써 서로 다른 컴퓨터 플랫폼 간에 데이터와 프로그램을 공유할 수 있게 했습니다.카세트에 저장된 BASICODE 프로그램은 언어를 지원하는 모든 컴퓨터에서 로드하여 실행할 수 있습니다.BASICODE는 그 때문에,[2] 「컴퓨터의 에스페란토」라고 불리고 있었습니다.

베이직 모드

1980년대 초반의 상황

코모도어 64
아타리 800 XL

1970년대 후반부터 1980년대 후반까지 8비트 프로세서를 기반으로 한 가정용 컴퓨터는 매우 인기가 있었다.미국에서 가장 잘 알려진 모델 중 일부는 탠디TRS-80, PET 2001, VIC-20, C64, C128 및 코모도어사Plus/4, Atari 400/800(XL/XE)이며, 유럽에는 싱클레어 리서치 컴퓨터(Z81,80Z)도 있었다.독일 민주 공화국에서 매우 인기가 있다.이 컴퓨터들은 모두 MOS 테크놀로지 6502 또는 Zilog Z80 또는 그 변형 CPU를 탑재하고 있었다.대부분은 최소 16킬로바이트RAM과 함께 공급(또는 업그레이드 가능)되었지만 대부분은 훨씬 더 많은 RAM과 함께 공급되었습니다.대부분은 카세트 드라이브용 커넥터를 제공하거나 데이터 스토리지용 커넥터와 일반적으로 ROM에 저장되는 BASIC 인터프리터를 내장하고 있습니다.프로그래밍 초보자를 염두에 두고 설계된 BASIC의 평탄한 학습 곡선과 모든 컴퓨터에서 언어를 즉시 사용할 수 있게 되면서 많은 사용자들이 자신의 프로그램을 작성하고 공유하게 되었습니다.

문제는 다양한 기본 사투리가 종종 일부 지역에서 호환되지 않기 때문에 서로 다른 제조사의 컴퓨터 간에 프로그램과 데이터를 공유하는 것이 어렵다는 것입니다.많은 기업이 같은 결과(화면 클리어, 픽셀 그리기, 사운드 재생 등)를 얻기 위해 서로 다른 BASIC 명령어를 사용했습니다.즉, C64용으로 작성된 BASIC 프로그램은 수정 없이 Atari XL 상에서 동작하지 않을 가능성이 높으며, 그 반대도 마찬가지입니다.또 다른 어려움은 이들 컴퓨터가 비슷하지만 화면 해상도, 사용 가능한 색상 팔레트 또는 오디오 기능 등 주요 하드웨어 측면에서 여전히 차이가 있다는 점입니다.마지막으로 카세트에 데이터를 저장하는 데 사용되는 데이터 형식도 호환되지 않았습니다.

제1의 기준

싱클레어 ZX 스펙트럼

1979년 네덜란드 방송사 NOS는 라디오로 컴퓨터 프로그램을 전송하기 시작했다.프로그램과 데이터가 소형 카세트에 오디오로 저장되었기 때문에, 이러한 방송을 테이프에 녹화하고 나중에 컴퓨터에 로드할 수 있었다.하지만 앞서 언급한 문제들 때문에, 이 프로그램은 또한 다양한 인기 있는 컴퓨터에 맞게 수정되어 여러 번 방송되어야만 했다.콤팩트 카세트는 현재의 저장 매체에 비해 데이터 밀도가 매우 낮기 때문에 프로그램 녹화에 시간이 오래 걸리고 프로그램 한 편당 방송할 수 있는 프로그램 수도 한정되어 있습니다.그래서 같은 프로그램의 다른 버전들을 추가로 방송하는 것은 [1]큰 불편이었다.

1982년 NOS의 경영진은 통합 데이터 형식을 개발하기로 결정했습니다.각 컴퓨터 모델에 고유한 응용 프로그램인 Bascoder는 테이프에서 프로그램과 데이터의 호출 및 저장을 통합 형식으로 관리했습니다.바스코더는 NOS에서도 방송되었지만 NOS에서 카세트로 구입하여 친구나 지인들과 공유할 수 있었다.이 포맷은 간섭으로부터 매우 잘 보호되어 많은 인기 있는 가정용 컴퓨터 시스템에서 읽고 쓸 수 있었습니다.포맷의 견고성은 또한 중파 무선을 통한 방송을 가능하게 했고, 이는 범위를 증가시켰고 결과적으로 잠재적인 사용자 수를 증가시켰다.예를 들어, 네덜란드 라디오 방송국 힐버섬이 방송하는 데이터는 독일 민주 공화국의 대부분 지역에서 수신될 수 있다.

베이직 모드 2

ZX81
애플 II

이 표준은 앞서 언급한 문제 중 하나인 호환되지 않는 데이터 형식을 해결했습니다.그러나 프로그램은 여전히 각 컴퓨터의 기본 방언과 하드웨어 기능에 맞게 조정되어야 했습니다.모든 방언에서 공통 명령어만 사용하도록 프로그램을 제한하는 것은 기능 면에서 큰 제약을 의미했습니다.예를 들어, 키보드나 화면상의 문자 출력에 의한 데이터 입력의 기능을 제한하는 것과 같은 것입니다.이러한 이유로 1983년에 향상된 표준 BASICODE 2가 만들어졌다.[1]이 표준을 사용하는 바코더는 테이프에 데이터를 입력 및 출력하는 루틴만 포함하고 있지 않습니다.약 50 BAS 세트 외에모든 BASIC 방언에 공통되는 IC 명령어, 함수 및 연산자, BASICODE 2의 언어 표준은 지원되는 모든 컴퓨터에서 동일한 기능을 에뮬레이트하는 서브루틴 라이브러리를 정의했습니다.

이를 위해 1000 미만의 모든 프로그램 행은 Bascoder용으로 예약되었으며 BASICODE 프로그램은 1000번 행에서만 시작할 수 있습니다.1000 이하의 행에 있는 Bascoder 서브루틴은 GOSUB [1]명령으로 호출되었습니다.필요한 인수가 Bascoder에서 사용하도록 예약된 특별한 사전 정의된 변수를 사용하여 Bascoder에 전달되었습니다.이 표준에는 일부 컴퓨터 모델의 제한으로 인해 필요한 많은 추가 규칙이 포함되어 있습니다.예를 들어 ZX-81에서는 코드 행에 BASIC 명령어가1개밖에 포함되어 있지 않습니다.이것은 다른 컴퓨터가 거의 공유하지 않는 동작입니다.KC 시리즈 컴퓨터에서는 코드 행이 60자를 초과할 수 없습니다.Bascoder가 BASICODE 프로그램 자체와 동일한 컴퓨터 고유의 BASIC 인터프리터에 의해 해석되었기 때문에 이러한 제한은 플랫폼의 독립성을 보장하기 위해 모든 BASICODE 프로그램에 적용되어야 했다.

따라서 배스코더는 일반 프로그램처럼 다양한 컴퓨터에 로딩되어 실행 시 공통 표준 및 카세트 I/O에 대한 추가 루틴을 제공합니다.BASICODE로 작성된 프로그램은 Bascoder가 로드되고 시작된 후에만 사용할 수 있었습니다.그러나 일부 시스템에서는 BASICODE 프로그램을 Bascoder의 루틴과 병합하여 기본 데이터 형식으로 저장할 수 있습니다.결과적으로 만들어진 프로그램은 더 이상 플랫폼에 의존하지 않았지만, 대부분의 네이티브 포맷의 높은 데이터 밀도로 인해 BASICODE 포맷의 동일한 프로그램보다 훨씬 빠르게 로드될 수 있었습니다.또한 프로그램을 실행하기 위해 전체 Bascoder를 로드할 필요가 없었기 때문에 실행 시 더 많은 RAM을 사용할 수 있었습니다.

에는 BASICODE은 Exidy 마법사 2Bascoders, 컬러 지니, 코모 도어 PET, VIC-20, C64, 아미가로 싱클레어는 ZX81, ZX스펙트럼, 죽음이다, 에이콘 아톰, BBC마이크로 전자, 탠디 라디오, MSX, Oric 아트모스, P2000T, 그런디 NewBrain, 암스 트래드 CPC, IBMPC애플 2, 텍사스 인스트루먼트 TI-99/4A, Mattel은 물병 자리, 다른 이들은.이후 언어 표준 및 데이터 형식 및 관련 증거가 많이 있는 열려 있던 또한 고급 사용자 선택들의 체제를 위한 그들의 Bascoder 쓸 수 있었던 것이다.그 BASICODE 2표준 플랫폼 독립적인 프로그램의 고급 기능과 함께 개발 가능한(시험 시간에)을 만들었다.게다가, BASICODE고 공유할 라디오를 통해서, 소위"저널"의 형태로 컴퓨터 현장 소식처럼 정보를 전달하는 사용되었다.마찬가지로, BASICODE 코딩 자습서와 다른 문서도 이런 식으로 하는 전염될 수 있을 것.

BASICODE 3/3

1986년에는, 새로운 BASICODE 3표준 개발되었다.[1]단순한 흑백 그래픽, 쓰기와 프로그램 내의에서 데이터를 읽기와 음향 출력을 위해 가장 중요한 추가 사항이 정해진 일들.소책자는 카세트 다양한 microcomputers에 Bascoders이 들어 있는과 함께 제공된 언어 말 출판되었다.[3]BASICODE 3BASICODE한 독일 민주 공화국의 컴퓨터 하는 장면이 있고 1989년에서 전진적인 예금 BASICODE 프로그램은 독일 민주 공화국 곳 곳에 전파를 통해 전달되었다. 또한 책은 Bascoders과 모든 컴퓨터가 GDR.[4]에서 흔한 일에 대한 비닐 음반을 포함 출판되어 놨다.BASICODE는 컬러 그래픽 플래이크로 특징의 마지막 개정 BASICODE이 3도로 1991년에 발매되었다.

BASICODE의 끝

에 대해 1990년 이래로 계속해서 BASICODE의 인기는 급속도로 16세의 부상과 아타리 ST, 상태 기준 보수 아미가, 아콘 아르키메데스와 IBM-PC 호환되는 weclones의 과잉 같은 32비트 컴퓨터, 때문에 거절했다.그럼에도 불구하고 이러한 기계들을 위한 Bascoders다, BASICODE 역시 컴퓨터의 새로운 세대가 제공한 자원 사용을 하기 위해 제한되어 있었습니다.새로운 컴퓨터의 하드웨어, 운영 체제 및 소프트웨어가 점점 더 복잡해짐에 따라, 많은 사용자가 자신의 프로그램을 작성할 수 없거나 작성할 의향이 줄어들었습니다.정교하지만 호환되지 않는 여러 그래픽 사용자 인터페이스의 증가와 8비트 컴퓨터의 인기 하락으로 BASICODE의 유용성이 감소하여 종말을 가져왔다.

GDR의 국영 방송사인 Deutschlandsender Kultur(나중에 새로운 Deutschland 라디오의 일부가 됨)는 1992년까지 BASICODE 프로그램을 계속 방송했다.NOS는 BASICODE 3C가 출시된 직후 프로젝트 지원을 중단했기 때문에 BASICODE 4라는 계획된 표준은 실현되지 않았습니다.BASICODE는 여전히 애호가들, 특히 8비트 컴퓨터 팬들에 의해 향수를 불러일으키는 가치로 사용되고 있지만, 실질적인 관련성은 없다.

역사적 의의

BASICODE는 상호 호환되지 않는 가정용 컴퓨터 시스템 간에 프로그램과 데이터를 교환하기 위한 표준을 만들기 위한 초기 시도였습니다.이는 공통 BASIC 방언 외에 공유 하드웨어 플랫폼을 지정한 마이크로소프트가 개발MSX 표준과 거의 유사합니다.이 컴퓨터들은 여러 회사에 의해 판매되었고 다른 인기 있는 가정용 컴퓨터와 직접적으로 경쟁했다.MSX는 주로 일본, 한국, 네덜란드, 브라질 제조사의 국내 시장에서 성공을 거두었다.MSX와 달리, BASICODE는 BASICODE가 사용 가능한 모든 컴퓨터에서 읽고 쓸 수 있는 유비쿼터스 BASIC 프로그래밍 언어의 표준화된 부분 집합과 콤팩트 카세트를 위한 공통 데이터 형식을 제공했습니다.이 장치의 독립성으로 인해, MSX와 달리, BASICODE는 특정 제조업체의 컴퓨터에 국한되지 않았다.BASICODE의 설치 기반은 BASICODE와 BASICODE로 작성된 프로그램 모두 일반적으로 자유롭게 사용할 수 있기 때문에 추정하기 어렵습니다.그들은 이 시대에 판매된 많은 가정용 컴퓨터에서 사용할 수 있었다.상업적인 제품은 아니지만, 몇몇 벤더는 BASICODE 라디오 방송을 수신할 수 없는 사람들을 겨냥하여 저렴하게 구입할 수 있는 테이프 버전을 제공했다.

BASICODE는, 설계상, 호스트 컴퓨터의 기능을 완전하게 사용할 수 없었던 것을 기술할 필요가 있습니다.BASICODE에 의해 정의된 언어 표준은 모든 관련 컴퓨터 시스템의 가장 낮은 공통분모였다.ZX80/ZX81KC87과 같은 일부 컴퓨터나 컴퓨터 변형은 그래픽과 색상을 지원하지 않으며 이러한 기능을 사용하는 BASICODE의 새로운 섹션은 사용할 수 없기 때문에 이 개념은 BASICODE3/3C에서만 부분적으로 폐지되었습니다.특히 비디오 게임타이밍과 그래픽, 사운드에 의존하는 어플리케이션에서는 BASICODE가 "네이티브" BASIC이나 머신코드로 작성된 프로그램보다 확실히 열세였습니다.BASICODE의 강점은 애플리케이션 설계, 교육 소프트웨어 및 데이터 공유 분야였습니다.BASICODE 포맷은 Pascal 프로그램에도 사용되었다.Pascal은 시스템 전체에서 훨씬 더 일관된 언어였지만 컴파일러는 극히 소수의 가정용 컴퓨터에서만 사용할 수 있었습니다.

플랫폼에 의존하지 않는 소프트웨어 개발을 위한 언어 표준의 정의와 시스템 고유의 런타임(Bascoder)으로서의 이 표준의 구현인 BASICODE의 기본 개념은 나중에 Java 프로그램을 실행하는 운영체제 고유의 Java Virtual Machine을 통해 프로그래밍 언어 Java에서 다시 검토되었습니다.또한 BASICODE 데이터 형식으로 데이터와 정보를 배포하는 것은 Portable Document Format(PDF; 포터블 문서 포맷) 및 필요한 PDF 리더 애플리케이션 등 플랫폼에 구애받지 않는 현재의 문서 유형을 연상시킵니다.

BASICODE 데이터 형식

BASICODE 콤팩트 오디오 카세트, 전형적인 BASICODE 데이터 저장 매체.

BASICODE 형식에서 프로그램 기록은 데이터 기록과 유사합니다.따라서 프로그램을 녹화할 때 명령어는 단일 바이트 단위(토큰)의 형태로 읽고 쓰는 것이 아니라 문자별로 읽혀집니다.

데이터 블록은 문자 02(STX, 텍스트 시작)로 시작하여 문자 03(ETX, 텍스트 끝)으로 끝납니다.ETX 이후에는 STX 및 ETX를 포함한 이전 바이트로 구성된 XOR(binary addition) 체크 바이트가 전송됩니다.0D 문자(10진수 13)는, 송신중의 회선의 끝을 나타냅니다.프로그램에서 만든 데이터 파일은 모든 문자를 데이터로 사용할 수 있으며 제어 문자를 포함하지 않아야 합니다.1024 바이트의 블록으로 읽고 씁니다.

각 바이트는 "1개 시작 비트 - 8개 데이터 비트 - 2개 중지 비트" 순서로 전송됩니다.데이터 비트는 최하위 비트로 먼저 전송됩니다.BASICODE는 ASCII 문자만을 사용하기 때문에 최상위 비트는 반전 전송되며 항상 0(1로 전송)입니다.따라서 전송 시퀀스를 설명하는 또 다른 방법은 "1개 시작 비트 - 7개 데이터 비트 - 3개 중지 비트"입니다. 결과, 용장성은, 다른 컴퓨터와의 호환성을 최대화하는 것을 목적으로 하고 있습니다.

오디오 신호는 "0" 비트의 경우 1200Hz의 파형과 "1" 비트의 경우 2개의 2400Hz의 파형이 사용되므로 각 비트의 시간은 1/1200초입니다.웨이브 사이에 1/1800초 이상의 포즈가 있으면 바이트의 시작을 나타내며, 다음 웨이브가 시작 비트가 됩니다.시작 비트 이후와 8개의 데이터 비트 전에는 적어도 1/1800초의 일시 정지가 발생합니다.길이가 5초인 2400Hz 신호는 전송 시작을 나타내며 판독 프로그램의 동기화에 사용됩니다.송신 종료시에는, 1초의 길이의 2400Hz 신호가 송신됩니다.

이 형식의 이론 데이터 레이트는 1200비트/초입니다.데이터 바이트당 3비트의 추가 전송과 시작 비트 전후의 일시정지를 고려하면 사용 가능한 데이터 레이트는 초당 102바이트, 분당 약 6킬로바이트가 됩니다.

오디오 카세트 디코딩

최신 컴퓨터에서 Basicode 오디오 카세트는 무료로 사용할 수 있는 소프트웨어 모뎀인 minimodem을 사용하여 디코딩할 수 있습니다.카세트가 basicode라는 wav 파일로 변환된 경우.wav, 다음 명령어는 그것을 대응하는 데이터 바이트로 디코딩하여 basicode라는 파일로 만듭니다.txt를 클릭합니다.

minimodem : rx 1200 - S 1200 - M 2400 : startbits 1 ~7 -- stopbits 3 - f basicode 。wav > basicode.txt

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c d e 윽!1991년 10월 Bob Munniksma의 'Basiscode-3'
  2. ^ Aarde & Kosmos 제7호, 1986년, Rien van Dongen의 'BASICODE-3, uitgebreid 에스페란토 voor komputers'
  3. ^ Basicode-3 by Hermine Bakker, 1968, ISBN 90-201-1949-4
  4. ^ BASICODE Mit Programmen auf Schallplatte für Heimcomputer by Horst Völz, 1990, ISBN 3-341-00895-0

추가 정보

  • (독일어) 마이클 비간드, 맨프레드 필링거: 베이직소드,프로그래밍 카세트라벤스버거 부크베를라그, 1986년 라벤스부르크 ISBN3-473-44010-8
  • (네덜란드어) Hermine Bakker, Jaques Haubrich(저자), Stichting BASICODE(출판사):헵 베이직소드-3 삑삑이.오플라주클루어 테크니쉬 보켄 B.V., Deventer/Antwerpen 1988, ISBN 90-201-2111-1
  • (독일어) Horst Völz: Basicode mit Programmen auf Schallplatte für Heimcomputer.Verlag Technik, 1990년 베를린, ISBN 3-341-00895-0

외부 링크