8bitworkshop/README.md

137 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

2021-07-15 21:54:35 +00:00
# 8bitworkshop
2019-08-21 19:44:51 +00:00
2022-02-21 15:33:59 +00:00
![Build Status](https://github.com/sehugg/8bitworkshop/actions/workflows/node.js.yml/badge.svg)
2021-10-11 02:56:41 +00:00
2021-07-15 21:54:35 +00:00
## Use Online
* Latest release: https://8bitworkshop.com/
2022-02-21 16:43:58 +00:00
* Latest Github build: https://sehugg.github.io/8bitworkshop/
2021-07-15 21:54:35 +00:00
## Install Locally
2018-12-20 18:09:32 +00:00
2022-02-25 18:07:02 +00:00
To clone just the main branch:
```sh
2023-02-07 19:41:00 +00:00
git clone -b master --single-branch git@github.com:sehugg/8bitworkshop.git
2022-02-25 18:07:02 +00:00
```
2018-12-20 18:09:32 +00:00
To build the 8bitworkshop IDE:
2018-07-26 15:50:20 +00:00
```sh
git submodule init
git submodule update
npm i
npm run build
```
To use GitHub integration locally, download the Firebase config file, e.g. https://8bitworkshop.com/v[version]/config.js
### Start Local Web Server
2018-07-26 15:50:20 +00:00
2018-12-20 18:09:32 +00:00
Start a web server on http://localhost:8000/ while TypeScript compiles in the background:
```sh
make tsweb
```
2021-07-15 21:54:35 +00:00
### Run Tests
```sh
npm test
```
2022-02-21 16:43:58 +00:00
Note: Github tests may fail due to lack of API key.
2020-07-17 17:06:24 +00:00
2019-08-21 19:44:51 +00:00
## License
2023-12-30 20:03:04 +00:00
Copyright © 2016-2024 [Steven E. Hugg](https://github.com/sehugg).
2018-12-20 18:09:32 +00:00
2023-12-30 20:03:04 +00:00
This project, unless specifically noted, is multi-licensed.
You may choose to adhere to the terms of either the [GPL-3.0](https://github.com/sehugg/8bitworkshop/blob/master/LICENSE) License for the entire project or respect the individual licenses of its dependencies and included code samples, as applicable.
2019-05-20 15:38:27 +00:00
2023-12-30 20:03:04 +00:00
This project includes various dependencies, modules, and components that retain their original licenses.
For detailed licensing information for each dependency, please refer to the respective files and documentation.
All included code samples located in the presets/ directory are licensed under
2019-05-23 21:59:02 +00:00
[CC0](https://creativecommons.org/publicdomain/zero/1.0/)
2023-12-30 20:03:04 +00:00
unless a different license is explicitly stated within the specific code sample.
2020-07-01 23:16:38 +00:00
2023-12-30 20:03:04 +00:00
## Dependencies
2020-07-01 23:16:38 +00:00
### Emulators
* https://javatari.org/
* https://jsnes.org/
* https://www.mamedev.org/
* https://github.com/floooh/chips
* https://github.com/DrGoldfire/Z80.js
* http://www.twitchasylum.com/jsvecx/
2020-07-06 23:53:20 +00:00
* https://github.com/curiousdannii/ifvms.js/
* https://6502ts.github.io/typedoc/stellerator-embedded/
* https://github.com/yhzmr442/jspce
2020-07-01 23:16:38 +00:00
### Compilers
* https://cc65.github.io/
2020-07-01 23:16:38 +00:00
* http://sdcc.sourceforge.net/
* http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html
* https://github.com/batari-Basic/batari-Basic
* https://www.veripool.org/wiki/verilator
* http://mcpp.sourceforge.net/
2020-07-06 23:53:20 +00:00
* http://www.ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6.html
* https://github.com/dmsc/fastbasic
2021-06-01 20:27:43 +00:00
* https://github.com/wiz-lang/wiz
* https://github.com/sylefeb/Silice
2023-11-28 03:30:16 +00:00
* https://github.com/steux/cc7800
2023-12-27 20:24:42 +00:00
* https://bellard.org/tcc/
2020-07-01 23:16:38 +00:00
### Assemblers/Linkers
* https://dasm-assembler.github.io/
* http://atjs.mbnet.fi/mc6809/Assembler/xasm-990104.tar.gz
* http://48k.ca/zmac.html
* https://github.com/apple2accumulator/merlin32
* https://github.com/camsaul/nesasm
2020-07-01 23:16:38 +00:00
### Dev Kits / Libraries
* https://shiru.untergrund.net/code.shtml
* http://www.colecovision.eu/ColecoVision/development/libcv.shtml
* https://github.com/toyoshim/tss
* https://github.com/lronaldo/cpctelera
2020-07-01 23:16:38 +00:00
### Firmware
* http://www.virtualdub.org/altirra.html
* https://github.com/MEGA65/open-roms
* https://sourceforge.net/projects/cbios/
* https://www.pledgebank.com/opense
2021-06-01 20:27:43 +00:00
### Related Projects
* https://github.com/sehugg/8bitworkshop-compilers
* https://github.com/sehugg/8bit-tools
* https://github.com/sehugg/awesome-8bitgamedev
2023-12-30 20:03:04 +00:00
* https://github.com/sehugg?tab=repositories
2023-11-05 18:54:24 +00:00
## Tool Server (experimental)
This is an experimental feature that relies on a Docker container to provide compiler tools like [llvm-mos](https://github.com/llvm-mos/llvm-mos-sdk).
Right now, you have to run locally and build your own docker container.
```sh
docker build -t 8bitws-server-debian scripts/docker
docker run -p 3009:3009 8bitws-server-debian
echo '{"REMOTE_URL":"http://localhost:3009/build"}' > remote.json
```
Then add "&tool=llvm-mos" to your URL, like
[this](http://localhost:8000/?platform=c64&file=sprite_collision.c&tool=llvm-mos).
You can also rename your C files to have the suffix "-llvm.c".
Right now only the platforms c64, atari8, nes (NROM), and pce are supported.
Not very many of the current examples work with the new toolchain.