Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New NTSC artifact code plus bug fixes #306

Merged
merged 64 commits into from
Dec 21, 2022
Merged

New NTSC artifact code plus bug fixes #306

merged 64 commits into from
Dec 21, 2022

Conversation

IanSB
Copy link
Collaborator

@IanSB IanSB commented Dec 21, 2022

New NTSC artifact code allows much more accurate emulation of CGA artifact colours which allows the 8088 mph demo to run.
Uses code by reenigne, one of the authors of that demo. This code requires a multicore processor and is currently supported on Pi zero 2W, Pi 3, Pi 3+, & Pi 4. Currently not working on Pi zero, Pi 1 and Pi 2 which revert to the old code.
Add feature for SW3 to cycle NTSC artifact quadrant phases.
Improved support for CGA and Hercules PC cards
Fix incorrect Spectrum palettes
Fix Apple IIGS 14/16 Mhz auto pixel clock switch
Fix grey screen standby not working on c0pperdragon boards
Add 50Hz Intellivision profile
Add Harlequin 128K profile
Add proposed commodore 64 lumacode profile for future c0pperdragon board.
Fix erasing of write protected CPLDs
Various other minor profile tweaks and fixes

@hoglet67
Copy link
Owner

Ian,

Remind me what version of ARM GCC you are using, and I'll make sure to build with the same.

Dave

@hoglet67
Copy link
Owner

BTW, I get some build errors with 11.2 (which is what we use for PiTubeDirect)

[100%] Linking C executable rgb-to-hdmi
/disk1/home/dmb/gcc-arm-11.2/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/rgb-to-hdmi.dir/rgb_to_hdmi.c.obj:(.bss.video_sharpness+0x0): multiple definition of `video_sharpness'; CMakeFiles/rgb-to-hdmi.dir/osd.c.obj:(.bss.video_sharpness+0x0): first defined here
/disk1/home/dmb/gcc-arm-11.2/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/rgb-to-hdmi.dir/vid_cga_comp.c.obj:(.bss.video_bq+0x0): multiple definition of `video_bq'; CMakeFiles/rgb-to-hdmi.dir/capture_line_ntsc_8bpp.S.obj:(.text+0xa664): first defined here
/disk1/home/dmb/gcc-arm-11.2/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/rgb-to-hdmi.dir/vid_cga_comp.c.obj:(.bss.video_bi+0x0): multiple definition of `video_bi'; CMakeFiles/rgb-to-hdmi.dir/capture_line_ntsc_8bpp.S.obj:(.text+0xa660): first defined here
/disk1/home/dmb/gcc-arm-11.2/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/rgb-to-hdmi.dir/vid_cga_comp.c.obj:(.bss.video_gq+0x0): multiple definition of `video_gq'; CMakeFiles/rgb-to-hdmi.dir/capture_line_ntsc_8bpp.S.obj:(.text+0xa65c): first defined here
/disk1/home/dmb/gcc-arm-11.2/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/rgb-to-hdmi.dir/vid_cga_comp.c.obj:(.bss.video_gi+0x0): multiple definition of `video_gi'; CMakeFiles/rgb-to-hdmi.dir/capture_line_ntsc_8bpp.S.obj:(.text+0xa658): first defined here
/disk1/home/dmb/gcc-arm-11.2/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/rgb-to-hdmi.dir/vid_cga_comp.c.obj:(.bss.video_rq+0x0): multiple definition of `video_rq'; CMakeFiles/rgb-to-hdmi.dir/capture_line_ntsc_8bpp.S.obj:(.text+0xa654): first defined here
/disk1/home/dmb/gcc-arm-11.2/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/rgb-to-hdmi.dir/vid_cga_comp.c.obj:(.bss.video_ri+0x0): multiple definition of `video_ri'; CMakeFiles/rgb-to-hdmi.dir/capture_line_ntsc_8bpp.S.obj:(.text+0xa650): first defined here
/disk1/home/dmb/gcc-arm-11.2/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/rgb-to-hdmi.dir/vid_cga_comp.c.obj:(.bss.video_sharpness+0x0): multiple definition of `video_sharpness'; CMakeFiles/rgb-to-hdmi.dir/osd.c.obj:(.bss.video_sharpness+0x0): first defined here
collect2: error: ld returned 1 exit status
CMakeFiles/rgb-to-hdmi.dir/build.make:909: recipe for target 'rgb-to-hdmi' failed
make[2]: *** [rgb-to-hdmi] Error 1
CMakeFiles/Makefile2:84: recipe for target 'CMakeFiles/rgb-to-hdmi.dir/all' failed
make[1]: *** [CMakeFiles/rgb-to-hdmi.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

@IanSB
Copy link
Collaborator Author

IanSB commented Dec 21, 2022

@hoglet67

Remind me what version of ARM GCC you are using, and I'll make sure to build with the same.

Currently it's:
gcc-arm-none-eabi-10.3-2021.10

I think I've fixed the build issues (see above commit)

I will update to v11 in due course but probably best to stick with v10 for this release build as all testing so far has been done with that.

@hoglet67
Copy link
Owner

hoglet67 commented Dec 21, 2022

That fixed the v11 build errors.

I'll stick with v10 for now.

@hoglet67
Copy link
Owner

Would you like me to merge this into master?

@IanSB
Copy link
Collaborator Author

IanSB commented Dec 21, 2022

Yes, It's time for a new release

@hoglet67 hoglet67 merged commit 156e2f0 into hoglet67:dev Dec 21, 2022
@hoglet67
Copy link
Owner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants