Hi everyone!
I finally got around implementing something a few people asked for:
- S-Video input (with pedestal) as default
- When there is no sync on the current input, the Koryuu outputs no signal.
Edit: As the .hex file is just text, I'll paste it here for the time being until I figure out where to host these. It takes a surprisingly large amount of vertical space, sorry.
Code: Select all
:1000000085C000009DC000009BC0000099C000009A
:1000100097C0000095C0000093C0000091C0000090
:100020008FC000008DC000008BC0000089C00000A0
:1000300087C0000085C00000A3C4000081C000008C
:100040007FC000007DC000007BC0000079C00000C0
:1000500077C0000075C0000073C0000071C00000D0
:10006000DCC400006DC000002805360536053605E5
:1000700036053605360536052805360536053605B6
:10008000360536053605360552053605360536057C
:1000900036053605360536058E0536053605360530
:1000A00036053605360536056D0536053605360541
:1000B00036053605360536058E0536053605360510
:1000C0003605360536053605360536053605360558
:1000D00036053605360536058705360536053605F7
:1000E00036053605360536058E05360536053605E0
:1000F0003605360536053605360536053605360528
:1001000036053605360536054305580311241FBE4E
:10011000CFEFD8E0DEBFCDBF21E0A0E0B1E001C06D
:100120001D92AC33B207E1F710E0C6E8D0E003C09F
:100130002197FE01FFD4C538D107D1F7D2D200C52F
:100140005FCFE0910801F0910901309711F062E072
:10015000099408950F931F93CF93DF9300D0CDB7E9
:10016000DEB7182F69834A83BE016F5F7F4F70939C
:10017000150160931401AE014D5F5F4F509317015D
:10018000409316018093180181E0809319018093B8
:100190001B0110921C01109221011092200110925B
:1001A0001F01E0911D01F0911E01309721F001E047
:1001B00021E0812F09958091BC00816A8093BC0069
:1001C000809119018111FCCF80911C01882311F0CD
:1001D000812FB7DF0F900F90DF91CF911F910F917B
:1001E00008950F931F93CF93DF9300D0CDB7DEB761
:1001F000182F69834A83BE016F5F7F4F709315018B
:1002000060931401AE014D5F5F4F5093170140930F
:1002100016018093180181E08093190180931B01DE
:1002200010921C01109221011092200110921F01C6
:10023000E0911D01F0911E01309721F001E021E0D5
:10024000812F09958091BC00816A8093BC008091C8
:1002500019018111FCCF80911C01882311F0812F9D
:1002600070DF0F900F90DF91CF911F910F91089544
:1002700098E288E10FB6F894A895809360000FBECD
:1002800090936000299A2A9A2E9A5E9842985F98D5
:1002900029E130E088E893E1F9013197F1F701971E
:1002A000D9F7199908C0299A1A9908C02A9A1E994B
:1002B00008C02E9AEFCF29981A9BF8CF2A981E9B38
:1002C000F8CF2E98E7CF611116C0882341F141E0A5
:1002D00050E067E170E080913A0183DF43E150E054
:1002E00068E170E080913A017CDF80913A0140E161
:1002F00063EF70E02FCF44E450E067E170E080915D
:100300003A016FDF44E850E068E170E080913A0123
:1003100068DF80913A0140E063EF70E01BCF41E479
:1003200050E067E170E080913A015BDFD7CFBF9288
:10033000CF92DF92EF92FF920F931F93CF93DF93B1
:1003400000D0CDB7DEB7182FB62E80913A019FE0CE
:10035000998390E89A839E012F5F3F4F79013093F4
:100360001501209314016E0133E0C30ED11CD0920D
:100370001701C09216018093180191E09093190122
:1003800090931B0110921C011092210110922001E8
:1003900010921F01E0911D01F0911E01309749F06C
:1003A00001E021E0A601B7010995E0911D01F0915E
:1003B0001E018091BC00816A8093BC00809119016C
:1003C0008111FCCF80911C018091120197E19983EA
:1003D00092E09A83F0921501E0921401D0921701F5
:1003E000C09216018093180191E0909319019093A7
:1003F0001B0110921C0110922101109220011092F9
:100400001F01309749F001E021E0A601B7010995ED
:10041000E0911D01F0911E018091BC00816A8093E2
:10042000BC00809119018111FCCF80911C01809149
:100430003A019FE099831A82F0921501E09214012B
:10044000D0921701C09216018093180191E0909309
:10045000190190931B0110921C011092210110921E
:10046000200110921F01309729F001E021E0A60140
:10047000B70109958091BC00816A8093BC0080918E
:1004800019018111FCCF80911C0184EC99E0019746
:10049000F1F71111F8C04DEC50E062E570E0809189
:1004A0003A019FDE40E060E070E080913A0152DE68
:1004B00040E86EE070E080913A014CDE40E050E0B0
:1004C0006CE970E080913A018CDE4FEF50E06CE90E
:1004D00070E080913A0185DE40E06EE070E080914E
:1004E0003A0138DE41E550E060E870E080913A0181
:1004F00078DE41E550E061E870E080913A0171DE1C
:1005000048E650E062E870E080913A016ADE40E23D
:100510006EE070E080913A011DDE43E664E470E035
:1005200080913A0117DE43E663E470E080913A017E
:1005300011DE4FE36CE470E080913A010BDE4FE393
:100540006BE470E080913A0105DE41ED60E470E01B
:1005500080913A01FFDD40E06EE070E080913A0169
:10056000F9DDB1109EC044E062E070E080913A0194
:10057000F1DD4CE863E070E080913A01EBDD47E3A8
:1005800064E070E080913A01E5DD40E050E063E135
:1005900070E080913A0125DE41E150E064E170E0D5
:1005A00080913A011EDE40E650E065E170E0809106
:1005B0003A0117DE60E0812F86DE40E450E06DE115
:1005C00070E080913A010DDE42E050E061E370E0BE
:1005D00080913A0106DE4CEE6DE470E080913A01C4
:1005E000B9DD44E150E06BE670E080913A01F9DD5D
:1005F00041E050E060E070E080911201F2DD40E106
:1006000050E060E170E080911201EBDD40E050E0ED
:1006100061E070E080911201E4DD40E150E060E8CB
:1006200070E080911201DDDD48EC50E062E870E09E
:1006300080911201D6DD44E150E063E870E08091E2
:100640001201CFDD46E050E064E870E080911201D5
:10065000C8DD40E250E067E870E080911201C1DD42
:1006600042E050E068E870E080911201BADD0F903E
:100670000F90DF91CF911F910F91FF90EF90DF903E
:10068000CF90BF9008954EEC50E063E570E080910C
:100690003A01A7DD49E060E070E080913A015ADD5F
:1006A00007CF44E162E070E080913A0153DD61CF11
:1006B00010921E0110921D01E2E2F1E080E2808FB3
:1006C00084E8818F52985A9A5E98569A5E9842981A
:1006D0003A9A42988AE2809312015F98579A5F98FB
:1006E0000895CF93DF931F92CDB7DEB7F894A89506
:1006F00084B7877F84BF80916000886180936000A9
:1007000010926000789488EA91E60197F1F7F894E6
:1007100055985D9A27982F9A82E084BD95E095BD03
:1007200094E097BD80936E002998219A29982A9881
:10073000229A2A982E98269A2E9844983C98459862
:100740003D988091B9008E7F8093B9008091B90067
:100750008D7F8093B9008DEF8093B80085E48093FE
:10076000BC0088E391E0909309018093080178949C
:100770008CED95E00197F1F75E9A429A5F9A84ECCE
:1007800099E00197F1F761E081E0D1DD83E08093AA
:1007900007012A9A01E010E0CE0101966C01019652
:1007A0007C0182E0982E93E0A92E23E1B22EF894EA
:1007B000809106011092060178948823A1F080911F
:1007C0000701813009F4CAC008F4BEC0823009F4C0
:1007D000B2C0833041F460E080E0A9DD10920701EF
:1007E000299A2A9810E0F894809105011092050149
:1007F00078948823A9F06091040181E068276093D0
:10080000040180910701823008F490C0843020F404
:1008100081E059DD60910401662309F485C02E9AB8
:1008200089B1982F9470892E82FF03C0002309F4A8
:10083000BECF70903A01B982D0921501C0921401D6
:10084000F0921701E09216017092180181E08093F6
:10085000190110921B0110921C011092210110929B
:10086000200110921F01E0911D01F0911E013097AF
:1008700031F000E021E0A701B601872D09958091B4
:10088000BC00816A8093BC00809119018111FCCF6A
:1008900080911C01709218011092130181E08093E5
:1008A0001A0180931B0110921C01109221011092D9
:1008B000200110921F018091BC00816A8093BC00CE
:1008C00080911A018111FCCF809113011123F1F065
:1008D00080FF4DC0811026C040E26EE070E0809144
:1008E0003A0138DC43E663E470E080913A0132DC9F
:1008F0004FE36BE470E080913A012CDC40E06EE065
:1009000070E080913A0126DC01E051CF80FFE2CF18
:100910004EE150E060E070E08091120162DC11E095
:100920008820D1F200E043CF2E987ACF80E0CBDC54
:100930006091040171CF44E162E070E080913A017E
:1009400009DCA09207014FCF44E162E070E08091A2
:100950003A0100DC81E08093070145CF60E081E04F
:10096000E6DC9092070129982A9A10E03CCF41E0FA
:1009700050E060E070E08091120133DC10E0AACF1B
:100980001F920F920FB60F9211242F938F939F9364
:1009900089B191E0282F207285FD90E080910101BE
:1009A0009817C1F1809100018F5F8093000184301E
:1009B00051F123B1822F8095881F8827881F90913D
:1009C00003018917B1F0909102019F5F909302019A
:1009D000943041F09F918F912F910F900FBE0F9007
:1009E0001F9018958093030127FD03C081E0809339
:1009F0000501109202019F918F912F910F900FBED0
:100A00000F901F90189590930101211103C081E070
:100A10008093060110920001CCCF1F920F920FB667
:100A20000F9211242F933F938F939F93AF93BF9374
:100A3000EF93FF938091B900E82FE87F8E2F90E02D
:100A4000FC013897E135F10588F4EC5CFF4F72C08A
:100A500080911A01882309F465C080911801880FDC
:100A600081608093BB0085EC8093BC00FF91EF9187
:100A7000BF91AF919F918F913F912F910F900FBE9A
:100A80000F901F90189581E0809321018091BB0009
:100A90008093130185ED8093BC0010921901109290
:100AA0001A01E4CF81E080931F01E0911401F091DD
:100AB00015018091160190911701E817F90751F37C
:100AC000CF0101969093150180931401808180934A
:100AD000BB0085EC8093BC00C9CF81E080932101ED
:100AE000E0911401F0911501209116013091170148
:100AF000E217F30729F78093200180911B018111F0
:100B0000C9CF84E68093BC0010921901AFCF81E079
:100B100080931F0185E88093BC00A8CF81E080937B
:100B20001C01B8CF8091180190E0880F991F809325
:100B3000BB0099CFEE0FFF1F0590F491E02D0994B3
:040B4000F894FFCF57
:00000001FF
You can use a suitable AVR ISP programmer and avrdude to update the firmware, like so:
Code: Select all
avrdude -p atmega328p -P your_port -c your_programmer_type -U flash:w:firmware.hex
(The parameters your_port and your_programmer_type depend on your setup and programmer.)
Sorry for the terse instructions. I intend to create better ones soon.
As for some other things people have asked for:
- Remembering the input last used before power-off: doable, easy, some thinking to avoid needless nonvolatile memory wear, a little bit of work to implement
- Any other settings you might be interested in saving?
- Auto-selecting input by polling both inputs: doable, not difficult, may require some code reorganization for maintainability purposes.