Coder Social home page Coder Social logo

gw-basic-1's Introduction

Microsoft GW-BASIC Interpreter Source Code

This repo contains the original source-code for Microsoft's GW-BASIC interpreter, as of 1983, adjusted for assembling with available versions of the Microsoft Macro Assembler.

Announcement blog

https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/

Progress

All files can now be assembled with Microsoft MASM 5.1A. This is the version that currently seems to match the code most closely.

The following identifiers cannot be resolved. CLREOL, CLRSCN, CSRATR, CSRDSP, DONOTE, DOWNC, EDTMAP, FETCHC, FKYADV, FKYFMT, GETFBC, GETHED, GRPSIZ, GTASPC, GWINI, GWTERM, INFMAP, INICOM, INKMAP, KEYINP, LCPY, LEFTC, MAPSUP, MAPXYC, NREAD, NSETCX, NWRITE, PEKFLT, PGINIT, PIXSIZ, PNTINI, POKFLT, POLLEV, PRTMAP, RDPEN, RDSTIK, RDTRIG, READC, RECCOM, RIGHTC, SCALXY, SCANL, SCANR, SCRATR, SCRINP, SCROLL, SCROUT, SCRSTT, SEGINI, SETATR, SETC, SETCBF, SETCLR, SETFBC, SNDCOM, SNDLPT, STACOM, STOREC, SWIDTH, TDOWNC, TRMCOM, TUPC, UPC. Most identifiers appear to be missing from the source code.

Pull requests for fixing the remaining compilation programs are welcomed.

Building instructions

Using DOSBox mount a directory containing:

  • This code
  • The Microsoft Macro Assembler (MASM) version 5.1A (masm.exe).
  • The Microsoft make program that comes with MASM (make.exe).

Run make makefile to assemble the files. Note the tools may leave behind party-built executables or object files. If you want to rebuild them without changing the source code, you need to delete these files by hand.

You can fetch MASM 5.1A from this site as follows.

  • From the pull-down menu select MS MAcro Assembler 5.10A (Update)
  • Press the Load button to load the disk image into the emulator
  • Press the Save button to save the disk image to your computer
  • Copy the saved disk image to a Linux computer
  • Mount the image using the command sudo mount MASM51A-UPDATE.img /mnt
  • Copy the files from /mnt to your development directory

License

All files within this repo are released under the MIT (OSI) License as per the LICENSE file stored in the root of this repo.

Contributing

Pull requests addressing problems in getting GW-BASIC to build and run are welcomed.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.