sehugg / 8bitworkshop

web-based IDE for 8-bit programming and Verilog development
http://8bitworkshop.com/
GNU General Public License v3.0
495 stars 83 forks source link

Support for Amstrad CPC #38

Open bfxdev opened 4 years ago

bfxdev commented 4 years ago

The Amstrad CPC was a fairly popular home computer in France, Spain and the UK in the 80s. The CPC is available on the tiny8bit project. There is a cross-development environment called CPCTelera that uses SDCC and provides a large library of game-related functions, plus tools for assets conversion. There is as well an online version of the RASM assembler coupled with an embedded tiny8bit emulator, but I'm not aware of any project that allows to write C directly in the browser for the CPC.

Is there any plan to support the Amstrad CPC in 8bitworkshop?

sehugg commented 4 years ago

My long-term roadmap is "support all the things" but not sure where CPC fits in yet. But since C64 support is working via WASM it shouldn't be difficult to get emulation support, see: http://8bitworkshop.com/blog/misc/compiling-emulators-to-webassembly-without-emscripten.md.html

I haven't seen CPCTelera but if it can play with 8bitworkshop's build of SDCC then C support might be possible. Z80 assembler is already available via zmac or sdasz80.

sehugg commented 4 years ago

I avoid copyrighted ROMs in the main product, so an open-source BIOS like those for MSX and C64 would also be helpful.

bfxdev commented 4 years ago

As the Wikipedia page says: Following the CPC's end of production, Amstrad gave permission for the CPC ROMs to be distributed freely as long as the copyright message is not changed and that it is acknowledged that Amstrad still holds copyright, giving emulator authors the possibility to ship the CPC firmware with their programs

Here is the referenced page. So in theory the ROMs are still copyrighted but we can use them.

Other ROMs exist as well. SymbOS and FutureOS are freeware.

At the end, do we really need an OS at all, or is it sufficient to have a kind of boot code to initialized the hardware?

redbug26 commented 2 years ago

Please, add Amstrad support. As @bfxdev said, firmware could be distributed now. Amstrad support is a must have in your IDE

sehugg commented 2 years ago

Check this out:

https://8bitworkshop.com/dev/?platform=cpc.6128

I don't know much about the CPC so not sure what works yet :) It only supports raw binary images starting at 0x4000 right now.