|
Post by Pyrofer on Sept 22, 2019 15:02:54 GMT
Yes, it works when I changed that value to 7....
Ok, so I guess I made a mess trying to work out the settings for a 8x2 colour bitmap screen in NTSC (200pixels total). It now shows on real hardware but looks a mess, what other settings did I cabbage?
|
|
|
Post by Pyrofer on Sept 22, 2019 12:17:29 GMT
No need to send the program I think, I bet the issue is right here,
const int vdcreg[38]={127, //00 Horizontal Total 80, //01 Horizontal Displayed 102, //02 Horizontal Sync Position 73, //03 Vertical/Horizontal Sync Width 130, //04 Vertical Total 38 for 8pixel high chars (130 for 2px high) 0, //05 Vertical Adjust 100, //06 Vertical Displayed 25 for 8pix high (100 for 2px high) 116, //07 Vertical Sync Position 32 for 8px high (128 for 2px high) 0, //08 Interlace Mode 1, //09 Character Total Vertical 160, //0A Cursor Mode, Cursor Start Scan Line 231, //0B Cursor End scan Line 0, //0C Display Start Address High Byte 0, //0D Display Start Address Low Byte 0, //0E Cursor Position High Byte 0, //0F Cursor Position Low Byte 0, //10 Light Pen Vertical Position High Byte 0, //11 Light Pen Vertical Position Low Byte 15, //12 Update Address High Byte 208, //13 Update Address Low Byte 62, //14 Attribute Start Address High Byte (8) 128, //15 Attribute Start Address Low Byte (0) 120, //16 Character Total Horizontal, Character Display Horizontal 2, //17 Character Display Vertical (232) 15, //18 Vertical Smooth Scrolling (32) 207, //19 Horizontal Smooth scroll and Video mode (71) (192) (207 works) 240, //1A Forground/Background Colour 0, //1B Address Increment Per Row 63, //1C Ram type installed / character rom address 231, //1D Underline Scan Line 79, //1E Word Count 255, //1F Data Register 0, //20 Block Start Address High Byte 0, //21 Block Start Address Low Byte 125, //22 Display Enable Begin 100, //23 Display Enable End 0, //24 DRAM Refresh Rate 0}; //25 Sync Polarity
|
|
|
Post by Pyrofer on Sept 22, 2019 12:14:58 GMT
Well, you get a pat on the back from me again I get a blank screen on real hardware too! Thanks for the tip on the smooth scroll registers thing, i will check that out.
|
|
|
Post by Pyrofer on Sept 21, 2019 23:26:53 GMT
So, I compiled a program and it runs in VICE, however I just get a blank screen on Z64K !!!
I am really confused by this as I didn't think I did anything different to the last few programs I compiled which DO run, I tested them and they run. Very Odd, there should be no real difference in this latest program that would make it not work.
I am completely confused by this, I have yet to test on real hardware as my machine is packed away at the moment, but I don't see any reason it wouldn't run! It starts and puts the machine into fast mode as I see the VIC screen go crazy, but the VDC never shows any output unlike in VICE where I see the results of my code...
|
|
|
Post by Pyrofer on Sept 19, 2019 10:42:19 GMT
Ok. I have to admit I have never managed to play a SID in 128 native mode.
As far as I know it's a matter of loading the SID into ram, calling the init address and then calling the "play" address at a regular interval from interrupt right?
All I have managed to do is crash my 128, is this because C64 sid files do things that are not compatible with the 128 mode? I would appreciate some help here! In order to promote my coding competition I decided to work on a little demo myself. It would suck with no sound.
I have somebody helping with graphics, I have some ideas for what to go in but I need some sound. First step is just being able to play a sid of course. If anybody wants to have their SID featured in my demo I am open to that too. Full credit given for contributions of course.
|
|
|
Post by Pyrofer on Sept 13, 2019 9:08:39 GMT
The total pixel count may vary but at least the pixel clock remains constant. I just need to work with watching the hsync pulses instead of counting the pixels in and out. As I said, the advantage is that it should then deal with random modes better and push a little of the work out to the monitor connected.
|
|
|
Post by Pyrofer on Sept 12, 2019 21:04:06 GMT
Here are the basic rules.
1) This must be an original work of your own creation.
2) The submitted entry must not be restricted in licence for distribution (It will be freely distributed and uploaded to csdb)
3) It must not have been previously published, however can have been worked on prior to entry into the competition.
4) The final code must run in native C128 mode on the 80 column display for it's primary function.
5) The storage required must not be greater than two 5.25" floppy disks (single sided) or one double sided disk. The code can be compressed but the total size must fit on a single standard double sided 1571 disk.
6) No custom loader code can be used. The final result must be compatible with standard system calls for loading and run on at least the sd2iec, 1541, 1571, 1581, NeoRam Drive (or best efforts to remain compatible with devices you are unable to test on)
7) No custom or non-standard hardware can be required. Use of 64k VDC ram is allowed but no modifications or additions such as REU can be used.
8) Must be completed and submitted prior to the closing date of the 1st of December
I reserve the right to extend the closing date depending on the volume and quality of entries!
The prizes are yet to be finalised but should contain at least a NeoRam remix cartridge (2mb with battery backup), Magic Desk compatible ROM cart and hopefully some form of VDC 80 col to RGB adapter board from my site (to be determined).
Anybody who wants to donate prizes are welcome and will get full credit for their donation.
I have created a facebook 'event' and you can find it on my page "Pyrofer's Projects" on facebook.
I would love anybody here to enter and hopefully submit an entry!
|
|
|
Post by Pyrofer on Sept 12, 2019 20:09:22 GMT
Not really talking about 128 modes here, just how I capture the output from the VDC. The goal is to capture every pixel perfectly, digitally so the conversion works from a perfect source of the image. That way you get a VGA signal out as if it was the original picture... The problem of course is capturing every single pixel when you don't know HOW MANY there are lol. It seems my original assumptions about how to do it fail, but thats just how these things go. I have new, better ideas and WILL make this scandoubler work. A nice progressive scan de-interlaced VGA output from the VDC that's compatible with ANY display mode it makes? Lets try! My new method is much more adaptive and should work with more screen modes. I have already managed to view mode 1 mode mania in a de-interlaced VGA output and I can tell you, It looks.. Freaking... AMAZING.
|
|
|
Post by Pyrofer on Sept 12, 2019 10:09:04 GMT
Having a nightmare getting the full frame de-interlaced scandoubler working. Turns out that even the default mode has different pixel widths depending on the rom version! I have a plan, it's ongoing Needless to say, its hard. On the upside, the changes I have to make should make compatibility better with random screen modes. The de-interlaced progressive scan picture looks amazing with the Mode Mania images.
|
|
|
Post by Pyrofer on Sept 12, 2019 8:04:04 GMT
Thanks for that!
That might be why I am having so much trouble.. I will have to remove the reliance on exact pixel counts for this to work...
|
|