sehugg / dithertron

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

Vic 20 dithering support added (preliminary) #19

Closed robin-raymond closed 11 months ago

robin-raymond commented 11 months ago

Vic 20 dithering support added (preliminary)

The Vic 20 has some unique attributes that are similar but different than the Commodore 64. The Vic 20 doesn't have a true graphics mode but instead relies on character re-imaging and color choices to make a pseudo bitmap. Combined with the Vic 20's flexible screen sizes, this makes an interesting target.

Some key differences added:

Code changes (some refactoring):

robin-raymond commented 11 months ago

Related to issue https://github.com/sehugg/dithertron/issues/18

sehugg commented 11 months ago

VIC-20! It's getting serious now! :) This ought to be cool.

BTW, it might take me a little while to merge because I'm refactoring into proper TypeScript modules, so some files will be moved around. But it should be a little more manageable, and no major API changes.

robin-raymond commented 11 months ago

Oh yes! This is an up-and-coming platform, I just know it! In all seriousness, the Vic 20 needs some love. I couldn't let this platform be neglected with such a useful tool given I knew most of the Commodore code would be able to also handle the Vic 20 with small tweaks. Then I discovered Vic 20's 10-color choice graphics ;-). See images below for a sneak peak!

Understood about the merge. Since I am not a typescript expert, I'll leave that up to you because I honestly don't know what is "proper".

vic-20-multi vic-20-hires
robin-raymond commented 11 months ago

BTW, the display on the UI that says "WWW x HHH, N colors, WxH" probably needs an asterisk when it comes to the Vic-20! While the Vic technically has 16 colors, the actual palette gets restricted to 8 for some of the colors (depending on context) despite the wider palette being present. It's a bit a bit weird but you can tell the Commodore engineers were trying to squeeze every bit of power out of that machine despite its cost reduce form.

sehugg commented 11 months ago

Wow that looks great! I agree the VIC-20 needs a little love, I hope i can get the emulator working one day, at least with cartridges.

I pushed the Typescript refactoring, and I'm pretty sure it broke the PR, sorry. Don't want to break your momentum. The files are reorganized, but you ought to be able to cut-and-paste your changes and add a few exports and imports here and there. I did find a way to bundle the .asm files as plain text files, so that's nice. Let me know if you need help with the new structure.

robin-raymond commented 11 months ago

Wonderful news! I'll sync the code up and fix the PR in the coming day(s).

robin-raymond commented 11 months ago

Replacement PR is up. You may reject this one.