Jump to content
IGNORED

PVcollib


alekmaul

Recommended Posts

  • 2 months later...

I've just installed this as a complete beginner and am testing it out with the Hello World example.  I ran into a few issues:

  • I needed to add C:\colecodev\bin to my PATH (via Environment Variables) to get it to work in Windows 10.  It wasn't clear to me in the Wiki instructions that this needed to be done.
  • The build_pvcollib.bat didn't work until I did the above.  Is this step still necessary as the lib folder does already include collib.lib and crtcol.rel ?
  • When making the Hello World example I get an error.  The output is as follows:
    > "make" 
    Compiling C to .rel ... helloworld.c
    sdcc -mz80 -c -I/c/PVcollib//include -I/c/PVcollib/devkitcol/include --std-c99 --opt-code-size --fverbose-asm --max-allocs-per-node 20000 --vc   -I/usr/coleco-examples/helloworld/  helloworld.c
    Linking ... helloworld.rom
    sdcc -mz80 --no-std-crt0  --code-loc 0x8048 --data-loc 0x7000   /c/PVcollib//lib/collib.lib /c/PVcollib//lib/crtcol.rel  helloworld.rel 
    sdobjcopy -R .sec5 -I ihex -O binary --pad-to 0xffff --gap-fill 0xff crtcol.ihx helloworld.rom
    /bin/sh: grep: command not found
    "make": *** [/usr/coleco-examples/helloworld/helloworld.rom] Error 127

Despite the above error, the helloworld.rom is created and does work.

Link to comment
Share on other sites

The grep command is only to present you the size of CODE, DATA segments. It seems that you do not have it on your computer, I will add it to the minimal command package I zipped with the installation.

It is strange that you need to add bin directory to your path, I do not have this issue with my Win XP virtual machine ...

Link to comment
Share on other sites

15 hours ago, alekmaul said:

The grep command is only to present you the size of CODE, DATA segments. It seems that you do not have it on your computer, I will add it to the minimal command package I zipped with the installation.

It is strange that you need to add bin directory to your path, I do not have this issue with my Win XP virtual machine ...

Yeah, I don't have grep on my computer.  I'm guessing the optional Unix package you suggest would have installed it but I opted to not do that.

 

I'm on Windows 10 64-bit but to be honest didn't pay that close attention to exactly what I did to get it working.  I guess if I have to reinstall in the future I'll pay closer attention and confirm if that path statement is definitely needed or not.  Windows 10 is a strange and fickle beast.

Edited by Ikrananka
Link to comment
Share on other sites

  • 3 weeks later...

New version 1.5.1 is now available here:https://github.com/alekmaul/pvcollib

Here is the changelog:

  • Add bunny example (thanks Amy Purple for sharing this game)
  • Fix Makefile to add sys_choice and vdp_putvram_reapeat <_< (stupid I was ...)
  • Add vdp_putvram_repeat to repeat some chars n times on screen (thanks Amy Purple for this function)
  • Add sys_choice function to choose a key on joypad (thanks Amy Purple for this function)
  • Remove docs content (useless)
  • Add graphic mode 1 example
  • Add vdp_putarea function
  • Add default sprite address 0x3800 in mode 2
  • Add spr_updatefast funciton without changing order
  • Change palette for f18a from bytes to words
  • Add sys_memcpyb to copy memory byte per byte
  • Add snd_mute variable to mute background sound playing (if you have another sound engine)
  • Change vdp_disablescr & vdp_enablescr with flag for nmi
  • Add vdp_getvram function
  • Like 2
Link to comment
Share on other sites

Just installed and was playing with this.

 

I got the hello world to work fine

the 3 f18a samples worked fine including the scrolling demo.

the 2 games bunny & diamond compiled fine with sound

mode1plecompress rom compiled and worked fine.

 

the sprite simple and animated samples compiled but gave black screen

the music and simple sound comiled but gave me black screen & no sound.

the bitmap megacart sample comipled to 128kb displays the first image but won't doing anything else despite pressing left right buttons etc. also I had to correct the the graphic table names in the megacart.c file by adding gfx to the end of eech (    vdp_dan2vram (TILimage3gfx, chrgen); // characters) then it works. I'll play with it a bit more see if I can get the other 2 images to display.

 

Looking very promising.

 

I copied the bin folder also inside the pvcollib to the root directory before compiling and that worked.  c:\colecodev

 

I'm going to play with it a bit more.

Edited by digress
Link to comment
Share on other sites

thanks for your tests @digress, I will investigate the blacks screens. That's strange but I think it is because I did them a long time ago and I forgot regression tests because I use pvcollib for each game I make without any issue :( ...

For all community information, @newcoleco is working a lot to port some of her games she did a long time ago to pvcollib to have more examples to help us using pvcollib :)

She is also working with me to improve pvcollib and add some functions!

 

Edited by alekmaul
  • Like 2
Link to comment
Share on other sites

@newcoleco is one of the very best. 

 

@tursi also added a nice fix to the previous coleco libraries that was causing video corruption to happen as there was a interupt still happening even if you had the nmi_diabled which caused me continual headaches. I really don't know what he did but I would like to make sure that it was addressed.

 

His fix has worked ever since in the old library from @newcoleco i've been using. It was discussed here. Looks like you previously seen it too.

 

 

Link to comment
Share on other sites

On 9/23/2020 at 4:06 PM, digress said:

@tursi also added a nice fix to the previous coleco libraries that was causing video corruption to happen as there was a interupt still happening even if you had the nmi_diabled which caused me continual headaches. I really don't know what he did but I would like to make sure that it was addressed.

 

