GW-BASIC
8088_bios
GW-BASIC | 8088_bios | |
---|---|---|
13 | 6 | |
2,615 | 484 | |
- | - | |
10.0 | 7.8 | |
almost 4 years ago | 3 months ago | |
C++ | Assembly | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
GW-BASIC
-
Akalabeth: Porting from AppleSoft Basic to Gwbasic
Fun fact...Microsoft open sourced GW-BASIC under the MIT license a couple years ago...
https://github.com/microsoft/GW-BASIC
The blog post announcing it is here if you want more information about it...
https://devblogs.microsoft.com/commandline/microsoft-open-so...
-
Basic and the ROMs that changed the world (and then disappeared) (2022)
I'm way ahead of you :)
Unfortunately, rewriting it without reverse engineering makes it almost impossible to reach the same performance characteristics. These are essential to reproduce proper timing in several games.
Also, it may not be much code, but the floating point operations are quite a piece of art. See the GW-BASIC source code, which is somewhat similar [1].
I also rewrote most of the BASIC interpreter directly in Kotlin, omitting assembly, but obviously that runs into the same compatibility issues.
As far as I understand it, reverse engineering is not allowed without permission, although some people suggest that it is ok to get other software to run. Not sure whether that case would hold up for my entertainment value.
[1] https://github.com/microsoft/GW-BASIC/blob/master/MATH2.ASM
-
GPL-3.0 licensed BIOS for Intel 8088 based computers
Someone could take this and try to make it ROM-able in order to "complete" the BIOS:
https://github.com/microsoft/GW-BASIC
-
Question regarding floating point
Hey! They use an emulation. You can implement this yourself but it's quite the undertaking if you also want trigonometry functions etc. There are libraries available but they can be hard to build on older compilers, search for floating point emulation c library to get some ideas. Depending on what you want to do however are you sure you need floating point? I thought so in the past but have reconsidered. Many times you can work something out by either scaling or smart fractions like 355/113 for pi etc. Regarding scaling, this is also how fixed point math works, certainly also of interest and maybe more then enough?
- The Golden Age of Basic (2014)
-
Lapsus$ hackers leak 37GB of Microsoft's alleged source code
> but if ever the source for QBasic leaked
QBasic? - Why that modern thing. Just use the proper BASIC: https://github.com/microsoft/GW-BASIC ;)
- News to me: Microsoft GW-BASIC Interpreter Source Code
- Microsoft GW-Basic Interpreter Source Code
-
Hacker News top posts: Mar 7, 2022
Microsoft GW-Basic Interpreter Source Code\ (20 comments)
8088_bios
- GPL-3.0 licensed BIOS for Intel 8088 based computers
-
Past meets present in this $200 mini-laptop with a Intel 8088 chip and 640KB
Just a heads up, it looks like these guys ripped off Serge Kiselev's 8088 BIOS [1].
[1] https://github.com/skiselev/8088_bios
-
TinyBIOS – A minimalist open-source BIOS project for fun
There are at least three "real" 8086 BIOSes-- "real" as in they can work on actual hardware rather than just emulators-- available in source form, which might be worth examining.
https://www.phatcode.net/downloads.php?id=101 -- this is a respin of code that apparently originated in the 1980s in sketchy Taiwanese clones, so I think some of the docs are reverse engineered
http://glabios.org/ is an all-new-still-under-development project, but it works well enough for my hobby usage.
https://github.com/skiselev/8088_bios These are more targeted towards some specific hardware projects (Xi8088/Micro8088)
Obviously, being for a simple 8086 mrans they don't have some of the complex chipset config used in a modern PC, and even stuff like "hard disc support" is outsourced (for that, you might consider stuff like the XT-IDE Universal BIOS)
-
80286 ROM BIOS - open-source code base?
And another: https://github.com/skiselev/8088_bios
What are some alternatives?
MS-DOS - The original sources of MS-DOS 1.25 and 2.0, for reference purposes
GLaBIOS - A modern, scratch-built, open-source (GPLv3) alternative ROM BIOS for PC, XT, 8088 Clone or Turbo PCs.
GW-BASIC - Assembling Microsoft GW-BASIC from 1983, with MASM or JWasm • "pre-release" binaries at https://codeberg.org/tkchia/GW-BASIC/releases • source mirror of https://codeberg.org/tkchia/GW-BASIC • fork of https://github.com/dspinellis/GW-BASIC
TinyBIOS - A mirror of TinyBIOS repository
simh - The Computer History Simulation Project
Bochs - Bochs - Cross Platform x86 Emulator Project
GW-BASIC - Assembling Microsoft GW-BASIC from 1983
appendix-bios - IBM AT 80286 BIOS
linux - Linux kernel source tree
pcxtbios - Super PC/Turbo XT BIOS
micro_8088 - Micro 8088 - IBM XT Compatible Processor Board based on Faraday FE2010 chipset
SBEMU - legacy sound blaster emulation for DOS