millfork
millfork copied to clipboard
Adding support for more targets
The following targets should work after creating platform definitions and minimal libraries:
- [ ] Acorn Atom
- [ ] Acorn Electron
- [ ] Altair 8800
- [ ] Amstrad PCW (standalone disk)
- [ ] Apple IIc and III
- [ ] Atari 5200
- [ ] Atari 7800
- [ ] Bashkiria 2M
- [ ] BBC Master
- [ ] Commodore 65
- [ ] Commodore CBM-II series
- [ ] Dragon 32/64
- [ ] Fujitsu FM-7
- [ ] Galaksija
- [ ] Jupiter Ace
- [ ] Mega 65
- [ ] MSX series (disk)
- [ ] MSX2 series
- [ ] NEC PC-8000 and PC-6000 series
- [ ] NEC PC Engine/Turbografx-16
- [ ] Nintendo GameBoy Color
- [ ] Orao and Orao 64
- [ ] Oric 1
- [ ] SAM Coupé
- [ ] Sega SG-1000 and SG-3000
- [ ] Sega Master System
- [ ] Sinclair ZX80
- [ ] Sinclair ZX81
- [ ] Sharp MZ series
- [ ] Sharp X1
- [ ] Texas Instruments calculators, especially TI-83
- [ ] Vectrex
- [ ] Vektor-06C
- [ ] Watara Supervision
The following targets should also work, but will require compiler improvements before being usable:
Require 24-bit 65816 support:
- [ ] Acorn Communicator
- [ ] Apple IIgs
- [ ] Nintendo SuperFamicom/SNES
The following targets have been implemented since the creation of this issue:
- [x] Armstrad CPC series
- [x] Atari Lynx
- [x] EasyFlash 3 cartridge for Commodore 64
- [x] MSX series (cartridge)
- [x] Nintendo GameBoy
- [x] Robotron Z1013
- [x] Tandy Color Computer
- [x] TRS-80 Model 1 and Model 3
Started messing with support for Pacman Arcade machine. https://twitter.com/MonstersGo/status/1146550790657585162
code here https://gist.github.com/Nullious/82f4d299758d2780be4162b281118b0a
still wip.
What about Amstrad PCW?
@Kroc If you're interested in CP/M-based software for PCW, it should work as-is with the cpm_z80
target. The cpm
module is currently very bare-bones, but adding missing syscalls or system-specific hardware accesses shouldn't be hard. I haven't added any CP/M-focused machines to the list, as running CP/M makes them pretty much identical targets from the compiler standpoint.
As for standalone PCW programs, sure, that could be done as its own target. However this would require implementing the PCW disk format, as you no longer have an OS to handle that for you. Similar how PC-88 works right now.
https://twitter.com/MonstersGo/status/1161065704847790080?s=19 got Alien Rescue working on Sega Master System. ( There's also a C64 version ) Thank you , without Millfork this wouldn't be doable.
Atari Lynx is here https://github.com/Nullious/millfork_lynx + demo includes sprite and input
Shall I make a pull request for this ^^ ?
@Nullious That would be great. Can you add some examples with it?
https://github.com/MonstersGoBoom/Millfork-Platforms I've started collecting my additional platform examples into this repository. SMS and MSX1 is pretty good as is. other platforms are W.I.P.
A Spectravideo 318/328 target would be nice. And should be easy to create from the MSX platform files as it is very similar.
I made platform target for the C256 Foenix (65816 cpu), can only use the first 64k of RAM, so not very useful yet. https://github.com/SplitSpine/Millfork-C256Foenix
I added an example of using Millfork with the Mattel Aquarius to create a cassette and cartridge. https://github.com/cdoty/Aquarius-Millfork