His fix has worked ever since in the old library from @newcoleco i've been using. It was discussed here. Looks like you previously seen it too.

 

 

Yeah, I also manage some code about VDP corruption, and you have two functions you need to use to update VDP OUTSIDE of NMI routine :

Quote

vdp_blocknmi();

and

Quote

vdp_releasenmi();

 

  • Like 1
Link to comment
Share on other sites

On 9/23/2020 at 8:06 AM, digress said:

@tursi also added a nice fix to the previous coleco libraries that was causing video corruption to happen as there was a interupt still happening even if you had the nmi_diabled which caused me continual headaches. I really don't know what he did but I would like to make sure that it was addressed.

While I made a lot of changes, mostly I was focused on reducing the assumption that it was safe to access the VDP outside of the NMI. I can't remember what state my own lib was in at the time but ISTR I mostly ported the NMI handling from there.

 

10 minutes ago, alekmaul said:

Yeah, I also manage some code about VDP corruption, and you have two functions you need to use to update VDP OUTSIDE of NMI routine :

 

These look like they should do the trick to me! But I see you also have enablenmi and disablenmi, and that this is what the Diamond example uses. This seems to work via the BIOS functions. I didn't trace into what they do since I don't use the BIOS.

 

I think some influence must have come from my lib, since I appear to have a comment in crtcol.s! ?

 

 

Link to comment
Share on other sites

On 9/25/2020 at 6:22 AM, Tursi said:

I think some influence must have come from my lib, since I appear to have a comment in crtcol.s! ?

 

 

you're right and I don't think I credit you about that, my mistake :/.

I updated readme.md with a link to your website :)

Regarding EmulTwo, i will work on it again to add more Adam support and update some screens for programmers. 

Edited by alekmaul
EMultwo
Link to comment
Share on other sites

16 hours ago, alekmaul said:

you're right and I don't think I credit you about that, my mistake :/.

I updated readme.md with a link to your website :)

It's quite all right! I'm happy to have made an impact, however small. :)

 

My lib is released public domain, so you have no obligation with respect to it whatsoever. I did that on purpose, feel free! :)

 

Link to comment
Share on other sites

On 9/21/2020 at 11:22 PM, digress said:

I got the hello world to work fine

the 3 f18a samples worked fine including the scrolling demo.

the 2 games bunny & diamond compiled fine with sound

mode1plecompress rom compiled and worked fine.

 

the sprite simple and animated samples compiled but gave black screen

the music and simple sound comiled but gave me black screen & no sound.

the bitmap megacart sample comipled to 128kb displays the first image but won't doing anything else despite pressing left right buttons etc. also I had to correct the the graphic table names in the megacart.c file by adding gfx to the end of eech (    vdp_dan2vram (TILimage3gfx, chrgen); // characters) then it works. I'll play with it a bit more see if I can get the other 2 images to display.

 

I copied the bin folder also inside the pvcollib to the root directory before compiling and that worked.  c:\colecodev

 

Hi @digress

You need to run the .bat file to install pvcollib in c:\colecodev (take a look at wiki for explanantions), I don't think you need to copy the bin folder :(

 

Regarding the samples you tested, I updated them and now they worked. I pushed the updates on github (only some fix with enablenmi and gfx names) but not yet released a new version

I'm waiting for new feature we are currently working on with @newcoleco

 

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Never mind... seems to be working now. Not sure what happened, but I renamed (to back up) the original colecodev folder, downloaded the latest version into a new colecodev folder, ran the batch file, and it seems to be working okay.

 

 

 

@alekmaul, I'm able to compile the original .c sample files, but as soon as I change anything, even a comment (or just save), the compile fails with syntax error on the first line of the code. I tried all the save as formats in notepad, and then I also downloaded and tried notepad++ with no improvement. When I "type" the .c file in DOS to show the file on the screen, it looks great. Any ideas?

 

Picture shows compile of adjusted file, then compile after deleting adjusted file and bringing back original file, then compile after opening original file in notepad++ and just doing a save. File sizes are the same in all cases:

 

CV.png

Link to comment
Share on other sites

  • 2 weeks later...
5 minutes ago, alekmaul said:

Nice to hear that I'm not the only one using my lib ;) !

Thanks for it! There were a few bumps along the way (folder location, my old files don't compile, and then the unknown file corruption that happened), but besides that, it's working well. Things that work well are:

  • Install was quite easy. I'm not a hardcore programmer, so having clear instructions, and everything ready to go is a bonus.
  • Compiling is easy. I don't have grep, so I first need to delete the .rom file, but after that, I just need to type "make" in a DOS window, and it does everything.
  • I've only made very short test programs so far, but the instructions seem decent.
Link to comment
Share on other sites

1 hour ago, alekmaul said:

Nice to hear that I'm not the only one using my lib ;) !

I've played with it quite a bit. Problem is I have 3 or 4 half done done projects using my previous tool chain so I have to finish one or two of them up first. 

 

I like what you have created. An all in one gui with your coleco emulator attached, some way to make it easier soemthing like this would cool. So you can just output a rom without too much knowledge. Test it in the same gui. And use your advanced f18a lib & sgm lib.

 

https://8bitworkshop.com/v3.5.0/?platform=coleco&file=lines.c

  • Thanks 1
Link to comment
Share on other sites

I still need to continue to work on SGM & F18a, lots of features are not include

If you want to contribute to the lib, you're welcome !

As the source code of 8bitworkshop ide is on Github (https://github.com/sehugg/8bitworkshop), it could be nice to adapt it to pvcollib :)

Edited by alekmaul
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...