Petdraw X 2.0

Post Reply
m00dawg
Posts: 346
Joined: Wed Jul 08, 2020 12:41 am
Contact:

File Download Petdraw X 2.0

Post by m00dawg »

PetDrawX 2.0
Screenshot from 2023-07-04 14-39-15.png
Screenshot from 2023-07-04 14-39-15.png (42.35 KiB) Viewed 51884 times
Try It Now!

This is a newly working version of Petdraw for the latest kernel (r42) and VERA. It retains the same features as the original PetDraw by David Murray (technically screen size is broken but I plan on adding it back in) and adds a few small features (more coming). It has been converted over to using cc65 and I've modularized the program into several scopes/procs. C64 compatibility has been removed as well. This version uses drawings made IN Petdraw for displaying the various static menus and that code is fairly easy to use for other applications wanting to pull screen buffer files directly off the filesystem and push them into VRAM. I contacted David about whether it should be renamed or not, and he seems happy with the minor relabel to PetDrawX 2.0.

Latest Changes:

2023-07-04:
* Fixed status bar updates
* Added Home function (moves cursor to left side of screen)
* A few minor tweaks

Previous:
* Auto advance cursor (Option A) - useful for drawing boxes
* File overwriting (can save the file over and over)
* Removed screen size (for now) since it was busted and I wanna redo it and perhaps make the save files include the screensize
* Removed main RAM screen buffer and am using VERA layers instead
* Toggle-able status bar for showing information about what is under the cursor
* Fill background color

More info as well as the source code (which is available under GPLv3) can be found here:

https://gitlab.com/m00dawg/petdrawx
Attachments
petdrawx.zip
(4.83 KiB) Downloaded 1547 times
Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
Screech
Posts: 8
Joined: Fri Jan 01, 2021 5:35 pm

Re: Petdraw X 2.0

Post by Screech »

Nice little adaptation. I never saw a command to exit and return to BASIC. Is there one? Also, do I need to do anything special with the save files other than bvload them? Thanks.
m00dawg
Posts: 346
Joined: Wed Jul 08, 2020 12:41 am
Contact:

Re: Petdraw X 2.0

Post by m00dawg »

I haven't implemented an exit command so if David didn't in the original Petdraw it isn't there. Wouldn't be too hard to add. PetdrawX has been on my list to get to for some time to be able to handle 256 color mode but I've been waffling on if/how to use it in DreamTracker.

For loading saves, I assume you mean how to load them into your programs? I use assembly but I think BVLOAD is probably what you'd want in BASIC. For assembly, this is what I do:

https://gitlab.com/m00dawg/petdrawx/-/b ... type=heads

(Yes, PetdrawX 2.0 loads Petdraw made files from disk too!)

I'm not sure if BVLOAD uses the MACPTR kernel routine but if you were doing it in assembly, I would highly recommend using it. It's FAST. All the Dreamtracker static UI elements are loaded this way at present (they're from PetdrawX 2.0 also).
Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
User avatar
ahenry3068
Posts: 1135
Joined: Tue Apr 04, 2023 9:57 pm

Re: Petdraw X 2.0

Post by ahenry3068 »

I would say it's certain that BVLOAD uses MACPTR. It loads an entire 320x240 8 bit buffer in < 1 second. I don't know any other ROM routine that would support that load time.
m00dawg
Posts: 346
Joined: Wed Jul 08, 2020 12:41 am
Contact:

Re: Petdraw X 2.0

Post by m00dawg »

Ah it must then. One thing I hadn't considered is the screen save is only the viewable area, not the entire buffer. Not sure how that'd affect BVLOAD. The asm routine does it line by line (still quite fast).
Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
User avatar
ahenry3068
Posts: 1135
Joined: Tue Apr 04, 2023 9:57 pm

Re: Petdraw X 2.0

Post by ahenry3068 »

m00dawg wrote: Sat Dec 30, 2023 7:04 pm Ah it must then. One thing I hadn't considered is the screen save is only the viewable area, not the entire buffer. Not sure how that'd affect BVLOAD. The asm routine does it line by line (still quite fast).
I've implemented it here in BASIC. Using the ROM routines so probably the same logic you would use in ASM.

viewtopic.php?t=7022

The routines I've written aren't blazingly fast but they're actually pretty darn speedy for BASIC code.

BVLOAD wouldn't work with that directly. If smaller than 8k you could BLOAD to a Hi-Ram page and call graph_draw_image. My BASIC code will BLIT random size images but I'm also loading from disc. To use BVLOAD direct to VERA Ram you must be full screen width, doesn't have to be full screen height though.
Screech
Posts: 8
Joined: Fri Jan 01, 2021 5:35 pm

Re: Petdraw X 2.0

Post by Screech »

Cool thanks everyone!

I'm making a few basic projects but have also started on my first assembly code project. This app saves me lots of time and knowing how to load the files is perfect
Post Reply