millfork icon indicating copy to clipboard operation
millfork copied to clipboard

Adding support for more targets

Open KarolS opened this issue 6 years ago • 11 comments

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

KarolS avatar Dec 16 '18 15:12 KarolS

Started messing with support for Pacman Arcade machine. https://twitter.com/MonstersGo/status/1146550790657585162

code here https://gist.github.com/Nullious/82f4d299758d2780be4162b281118b0a

still wip.

JettMonstersGoBoom avatar Jul 03 '19 23:07 JettMonstersGoBoom

What about Amstrad PCW?

Kroc avatar Jul 04 '19 07:07 Kroc

@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.

KarolS avatar Jul 04 '19 14:07 KarolS

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.

JettMonstersGoBoom avatar Aug 13 '19 00:08 JettMonstersGoBoom

Atari Lynx is here https://github.com/Nullious/millfork_lynx + demo includes sprite and input

JettMonstersGoBoom avatar Sep 06 '19 02:09 JettMonstersGoBoom

Shall I make a pull request for this ^^ ?

JettMonstersGoBoom avatar Sep 18 '19 00:09 JettMonstersGoBoom

@Nullious That would be great. Can you add some examples with it?

KarolS avatar Sep 18 '19 00:09 KarolS

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.

JettMonstersGoBoom avatar Sep 01 '20 18:09 JettMonstersGoBoom

A Spectravideo 318/328 target would be nice. And should be easy to create from the MSX platform files as it is very similar.

james7780 avatar Jan 24 '21 17:01 james7780

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

SplitSpine avatar Apr 07 '22 15:04 SplitSpine

I added an example of using Millfork with the Mattel Aquarius to create a cassette and cartridge. https://github.com/cdoty/Aquarius-Millfork

cdoty avatar Sep 06 '22 03:09 cdoty