Inilabas ng Microsoft ang 6502 BASIC bilang open source

  • Inilabas ng Microsoft ang 6502 BASIC Bersyon 1.1 sa ilalim ng Lisensya ng MIT at sa GitHub.
  • 6.955 na linya ng assembler na may suporta para sa Apple II, Commodore PET, OSI at KIM-1.
  • Commodore BASIC at Applesoft BASIC base; kasunduan sa Commodore para sa $25.000 noong 1977.
  • Pagpapalakas ng pangangalaga, pagtulad, at retro na mga proyekto, na may mga makasaysayang pagwawasto mula 1978.

Microsoft 6502 BASIC open source

Halos kalahating siglo pagkatapos ng pasinaya nito, Inilabas ng Microsoft ang source code para sa 6502 BASIC na may bukas na lisensya. Dumating ang makasaysayang interpreter sa unang pagkakataon nang opisyal at ganap sa isang GitHub repository, kaya kahit sino ay maaaring mag-aral, mag-compile, o iakma ito nang walang legal na paghihigpit.

Nililinis ng release ang mga dekada ng hindi opisyal na mga kopya at nakakalat na mga fragment, na nagbibigay ng kanonikal at dokumentadong bersyon. Ang orihinal na header na napanatili sa code ay nagbabasa ng "BASIC M6502 8K VER 1.1 NG MICRO-SOFT”, isang totoong time capsule na nagpapaalala kung paano binuo ang negosyo ng kumpanya bago ang MS-DOS o Windows.

Ano nga ba ang inilabas ng Microsoft?

6502 BASIC repository sa GitHub

Ito ang Microsoft BASIC bersyon 1.1 para sa 6502 microprocessor, na may petsang kalagitnaan ng 1978, at inilabas sa ilalim ng permissive MIT License. Ang repositoryo ay nagbabahagi ng 6.955 na linya ng MOS 6502 assembly code, na nagbibigay-daan sa pag-download, pagbabago, muling pamamahagi, at kahit na komersyal na paggamit kung ninanais.

Kasama sa source tree conditional compilation para sa ilang pioneer system: Apple II (Applesoft), Commodore PET, Ohio Scientific (OSI) at ang MOS KIM-1 kit, pati na rin ang isang PDP-10 simulation environment para sa 6502. Bilang isang makasaysayang sanggunian, sa GitHub mismo mayroong mga timestamp na naglalagay ng mga file "48 taon".

Functionally, nag-aalok ang interpreter ganap na pagpapatupad ng BATAYANG wika, floating-point arithmetic, string handling, array support (integer at string), input/output operations, at mahusay na memory strategies para sa 8-bit system. Ito rin ay nagsasama kadena tagakolekta ng basura at dynamic na imbakan ng mga variable.

Isang haligi ng home computing

Kasaysayan ng Microsoft BASIC 6502

Nagsisimula ang paglalakbay noong 1975, nang isulat nina Bill Gates at Paul Allen ang unang produkto ng kumpanya: a BASIC interpreter para sa Intel 8080 ng Altair 8800Makalipas ang isang taon, inangkop nina Gates at Ric Weiland ang pundasyong iyon sa MOS 6502, na nagsilang ng 6502 BASIC, na ngayon ay ibinahagi bilang open source.

Sa 1977 Lisensyado ang Commodore sa 6502 BASIC para sa flat fee na $25.000. Ang kasunduang iyon ay nagdala ng interpreter sa Commodore PET at, nang maglaon, sa mga ecosystem na nagpasikat ng home programming gaya ng VIC-20 at ang maalamat na Commodore 64. Ito ay ang dekada ng pagsulat ng mga linya tulad ng 10 PRINT "HELLO", 20 GOTO 10 at pindutin RUN para makita ang magic.

Sa parallel, ang parehong code trunk ay nagsilbing batayan para sa Applesoft BASIC sa Apple II, na pumalit sa Integer BASIC ni Steve Wozniak. Kaya, ang isang solong source code na pamilya ay nagpapagana ng ilang pangunahing platform sa pagsilang ng personal na pag-compute.

Pinapagana ng MOS 6502 microprocessor ang mga iconic na device gaya ng Apple II at Commodore series, pati na rin ang iba pang machine at console na may mga variant ng chip (Atari 2600 o NES). Ang kanilang ibinahaging arkitektura ay hindi nagpapahiwatig na sila ang nagpatakbo ng interpreter na ito sa mga entertainment system na iyon, ngunit ipinapaliwanag nito kung bakit nananatiling interesado ang komunidad sa kanilang pag-aaral at pangangalaga.

Bakit mahalaga ang pag-publish nito bilang open source

Kaugnayan ng Open 6502 BASIC

Para sa mga mananalaysay, guro at mahilig, pagkakaroon ng a opisyal na lisensyadong font, moderno at malinaw Ito ay purong ginto. Sa loob ng maraming taon, ang mga preservationist ay muling nagtatayo ng mga compilation environment at bini-verify na ang mga makasaysayang mapagkukunan ay maaaring makabuo ng mga ROM byte byte; ngayon na ang trabaho ay pinagsama sa legal na proteksyon at na-verify na mga materyales.

Ang retro scene ay nakakaranas ng boom salamat sa Mga proyektong nakabatay sa FPGA at emulation, kung saan ang matapat na pagkopya ng 8-bit system ay nangangailangan ng pag-unawa sa kanilang pinagbabatayan na software. Ang pagkakaroon ng bukas na 6502 BASIC ay nagpapadali sa pag-port, pagsubok, at pag-revive ng classic na hardware na may antas ng pagiging tunay na mahirap makuha sa mga bahagyang libangan lamang.

Kasama sa paglabas ng Bersyon 1.1 ang mga pag-aayos sa kolektor ng basura na tinukoy ng Commodore at magkatuwang na ipinatupad ng John Feagans at Bill Gates Noong 1978, ang parehong mga nakarating sa mga user bilang PET BASIC V2. Ibig sabihin, ang pinakakinakatawan na edisyon ng aktwal na paggamit nito sa panahong iyon ay ibinabahagi.

Ang kilusang ito ay nauugnay sa mga nakaraang publikasyon ng bahay, tulad ng sa GW-BASIC, na kabilang sa parehong linya ng mga interpreter at kalaunan ay naging QBASIC at Visual Basic. Binubuksan ng common thread ang mga mahahalagang bahagi ng legacy nito para sa pag-aaral, edukasyon, at eksperimento.

Ang sinumang gustong lumalim ay maaaring pumunta sa opisyal na imbakan sa GitHub, na nagdodokumento din ng mga target ng pagbuo para sa iba't ibang sistema at mga sanggunian sa gawaing pangkomunidad (hal., ang paggamit ng mga modernong toolchain tulad ng cc65) na nagpapadali sa pagbuo at pagpapatakbo ng code sa kasalukuyang kapaligiran.

Ang kilos ng Microsoft ay nagbabalik sa unahan ng isang interpreter na tumulong sa pag-standardize ng programming sa mga unang araw ng PC. Sa Lisensya ng MIT, sinusuportahan ng mga klasikong target, at isang database ng 6.955 na linya, ang komunidad ay mayroon na ngayong maaasahang sanggunian para sa pag-aaral, pag-eeksperimento, at pagpapanatili ng isang pangunahing bahagi ng kasaysayan ng personal na pag-compute.

Kaugnay na artikulo:
Ano ang PC o Personal Computer?