sehugg / dithertron

Retro 8-bit bitmap converter supporting many formats
GNU General Public License v3.0
75 stars 11 forks source link

Add Sam Coupe format #40

Open lmf-github opened 2 months ago

lmf-github commented 2 months ago

I got Ditherton to work to produce Sam Coupe (see www.worldofsam.org) screen resolution and palette by adding the following: (1) to system.ts: { id: 'scoupe', name: 'Sam Coupe Mode 4', width: 256, height: 192, conv: 'DitheringCanvas', pal: palettes.SAMCOUPE, reduce: 16, },

(2) to palette.ts export const SAMCOUPE = [ RGB(0, 0, 0), RGB(0, 0, 73), RGB(73, 0, 0), RGB(73, 0, 73), RGB(0, 73, 0), RGB(0, 73, 73), RGB(73, 73, 0), RGB(73, 73, 73), RGB(36, 36, 36), RGB(36, 36, 109), RGB(109, 36, 36), RGB(109, 36, 109), RGB(36, 109, 36), RGB(36, 109, 109), RGB(109, 109, 36), RGB(109, 109, 109), RGB(0, 0, 146), RGB(0, 0, 219), RGB(73, 0, 146), RGB(73, 0, 219), RGB(0, 73, 146), RGB(0, 73, 219), RGB(73, 73, 146), RGB(73, 73, 219), RGB(36, 36, 182), RGB(36, 36, 255), RGB(109, 36, 182), RGB(109, 36, 255), RGB(36, 109, 182), RGB(36, 109, 255), RGB(109, 109, 182), RGB(109, 109, 255), RGB(146, 0, 0), RGB(146, 0, 73), RGB(219, 0, 0), RGB(219, 0, 73), RGB(146, 73, 0), RGB(146, 73, 73), RGB(219, 73, 0), RGB(219, 73, 73), RGB(182, 36, 36), RGB(182, 36, 109), RGB(255, 36, 36), RGB(255, 36, 109), RGB(182, 109, 36), RGB(182, 109, 109), RGB(255, 109, 36), RGB(255, 109, 109), RGB(146, 0, 146), RGB(146, 0, 219), RGB(219, 0, 146), RGB(219, 0, 219), RGB(146, 73, 146), RGB(146, 73, 219), RGB(219, 73, 146), RGB(219, 73, 219), RGB(182, 36, 182), RGB(182, 36, 255), RGB(255, 36, 182), RGB(255, 36, 255), RGB(182, 109, 182), RGB(182, 109, 255), RGB(255, 109, 182), RGB(255, 109, 255), RGB(0, 146, 0), RGB(0, 146, 73), RGB(73, 146, 0), RGB(73, 146, 73), RGB(0, 219, 0), RGB(0, 219, 73), RGB(73, 219, 0), RGB(73, 219, 73), RGB(36, 182, 36), RGB(36, 182, 109), RGB(109, 182, 36), RGB(109, 182, 109), RGB(36, 255, 36), RGB(36, 255, 109), RGB(109, 255, 36), RGB(109, 255, 109), RGB(0, 146, 146), RGB(0, 146, 219), RGB(73, 146, 146), RGB(73, 146, 219), RGB(0, 219, 146), RGB(0, 219, 219), RGB(73, 219, 146), RGB(73, 219, 219), RGB(36, 182, 182), RGB(36, 182, 255), RGB(109, 182, 182), RGB(109, 182, 255), RGB(36, 255, 182), RGB(36, 255, 255), RGB(109, 255, 182), RGB(109, 255, 255), RGB(146, 146, 0), RGB(146, 146, 73), RGB(219, 146, 0), RGB(219, 146, 73), RGB(146, 219, 0), RGB(146, 219, 73), RGB(219, 219, 0), RGB(219, 219, 73), RGB(182, 182, 36), RGB(182, 182, 109), RGB(255, 182, 36), RGB(255, 182, 109), RGB(182, 255, 36), RGB(182, 255, 109), RGB(255, 255, 36), RGB(255, 255, 109), RGB(146, 146, 146), RGB(146, 146, 219), RGB(219, 146, 146), RGB(219, 146, 219), RGB(146, 219, 146), RGB(146, 219, 219), RGB(219, 219, 146), RGB(219, 219, 219), RGB(182, 182, 182), RGB(182, 182, 255), RGB(255, 182, 182), RGB(255, 182, 255), RGB(182, 255, 182), RGB(182, 255, 255), RGB(255, 255, 182), ];

I know there is a better way to generate the palette as well as generate the Sam Coupe format screen (e.g. see here https://github.com/mfitzp/scrimage) but I was just happy to get Ditherton working to generate the screens at this stage.

Thanks