Hallo Besucher, der Thread wurde 4,8k mal aufgerufen und enthält 33 Antworten

letzter Beitrag von ubik am

YAPED32 - a 32 colour PETSCII editor for the MEGA65

  • Hi all,


    here's YAPED32. That's short for "Yet Another Petscii EDitor, but this time with 32 colours" ;-)



    A few notable features:

    - world's first MEGA65 native PETSCII editor supporting 32 colours

    - nice palette tool for redefining colours and easy creation of gradients

    - 9 independent workspaces

    - rectangular selection and copy tool

    - 5 extra screen rows for help, status information & palettes

    - 3 modes of operation: drawing mode / typing mode / low-res Block Mode


    The whole thing is still late alpha / early beta and likely has lots of bugs and rough edges, and I'm posting it here because I'd love to get some feedback from PETSCII artists as to what is still needed in there. :)


    Please note that YAPED32 does not yet run in XEMU (neither the baseline branch nor hernandp' s megawat branch), so you need the xilinx board or a m65 dev kit to test it.


    Some quick tips:

    - You can press the 'HELP' key in drawing mode and in the palette editor to get a basic rundown on how yaped32 works. In the other modes, the status area displays an overview about which functions you may use

    - If you don't like working with the character palette, you may use typing mode for just typing your characters or block mode to directly access 80x50 petscii block graphics

    - 'RUN/STOP' always takes you back to the main menu (at least, it should...)

    - in drawing mode, press 1-9 to switch between workspaces

    - in typing mode, press alt+1-9 to switch between workspaces

    - when using the a)rea selection tool in drawing mode, you can switch between workspaces once you have selected an area


    Have fun!


    P.S: If you find YAPED32 useful and are artistically inclined... I could use one or two nice PETSCII pictures to distribute with the final version :) :)

  • looks nice, do those 32 colours represent a certain mode of the VIC-IV or why exactly 32?

    is it possible to choose individual background and foreground colors per char on the VIC-IV?

  • looks nice, do those 32 colours represent a certain mode of the VIC-IV or why exactly 32?

    It's an extension to the C64's standard character mode... on the C65 there's the 'highlight' bit, which tells the VIC-III to choose its foreground character colour from an additional bank of 16 colours. And since this little program began its life ~25 years ago on the C65 (long story ;-)), that's the mode that's currently supported ;)


    In theory, the MEGA65's VIC-IV can do even more via "super-extended attribute mode"... but that's stuff for a future version of YAPED ;-)

  • Okay nice :) so the original C65 can have the characters to be displayed in either one of the 16 original colors or 16 extended colors? Can this palette be freely chosen or were they fixed on the C65? What about the background color, is that global for the entire screen just like on the C64, or was it also choosable per char on the C65?

  • so the original C65 can have the characters to be displayed in either one of the 16 original colors or 16 extended colors?

    Yes, by setting the ATTR bit in control register B (bit 5 in register 0xd031), the C65 gains 4 additional attributes in colour RAM (in addition to the original, lower nybble, which still acts as colour pointer) from bit 4 to 7: Blink, Highlight, Underlined and Reverse Video.


    So, when setting bit 5 in colour RAM, the colour is taken from an additional bank of 16 colours by adding 16 to the colour index value (so the original colours are 0-15, and the extended ones are 16-31)


    Can this palette be freely chosen or were they fixed on the C65?

    It can be freely chosen; in fact, the original colours, too, can be freely redefined after setting the PALette bit in control register A (bit 2 in register 0xd030)


    What about the background color, is that global for the entire screen just like on the C64, or was it also choosable per char on the C65?

    Just like on the C64 there was also "extended color mode" on the C65. But just like on the C64, it wasn't worth much because you only had 6 bits left for the characters.


    But of course, the MEGA65 expands greatly on that... ;)

  • Amazing, Thank you !

    Looking forward testing it !

  • Here's a little bugfix release for YAPED32:


    What's changed:


    - fixed an issue where part of the screen would not be shown in NTSC mode (the VIC-IV is now reconfigured to PAL mode upon startup, because NTSC mode has not enough resolution for Yaped32's extended screen)


    - you can quit by pressing 'q' from the main menu. This has the benefit that the VIC-IV is brought back into a sane state and the HOTREG bits are reset

  • Hi all,


    time for a new release of YAPED32, this time with mouse support (mouse in port 1) in drawing and block mode :)


    Here's a little – admittedly lame – clip of what YAPED32 can do:


    https://streamable.com/snqmfc


    Now, if there were some PETSCII artists giving this thing a try and creating some nice art with it, I'd be more than delighted :)


    Known issues:

    - When doing really fast mouse movements, the mouse cursor might "slip", especially in area select mode. That's because I had to hack my own mouse driver in BASIC10, and that's too slow, even with 40MHz. But I wanted to get this thing out of the door and maybe collect some feedback before getting down and dirty with assembly ;-)

  • What VIC-IV features are you using? I will look on a patch to run YAPED32 on my VIC4 implementation.

    Hi & thank you very much! :)


    At the moment, YAPED32 uses


    - PALNTSC ($D06F, bit 7)

    - TBDRPOS ($D048 / $D049)

    - BBDRPOS ($D04A / $D04B)

    - TEXTXPOS ($D04C / $D04D)

    - TEXTYPOS ($D04E / $D04F)


    to reconfigure the VIC-IV to display 5 extra lines at the bottom of the screen for the colour and character palettes,


    - SPRPTR16 ($D06E, bit 7)

    - SPRPTRADR ($D06C, $D06D)

    - SPRPTRBNK ($D06E, bit 0-6)


    to get the sprites out of the way in bank 0, and


    - HOTREG ($D05D, bit 7)


    to reset screen & sprite modes in case of errors.


    The next features I had planned: Supporting super-extended character mode and a proper, interrupt driven mouse driver... but seeing as feedback & downloads are a little bit on the slow side (and BASIC10 really s*cks ;-)), it's not necessarily a priority right now...


    Kind regards,

    Stephan

  • The sprites are still there, you just can't see them because the DevKit has a transparent(!) plexiglass case. :D

    That would have been the easiest explanation, yes :-)

    But in fact it seems I discovered a real, genuine bug in the DevKit factory core...


    https://github.com/MEGA65/mega65-core/issues/311

    That's a special bonus for the owners: The DevKit has built-in challenges for developers. :D

  • Here's a new version of YAPED32 that runs on the DevKit (with many thanks to mega65 for his help on how to hotfix this thing).


    Known bugs: Mouse pointer & cursor sprites still look slightly corrupted in this version (which is a problem with the DevKit, which surely will get fixed ;-))


    Have fun


    p.s.: <brokenRecordMode>Feedback would be hugely appreciated. And some MEGA65+YAPED32 originated PETSCII art would also be very very nice.</brokenRecordMode>