Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by JimmyDansbo

  1. I thought I had changed this. Can you point me to where I have missed it?
  2. I was a bit premature in declaring the changes, Greg King suggested, a success We should be back to normal operation now. As stated, I have removed the ldy r2h and I have changed the print_str function to convert from petscii if .A=0
  3. @Greg King thanks, I will look into it. 4 bytes saved, thanks again
  4. I had actually startet doing that, but then I need to make the macros able to handle both absolute and immediate parameters and I startet to move away from the functionality in the generic library. As it is now, it is easy for the user to create their own macro or subroutine that sets up values and calls the library macro/subroutine.
  5. @desertfish I define the routines both as macros and sub routines to give the user the choice. If you only use the macros, your source could become quite large very quick, but I find it necessary to also provide the routines as macros to give the option of having it inline instead of JSR'ing to it. Some of the routines, like plot_char, are quite small and may just as well be used as macros. I think it is a very good idea to give the option of having print_str not convert anything and I believe that it should fit - Thanks for the suggestion (I had actually thought of it, but forgot about it again) edit: I have made the change and it only takes up 2 bytes
  6. My plan is to provide basic functionality for people who do not know much about VERA, but also provide "helper-functions" for people that want to roll their own functions. Functions like set_bank, set_decr and set_stride are "helper-functions" that should make it easier to set those values without having to think about preserving other values in the VERA_ADDR_H register. In my own case, I would just as often do manual writing of characters to VERA as I would use plot_char, depending on if I needed the color attribute set. I had actually created a bunch of macros in the acme and ca65 includes to make it possible to print and draw without setting colors and stuff like that, but it became way to much work to keep everything equal when I made changes to the generic library. If you have plenty of time and don't mind reading sphaghetti-code you can have a look at this old version: https://github.com/JimmyDansbo/VTUIlib/tree/3e23f409272ed212ba312c7c36afa2ba60742799
  7. Version 0.4 uploaded with bugfixes and custom border mode. I looked into supporting decrement in the library, but there simply is not enough room to support it for all relevant functions. To support it in plot_char alone would take up an extra 12 bytes, the same for scan_char and similar for print_str, hline and vline
  8. This seems like it is WAY out of scope for this library. I think your request would be much more appropriate for a ROM request. Or you could create the font and make it available to the community, X16 supports custom fonts
  9. @Ender, thanks for the bugs. The same error was present in ca65-ex01.asm I have corrected both and removed the .org line in ca65-ex01.asm. Thanks again
  10. @desertfish thank you for your kind words. The documentation part is the hardest It is great to see that you have been able to interface with library. Let me address your points. Not really any particular reason other than at the time of writing the function, it seemed easier to pass the variable that way. - On my TODO. Again, no particular reason other than keeping parameters tight. I see no issue changing it to just use the low part of the 16bit registers - On my TODO. At the moment, the library only supports the default character set, but the addition of a custom character for border is a good idea. The initialize function only exist in the generic library, not the include files and only has to do with initializing the jump table. I would like to keep the functionality of the different flavors the same. If the initialize function were to change settings in VERA as well, someone coming from the generic library to one of the include files might run into issues. The conversion functions pet2scr and scr2pet (also used in print_str) are very limited, that is again because the library only support default character set at the moment. I will look into this - On my TODO Good catch, will fix - On my TODO None of the library functions are designed to function with the decrement bit set and all expect the increment to be set to 1 As you know, I am aiming at a library size below 1K in order to have it reside in Golden RAM. This restriction means that error detection/correction has been omitted it also means that it might be hard to add much more functionality. I thank you for your kind offer to help. For now I would like to try and figure this out my self as this is still a learning experience for me. If you find that I am too slow or going in the wrong direction, feel free to let me know.
  11. VTUI updated to version 0.3 Now it uses zeropage registers r0 to r5
  12. I have not looked into using the new ABI in the kernal and therefor I decided to just leve those registers alone to ensure that I did not interfere with something that would use those registers. The ABI registers are plenty of space for the VTUI library and I have no issue moving it to use r0, r1, r2 and so on.
  13. Please let me know when you find typos, errors and bugs. It seems I quickly "go blind" when looking at my own text and source.
  14. The library has been updated a bit and I have added it to the Dev Tools section
  15. Version 0.8


    VTUI (Vera Text User Interface) library Can be used to create text user interfaces using VERA instead of relying on the KERNAL functions for writing to screen. The library is less than 1KB which means it can be loaded into Golden RAM at $400. As an alternative, include files are provided for Acme and CA65 assemblers. See https://github.com/JimmyDansbo/VTUIlib for documentation, examples and include files.
  16. VTUI Library View File VTUI (Vera Text User Interface) library Can be used to create text user interfaces using VERA instead of relying on the KERNAL functions for writing to screen. The library is less than 1KB which means it can be loaded into Golden RAM at $400. As an alternative, include files are provided for Acme and CA65 assemblers. See https://github.com/JimmyDansbo/VTUIlib for documentation, examples and include files. Submitter JimmyDansbo Submitted 02/16/21 Category Dev Tools  
  17. I have actually startet with a bit of RAM testing.
  18. How did you find out about the $388 and $389 addresses ? Do they actually do anything? I don't see any difference...
  19. I don't know how to solve that, but as @desertfish said, as long as your program stays within the 20x15 range, you should be good to go.
  20. This should solve it, although the addresses $386 and $387 might change with new releases of the KERNAL
  21. Gives you 20x15 You can omit line 10 and still get the same result, but then your cursor disappears. Have a look at the VERA documenation and search for HSCALE or VSCALE
  22. I use the Atom editor, it has syntax highlighting, is multiplatform and has github integration. In order to convert images to binary, I have created https://cx16.dk/piskelc2bin/ and https://cx16.dk/png2bin/ I startet out using http://piskelapp.com/p/create but don't do much graphics. As you might gather, I like my online tools Just wish there would be an online IDE with emulator- and github-integration and maybe even online compiler that was not dependent on locally installed software.
  23. Thank you very much for the video. Nice to hear you talk about your progress as well as the speedbumps. As a bonus I now have an idea on how to actually use your tracker I find it a lot easier to get the basics by watching a video like this than to have to read through documentation that often describes a lot of theory that I don't really understand anyway. When I get a better grasp of how to use this tracker, I will most definitely need real documentation to help me get to the next level. - Keep up the good work
  24. It is great to read about your progress and I am looking forward to be able to really play around with the tracker. When my projects get to a certain size, I usually go back to the beginning and try to read my code with new/fresh eyes. This usually results in more comments in the code as I need to explain to my self what certain pieces of code does. I also try to look at macros and functions and see if I can "lock it down", meaning that I am fairly certain that the code is correct and does not need fixing or tweaking. When I do find those, I usually move it out of the way or "encapsulate" it in "****" lines letting my self know that I don't need to look at this again unless there is a problem. Next time I decide to read from the beginning, is is usually a lot easier because some macros and functions have already been locked away and the rest should have better comments. It seems like a lot of work, but in my experience, it has helped me weed out bugs before they appeared and it usually also helps me see where I have inefficient code.
  • Create New...

Important Information

Please review our Terms of Use