diff --git a/bios/Arcade/Arcade/.variants/hiscore.dat.d41b1c32 b/bios/Arcade/Arcade/.variants/hiscore.dat.d41b1c32 new file mode 100644 index 00000000..32d2cc86 --- /dev/null +++ b/bios/Arcade/Arcade/.variants/hiscore.dat.d41b1c32 @@ -0,0 +1,12179 @@ +; ___ ___ ___ ________ ______ ________ _____ _______ ______ _______ __________ +; / / / // // // ___/ / ____ // _ \ / / / __ \ / __ //___ ___/ +; / /__/ // // _____// / / / / // /_/ / / ____/ / / \ // /_/ / / / +; / __ // //____ // / / / / // / / ____/ / / / // __ / / / +; / / / // // // /___ / /___/ // /\ \ / /_ / /___/ // / / / / / +;/__/ /__//__//_______//______//_______//__/ \__\/______//_//_______//_/ /_/ /__/ +;_________________________________________________________________________________________ + +; MAME 2003-Plus hiscore.dat +; +; This file can be edited with a text editor, but keep the same format: +; all fields are separated by a colon (:) +; +; : +; :
::: +; [repeat the above as many times as necessary] +; +; *** Compiled from the official pre-0.107 hiscore.dat *** +; *** Plus Leezer's unofficial post-0.107 hiscore.dat *** + + +metlfrzr: +0:d822:a0:00:37 + +pacmanblb: +0:4688:3:00:00 +0:5180:1:40:40 +0:51a0:1:40:40 +0:51c0:1:40:40 +0:51e0:1:40:40 +0:5200:1:40:40 +0:5220:1:40:40 +0:466f:1:03:03 + +knockout: +mariner: +scrambles: +triplep: +triplepa: +800fath: +scramb2: +knockoutb: +knockoutc: +0:4200:1e:00:01 +0:40a8:03:00:01 + +fball: +0:d840:69:00:48 + +wingforc: +0:30d7e7:13f:00:35 + +ikari: +ikarijp: +ikarijpb: +ikarinc: +ikaria: +0:ff0b:50:00:49 +0:fc5f:3:00:00 + +ikariram: +0:ff0b:50:00:4f +0:fc5f:3:00:00 + +piratesb: +pirates: +0:10a544:76:4e:10 +0:10a5b0:1:4e:4e + +mexico86: +kicknrun: +kicknrunu: +mexico86a: +0:ee18:2d:17:49 + +anteatergg: +0:40ef:3c:00:20 + +anteaterg: +0:4ef:3c:00:20 + +anteateruk: +0:4ef:3c:00:59 + +anteater: +0:80ef:3c:01:4c + +sf2v004: +0:ffd276:30:01:20 +0:ffd2c6:18:ff:9e +0:ffd2ee:04:01:67 + +taotaido: +0:fe91e4:4e:14:02 + +taotaidoa: +0:fe9340:4e:01:02 + +taotaido3: +0:fe91d4:4e:01:02 + +sdi: +defense: +sdibl: +sdib: +sdibl2: +sdibl3: +sdibl4: +sdibl5: +sdibl6: +0:fff800:320:00:20 +0:fffb88:4:00:00 +0:fffbca:3:4b:5a + +tcobra2: +tcobra2u: +0:4006e0:11c:00:00 +0:4007d3:1:02:02 +0:400845:1:80:80 + +ktiger2: +0:4006e0:11e:00:00 +0:4007f9:1:01:01 + +blswhstl: +detatwin: +blswhstla: +0:207000:50:00:2e +0:204048:4:00:30 + +gemini: +0:cf41:46:00:00 +0:c026:3:00:00 +0:c027:1:50:50 +0:d241:1:40:40 +0:d221:1:40:40 +0:d201:1:35:35 +0:d1e1:1:30:30 +0:d1c1:1:30:30 +0:d1a1:1:30:30 +0:d181:1:30:30 + +cryptklr: +0:237dc0:50:40:00 + +akkanvdr: +spcinv95: +spcinv95u: +0:417484:6c:00:00 +0:4174e7:1:55:55 +0:410b82:4:00:00 + +edf: +edfu: +edfbl: +edfa: +0:64c17:107:01:00 +0:61d3e:4:00:00 +0:64ccb:1:09:09 + +warpwarp: +0:831d:3:00:00 + +warpwarpr: +warpwarpr2: +0:831d:3:00:00 +0:8358:1e:00:18 + +phoenix: +condor: +falcon: +nextfase: +phoenix3: +phoenixa: +phoenixb: +phoenixc: +phoenixc2: +phoenixj: +phoenixt: +vautour: +pleiads: +pleiadbl: +pleiadce: +phoenixc3: +phoenixc4: +pleiadsb2: +phoenixs: +avefenix: +pleiadsi: +pleiadss: +phoenixdal: +avefenixrf: +avefenixl: +phoenixass: +vautourza: +pleiadsn: +0:4389:03:00:00 +0:41e1:01:20:20 +0:41c1:01:20:20 +0:41a1:01:20:20 +0:4181:01:20:20 +0:4161:01:20:20 +0:4141:01:20:20 +0:4381:03:00:00 +0:4301:01:20:20 +0:42e1:01:20:20 +0:42c1:01:20:20 +0:42a1:01:20:20 +0:4281:01:20:20 +0:4261:01:20:20 +0:4385:03:00:00 +0:40c1:01:20:20 +0:40a1:01:20:20 +0:4081:01:20:20 +0:4061:01:20:20 +0:4041:01:20:20 +0:4021:01:20:20 + +batman2: +0:4289:03:00:00 +0:51e1:01:20:20 +0:51c1:01:20:20 +0:51a1:01:20:20 +0:5181:01:20:20 +0:5161:01:20:20 +0:5141:01:20:20 +0:4281:03:00:00 +0:5301:01:20:20 +0:52e1:01:20:20 +0:52c1:01:20:20 +0:52a1:01:20:20 +0:5281:01:20:20 +0:5261:01:20:20 +0:4285:03:00:00 +0:50c1:01:20:20 +0:50a1:01:20:20 +0:5081:01:20:20 +0:5061:01:20:20 +0:5041:01:20:20 +0:5021:01:20:20 + +mmagic: +0:2000:3:00:00 + +maya: +inca: +mayaa: +mayac: +0:7500:22:41:00 +0:7741:2:fa:00 + +paradise: +paradisea: +paradisee: +0:e6c3:3:00:01 +0:e6e3:22:41:00 + +vigilant: +vigilantbl: +vigilantc: +vigilantd: +vigilanto: +vigilantg: +vigilantb: +vigilanta: +0:e048:3f:00:48 + +dfkbl: +0:ca02028:2fcb:08:56 + +mcheonru: +0:1090dc:11f:00:06 + +daioh: +daioha: +0:10748c:a3:00:05 +0:10748f:1:e8:e8 + +daiohc: +0:207496:99:00:05 + +daiohp: +0:206c96:99:00:05 + +carhntds: +0:845e:6:00:04 +0:83a1:6:00:00 + +berzerk: +berzerk1: +berzerkg: +berzerks: +berzerkf: +0:4302:3c:00:00 +0:4301:1:42:42 + +gprider: +gprideru: +gpriderj: +gpriderjs: +gpriders: +gpriderus: +0:280192:aa:34:30 +0:9c708:8:01:20 + +spider: +0:6f6c:13:50:00 +0:e07c:2c:41:00 +0:e542:b:01:01 +0:6f7d:1:27:27 + +cdracula: +0:c39f:6a:43:00 +0:c406:1:13:13 +0:cc2b:4:50:00 + +brickzn: +brickznv4: +brickznv5: +brickzn11: +0:cf10:4e:23:4d +0:c8a0:2:00:03 + +smissw: +0:c025b6:63:30:20 + +sidearms: +sidearmsr: +sidearmsur1: +0:e682:4e:00:03 +0:e601:7:00:00 +0:e6ce:1:3b:3b + +sidearmsu: +0:e682:4e:00:03 +0:e601:7:00:00 +0:e6ce:1:01:01 + +sidearmsj: +0:e682:4e:00:00 +0:e601:7:00:00 +0:e6ce:1:3b:3b + +xmultiplm72: +0:8099e:43:50:00 +0:80998:06:00:00 + +xmultipl: +0:9c998:4:00:00 +0:9c99d:44:00:00 +0:9c9da:1:62:62 + +startrks: +0:d78a:5:30:30 + +bwidow: +0:302:24:20:db +0:326:76:1b:11 + +bwidowp: +0:32b:31:00:00 + +supduck: +0:ffc332:30:41:00 +0:ffc360:1:10:10 + +drgw2: +dw2v100x: +0:80caf8:46:49:40 + +drgw2hk: +0:80f13a:46:49:40 + +alinvade: +0:9f:3:00:00 + +hachamf: +hachamfb: +0:fc000:3f0:01:4e + +nzeroteam: +0:925c:4b:40:55 + +zerotm2k: +0:924e:4b:40:55 + +zeroteam: +zeroteamd: +zeroteamc: +zeroteams: +zeroteamsr: +zeroteama: +zeroteamb: +0:9212:4b:40:55 + +raidendx: +raidendxu: +raidendxk: +raidendxj: +raidendxa2: +raidendxa1: +raidendxnl: +raidendxg: +raidendxch: +raidendxja: +0:a25a:2cf:a0:2a + +r2dx_v33_r2: +0:9e46:ef:50:2a + +r2dx_v33: +0:a2d8:2cf:a0:2a + +raiden2: +raiden2dx: +raiden2nl: +raiden2hk: +raiden2i: +raiden2j: +raiden2u: +raiden2sw: +raiden2f: +0:9dd4:ef:50:2a + +raiden2g: +raiden2ea: +raiden2e: +raiden2eua: +raiden2eu: +0:9de4:ef:50:2a + +arescue: +arescuej: +0:20fb00:9f:a0:49 + +fixeightbl: +fixeight: +fixeightt: +fixeighth: +fixeightht: +fixeightj: +fixeightjt: +fixeighta: +fixeightat: +fixeightk: +fixeightkt: +fixeighttw: +fixeighttwt: +fixeightu: +fixeightut: +0:100408:4:00:00 +0:10043c:82:00:04 +0:10040a:1:53:53 + +firebarr: +0:e3252:8c:00:20 + +cosmccop: +0:e3c5e:6e:10:41 +0:e3d72:03:10:06 +0:e3d18:3c:00:5a + +gallop: +0:a3d00:6e:10:41 +0:a3e14:03:10:06 +0:a3dba:3c:00:5a + +bchopper: +mrheli: +0:a37c0:78:63:60 +0:a37ba:03:63:01 + +kangaroo: +kangarooa: +kangaroob: +0:e1a0:3c:00:00 +0:e1da:1:50:50 + +nemesis: +nemesisuk: +0:06509a:1:76:76 +0:065010:8c:00:00 +0:060098:4:00:00 +0:06009a:1:73:73 + +wyvernf0: +0:8800:190:00:26 + +rolcrush: +0:fede76:76:41:01 + +gangwarsu: +gangwarsb: +gangwars: +gangwarsj: +0:43bb2:34:00:45 + +daitorid: +0:8042ba:28:00:40 +0:8042e2:28:02:00 + +daitorida: +0:f042ba:4a:00:01 + +falconz: +vautourz: +0:4389:03:00:00 +0:41e0:01:20:20 +0:41c0:01:20:20 +0:41a0:01:20:20 +0:4180:01:20:20 +0:4160:01:20:20 +0:4140:01:20:20 +0:4381:03:00:00 +0:4300:01:20:20 +0:42e0:01:20:20 +0:42c0:01:20:20 +0:42a0:01:20:20 +0:4280:01:20:20 +0:4260:01:20:20 +0:4385:03:00:00 +0:40c0:01:20:20 +0:40a0:01:20:20 +0:4080:01:20:20 +0:4060:01:20:20 +0:4040:01:20:20 +0:4020:01:20:20 + +phoenxp2: +0:4289:03:00:00 +0:51e1:01:20:20 +0:51c1:01:20:20 +0:51a1:01:20:20 +0:5181:01:20:20 +0:5161:01:20:20 +0:5141:01:20:20 + +passshtb: +passsht: +passht4b: +passshtj: +passsht16a: +passshta: +passshtad: +passshtd: +passshtjd: +0:ffee00:59e:4d:41 + +cencourt: +0:ffec00:59e:4d:41 + +stoffyu: +stoffy: +0:833:e0:00:f2 +0:913:f0:20:00 + +shangha3: +0:307be4:78:00:1d + +megaphx: +0:c54:9f:1f:30 + +intrepid: +intrepid2: +intrepidb: +0:803c:3d:02:fd +0:8035:2:00:00 + +intrepidb2: +intrepidb3: +0:803c:3d:02:fd +0:8035:2:00:00 + +galaxia: +galaxiaa: +galaxiab: +galaxiac: +0:1d1d:3:00:00 +0:1c91:1:55:55 + +funkyjeta: +funkyjetj: +funkyjet: +0:143a01:20:00:10 +0:143a21:140:12:00 + +discoboy: +discoboyp: +0:f800:80:00:2e + +ddpdfk: +0:c889b1c:2cff:06:4e + +ddpdfk10: +0:c88877c:2cff:06:4e + +espgal2: +0:c43e064:ed:00:4d + +futari10: +0:c51c0b0:18d:00:48 + +futari15: +0:c51f7a4:1dd:00:41 + +futari15a: +0:c51f794:1dd:00:41 + +futaribl: +futariblj: +0:c5193ac:275:00:44 + +mushisam: +0:c244d8c:ed:00:4d + +mushisama: +0:c244d1c:ed:00:4d + +mushisamb: +0:c244dec:9d:00:4e + +deathsml: +0:c53abd8:63f:00:4d + +dsmbl: +0:c89aee9:95e:00:4d + +danceyesj: +0:2b5350:30:a0:48 + +danceyes: +0:2b5830:30:a0:48 + +blockcar: +blockcarb: +0:f00058:54:00:08 + +sokyugrt: +0:608dc30:9d:82:47 +0:60bda38:4:00:c0 + +krzybowl: +0:800105:63:00:00 +0:c00080:1:05:05 + +wivernwg: +0:c79fb:f9:24:40 + +earthjkr: +earthjkrp: +0:103204:2f:00:42 + +4enraya: +0:c152:6c:01:0c + +astrob: +astrob2: +0:cb3f:F6:00:00 +0:CC18:1:5C:5C + +astrob2a: +astrobg: +astrob1: +0:cb3f:da:00:5c + +strider2: +strider2a: +shiryu2: +0:4dfe08:a8:01:24 + +aquarush: +0:f4f68:136:4a:bb +0:f5468:3cef:4a:02 + +growl: +growla: +runark: +growlu: +0:10e340:f9:01:43 + +growlp: +0:10d724:28:09:45 + +ertictac: +0:bb1c:2e:46:ca + +ertictacb: +ertictaca: +0:b184:2e:46:c1 + +dolmen: +0:f0602:4c:4e:53 + +carket: +0:120e79:2e:00:41 + +tekken2jc: +0:359dd8:10f:3f:4e + +tekken2ab: +tekken2ub: +tekken2jb: +0:35a504:10f:3f:4e + +tekken2: +0:354bd4:10f:3f:4e + +tekken2aa: +0:352cb8:10f:3f:4e + +tekken: +0:1e0458:1bf:01:53 + +tekkenac: +0:1e0498:17f:04:4b + +tekkenab: +0:1e0148:17f:04:45 + +tekkenjb: +0:1e0148:17f:04:4e + +pipedrm: +pipedrmj: +pipedrmu: +pipedrmt: +0:8d80:59:0c:00 + +newfant: +newfanta: +0:c825b7:62:30:20 + +ikari3: +ikari3u: +ikari3j: +ikari3k: +0:4007e:58:00:1d + +cosmicgi: +cosmicg: +0:3C10:04:00:00 +0:2d5d:01:00:00 +0:2d7d:01:00:00 +0:2d9d:01:00:00 +0:2dbd:01:00:00 +0:2ddd:01:00:00 +0:2e5d:01:00:00 +0:2e7d:01:00:00 +0:2e9d:01:00:00 +0:2ebd:01:00:00 +0:2edd:01:00:00 +0:2f5d:01:00:00 +0:2f7d:01:00:00 +0:2f9d:01:00:00 +0:2fad:01:00:00 +0:2fbd:01:00:00 +0:2fdd:01:00:00 +0:305d:01:00:00 +0:307d:01:00:00 +0:309d:01:00:00 +0:30bd:01:00:00 +0:30dd:01:00:00 +0:315d:01:00:00 +0:317d:01:00:00 +0:319d:01:00:00 +0:31bd:01:00:00 +0:31dd:01:00:00 +0:325d:01:7c:7c +0:327d:01:82:82 +0:329d:01:82:82 +0:32bd:01:82:82 +0:32dd:01:7c:7c + +bublbob2p: +0:406848:04:00:34 + +seabattl: +0:1c0b:15:00:0a + +arcadian: +0:1fe601:5b:01:2a + +desertdn: +0:82c7:3:00:00 +0:82c8:1:50:50 + +tetristh: +0:1051a4:64:45:08 + +twrldc94: +0:ffe5e3:58:47:0d + +wc90: +wc90b: +wc90b2: +wc90t: +wc90a: +wc90b1: +wc90ba: +0:800f:1e:00:00 +0:804d:01:11:11 + +teddybb: +teddybbo: +teddybbobl: +0:c578:3:00:00 +0:ef03:31:00:49 + +satansat: +zarzon: +satansata: +satansatind: +0:24:2:00:05 + +misncrft: +0:76fd4:60:46:10 + +misncrfta: +0:7f290:60:46:10 + +guttangt: +0:4700:78:00:3e +0:41c6:3:00:01 + +locomotn: +locoboot: +cottong: +gutangtn: +0:9f00:78:00:3e +0:99c6:3:00:01 + +caractn: +caractn2: +0:0500:f:01:82 +0:0640:f:42:53 +0:000a:3:12:01 + +attackfc: +0:2080:60:00:24 +0:2047:2:00:00 + +timefgtr: +0:8535:1b:00:00 +0:854d:1:10:10 + +stuntair: +0:c13d:3c:00:5b +0:fa41:01:a0:a0 +0:fa21:01:b4:b4 +0:fa01:01:b0:b0 +0:f9e1:01:b0:b0 +0:f9c1:01:b0:b0 +0:f9a1:01:b0:b0 + +silkroad: +silkroada: +0:fe305e:8c:4d:01 + +pspikes: +spikes91: +pspikesb: +svolly91: +spikes91b: +pspikesba: +0:1023f1:4d:00:03 + +pspikesc: +pspikesk: +0:1023f1:4d:00:07 + +pspikesu: +0:1023f1:4d:00:06 + +indianbt: +indianbtbr: +0:2314:2:00:00 + +ccbootmr: +0:8083:54:02:52 +0:808f:1:02:02 + +bagman: +bagmanmc: +bagnard: +bagnarda: +bagmans: +bagmans2: +sbagman: +sbagmans: +bagmanf: +bagmanm2: +bagnardi: +0:6217:50:00:10 + +;** top score updates as soon as a game is started ** +snowbros: +snowbrosj: +snowbrosa: +snowbrosb: +snowbrosc: +snowbrosd: +wintbob: +snowbros3: +snowbro3: +ballboy: +snowbroswb: +toto: +0:1001ca:40:00:4f +0:1014ad:1:1f:1f +0:1014b7:1:1f:1f +0:1014c1:1:08:08 +0:1014cb:1:04:04 +0:1014d5:1:04:04 +0:1014df:1:04:04 +0:1014e9:1:04:04 + +popobear: +0:210c42:27c:00:01 + +ghostmun: +0:4288:3:00:00 +0:5180:1:40:40 +0:51a0:1:40:40 +0:51c0:1:40:40 +0:51e0:1:40:40 +0:5200:1:40:40 +0:5220:1:40:40 +0:4087:1:01:01 + +sranger: +srangero: +srangern: +srangerw: +rranger: +0:d220:4c:00:20 +0:c851:2:00:03 + +srangerb: +0:d220:4c:00:2e +0:c851:2:00:03 + +pprobe: +0:f380:45:00:15 +0:cd9e:1:00:00 +0:cdbe:1:00:00 +0:cdde:1:03:03 +0:cdfe:1:01:01 +0:ce1e:1:01:01 +0:ce3e:1:01:01 +0:ce5e:1:01:01 + +sparkman: +sparkmana: +0:c930:6a:00:01 +0:c880:2:00:03 + +cadanglr: +0:4c0:19:18:00 +0:4d7:1:50:50 +0:61:2:00:00 + +starfigh: +0:db30:26:00:4c +0:c8d0:2:00:03 + +littlerb: +0:20202e:9f:11:30 +0:20203d:1:e8:e8 + +gng: +gnga: +gngt: +makaimur: +makaimurc: +makaimurg: +gngbl: +gngblita: +gngc: +0:1518:5a:15:72 +0:00d0:4:00:00 + +gngprot: +0:1508:5a:15:72 +0:00d0:4:00:00 + +panicr: +panicrg: +0:18fc:95:40:20 + +skydest: +0:b801:6c:4b:00 +0:b86b:1:10:10 + +jumppop: +jumppope: +0:123c10:a0:45:50 +0:123c01:3:00:00 + +dbza: +0:48665c:54:00:1e +0:4863f2:4:00:00 + +dbz: +0:486660:54:00:1e +0:4863f2:4:00:00 + +cfishing: +0:4c0:18:18:50 + +flipjack: +0:6500:f0:00:4f +0:6061:6:00:00 + +cbtime: +0:33:24:00:12 + +chamburger: +0:32:24:00:12 + +rastan: +rastanu: +rastanu2: +rastsaga: +rastsaga1: +rastan2: +rastanua: +rastanub: +rastsagaa: +0:10c140:26:31:4e +0:d000b2:1:00:00 +0:d000b5:1:2b:2b +0:d000ba:1:00:00 +0:d000bd:1:2d:2d +0:d000c2:1:00:00 +0:d000c5:1:31:31 +0:d000ca:1:00:00 +0:d000cd:1:2c:2c +0:d000d2:1:01:01 +0:d000d5:1:2a:2a +0:d000da:1:01:01 +0:d000dd:1:2a:2a + +knights: +knightsj: +knightsu: +knightsb: +knightsja: +0:ffe53a:257:00:00 +0:ffe78f:1:05:05 +0:ffe7ca:1:02:02 +0:ffa4b6:4:00:00 + +kong: +0:827f:19:10:00 +0:8296:1:46:46 + +fantastc: +0:82af:1b:d0:07 + +forgottn: +lostwrld: +forgottnu: +lostwrldo: +forgottnua: +forgottnu1: +forgottnuaa: +forgottna: +0:ffe142:50:00:20 +0:ffb2a0:04:00:00 + +noahsark: +0:2801:1e:81:44 + +itaten: +0:a266:1e:56:4b +0:a02c:1:54:54 + +brapboys: +brapboysj: +brapboysu: +0:1030c5:31:00:4a + +birdiy: +0:4c29:1e:00:00 +0:c3ed:6:30:20 +0:4d03:3:00:00 + +fspiderb: +0:8066:45:00:19 + +landgear: +0:8036f8c:ea:01:4a + +raidersr3: +raiders: +0:1c08:40:00:00 +0:1c21:1:31:31 +0:1c0e:1:00:00 + +xevi3dg: +0:1512b8:3b:48:4b + +superwng: +0:7920:c8:00:19 + +galactic: +spacmiss: +0:20a8:3:00:00 + +bublpong: +0:e64c:32:00:13 +0:e64d:1:30:30 +0:e5df:1:00:00 +0:e5e0:1:00:00 +0:e5e4:1:00:00 +0:e5e6:1:00:00 +0:e5e1:1:00:00 +0:e5e2:1:00:00 +0:e5e3:1:00:00 +0:e5e7:1:00:00 +0:e5e8:1:00:00 +0:e5e9:1:00:00 +0:e5ea:1:00:00 +0:e5eb:1:00:00 +0:e5f6:1:00:00 +0:e5f7:1:00:00 +0:e5ee:1:00:00 +0:e5ef:1:00:00 +0:e5f0:1:00:00 +0:e5ec:1:00:00 +0:e5ed:1:00:00 +0:e5f3:1:00:00 +0:e5f4:1:00:00 +0:e5d9:1:00:00 +0:e5da:1:00:00 +0:f457:1:00:00 +0:f458:1:00:00 +0:e601:1:00:00 +0:e602:1:00:00 +0:e600:1:00:00 +0:e5ff:1:00:00 +0:e5fd:1:00:00 +0:e5fc:1:00:00 +0:e5fb:1:00:00 +0:e5fa:1:00:00 +0:e5f9:1:00:00 +0:e5f8:1:00:00 +0:e5fe:1:00:00 +0:e604:1:00:00 +0:e605:1:00:00 +0:e606:1:00:00 +0:e607:1:00:00 +0:e609:1:00:00 +0:e60a:1:00:00 +0:e611:1:00:00 +0:e60b:2:00:00 + +sbomber: +0:600c904:64:00:00 +0:600c95d:1:01:01 + +sbombera: +0:600c900:64:00:00 +0:600c959:1:01:01 + +espgal: +espgalbl: +0:80107e:80:00:00 +0:8010f5:1:30:30 + +ddpdoj: +ddpdoja: +ddpdojb: +0:80381a:8c:00:02 + +ddpdojblkbl: +0:803824:8c:01:06 + +ddpdojblk: +ddpdojblka: +0:803824:8c:01:06 + +ket: +keta: +ketb: +ketbl: +0:80101c:80:00:00 +0:801093:1:30:30 + +karnov: +karnovj: +karnova: +0:06000A:04:00:00 +0:063C00:28:00:00 +0:063D00:28:00:4A + +hvyunit: +hvyunito: +hvyunitu: +hvyunitj: +0:e190:28:00:50 + +skykiddx: +skykiddxo: +0:5000:45:00:2f +0:5001:1:03:03 + +pzlbreak: +0:102d9c:32:50:32 +0:102e0b:3:00:00 + +berenstn: +0:28:1e:81:4f + +orunners: +orunnersu: +orunnersj: +0:20e301:3b:53:75 +0:20e212:1:78:78 + +hotshock: +hotshockb: +0:40a8:3:00:05 +0:4200:1e:0a:02 + +mrdig: +0:13d29e:145e:41:50 +0:13e6e8:1:57:57 + +msgogo: +0:f032d6:47:00:0e + +unclepoo: +0:9447:5a:00:43 + +fantjour: +fantjoura: +0:c0d336:4:00:00 +0:c0d342:78:00:09 +0:c0d338:1:73:73 + +polepos2: +0:3000:7f2:d0:a2 +0:40d6:1:c9:c9 + +polepos2b: +polepos2a: +poleps2c: +poleps2a: +0:3000:7f2:d0:a2 + +polepos1: +poleposa: +poleposa1: +poleposa2: +0:3000:7f2:b0:95 +0:4080:1:56:56 + +sub: +0:b727:5a:24:24 + +milliped: +millipdd: +0:85:f:05:17 +0:6d:f:20:04 +0:24:1:a0:a0 + +woodpeck: +woodpeca: +0:4e88:3:00:00 +0:43ed:6:40:40 +0:4dda:1:03:03 + +;** this saves victorys top 10 todays scores (nvram takes care of the rest) ** +victory: +victorba: +0:f01a:46:56:00 +0:f05b:1:54:54 + +vmetal: +vmetaln: +0:ff000e:53:00:49 + +vhunt2: +vhunt2r1: +vhunt2d: +0:fff426:ad:00:02 + +tnextspc: +tnextspc2: +0:72b40:4f:00:4b +0:70016:4:00:00 + +tnextspcj: +0:72b40:4f:00:43 +0:70016:4:00:00 + +kodr1: +kod: +0:ff9d94:28:01:04 + +kodu: +kodj: +kodja: +kodb: +0:ff9d94:28:00:04 + +tharrier: +tharrierj: +0:f9100:80:00:4e + +ssf2mdb: +0:fffcb3:29:00:20 + +spidman: +spidmanu: +spidmanj: +0:208c00:7f:a0:57 + +amazon: +amatelas: +0:40db4:46:00:0e +0:40d66:4:00:00 +0:40d68:1:50:50 + +shogwarr: +fjbuster: +shogwarru: +shogwarrk: +0:106664:27:00:4b + +nmouse: +nmouseb: +0:4e88:3:00:00 +0:c3ed:7:40:40 +0:4dce:1:07:07 + +mrjong: +0:8401:98:00:09 +0:a013:6:00:00 + +blkbustr: +crazyblk: +0:8401:a9:00:0a +0:a013:6:00:00 + +getstar: +getstarj: +gtstarb1: +gtstarb2: +0:c0d2:48:00:00 +0:c110:1:0a:0a +0:c0ca:1:17:17 + +galsnew: +galsnewa: +galsnewj: +galsnewk: +0:c825b6:64:30:31 + +destryer: +0:20e5:2:ff:ff + +blockgal: +blockgalb: +0:c062:3:00:01 + +bgaregga: +bgareggahk: +bgareggatw: +0:10ca4d:ea:0f:2a +0:100030:1:72:72 + +bgaregganv: +bgareggacn: +bgareggat2: +0:10ca4f:ea:0f:2a +0:100030:1:72:72 + +bgareggabl: +bgareggabla: +0:10ca4d:446:0f:3f + +bwings: +0:0d:3:00:04 +0:d00:8c:34:20 + +bwingsa: +bwingso: +0:0d:3:00:04 +0:d00:f0:34:20 + +azurian: +0:40b3:3:00:00 +0:40b4:1:50:50 + +attckufo: +0:ca:2:00:00 +0:2e3:1:a0:a0 +0:2fa:1:a0:a0 +0:311:1:a0:a0 +0:328:1:a0:a0 + +altair: +0:30e5:2:00:00 +0:3008:1:58:58 + +sundance: +0:0151:01:12:12 +0:014e:02:00:00 + +qb3: +0:01a1:01:11:11 +0:01a0:32:00:00 + +skylove: +0:414b:3:00:00 +0:297d:2:0f:fc +0:299d:2:0f:fc +0:29bd:2:0c:0c +0:29dd:2:0c:0c +0:29fd:2:0c:0c +0:2a1d:2:0f:fc +0:2a3d:2:0f:fc +0:2a9d:2:0f:fc +0:2abd:2:0f:fc +0:2add:2:0c:0c +0:2afd:2:0c:0c +0:2b1d:2:0c:0c +0:2b3d:2:0f:fc +0:2b5d:2:0f:fc +0:2bbd:2:0f:fc +0:2bdd:2:0f:fc +0:2bfd:2:0c:0c +0:2c1d:2:0c:0c +0:2c3d:2:0c:0c +0:2c5d:2:0f:fc +0:2c7d:2:0f:fc +0:2cdd:2:0f:fc +0:2cfd:2:0f:fc +0:2d1d:2:0c:0c +0:2d3d:2:0c:0c +0:2d5d:2:0c:0c +0:2d7d:2:0f:fc +0:2d9d:2:0f:fc +0:2dfd:2:0f:fc +0:2e1d:2:0f:fc +0:2e3d:2:0c:0c +0:2e5d:2:0c:0c +0:2e7d:2:0c:0c +0:2e9d:2:0f:fc +0:2ebd:2:0f:fc + +phpython: +0:4e1c:3:00:00 +0:4e1d:1:05:05 + +dland: +0:e654:23:00:4f +0:e67b:3:1f:13 +0:e64c:3:00:00 +0:e5df:1:00:00 +0:e5e0:1:00:00 +0:e5e4:1:00:00 +0:e5e6:1:00:00 +0:e5e1:1:00:00 +0:e5e2:1:00:00 +0:e5e3:1:00:00 +0:e5e7:1:00:00 +0:e5e8:1:00:00 +0:e5e9:1:00:00 +0:e5ea:1:00:00 +0:e5eb:1:00:00 +0:e5f6:1:00:00 +0:e5f7:1:00:00 +0:e5ee:1:00:00 +0:e5ef:1:00:00 +0:e5f0:1:00:00 +0:e5ec:1:00:00 +0:e5ed:1:00:00 +0:e5f3:1:00:00 +0:e5f4:1:00:00 +0:e5d9:1:00:00 +0:e5da:1:00:00 +0:f457:1:00:00 +0:f458:1:00:00 +0:e601:1:00:00 +0:e602:1:00:00 +0:e600:1:00:00 +0:e5ff:1:00:00 +0:e5fd:1:00:00 +0:e5fc:1:00:00 +0:e5fb:1:00:00 +0:e5fa:1:00:00 +0:e5f9:1:00:00 +0:e5f8:1:00:00 +0:e5fe:1:00:00 +0:e604:1:00:00 +0:e605:1:00:00 +0:e606:1:00:00 +0:e607:1:00:00 +0:e609:1:00:00 +0:e60a:1:00:00 +0:e611:1:00:00 +0:e60b:2:00:00 + +holeland: +0:86c7:18:00:11 +0:86d0:3:00:03 + +holeland2: +0:86cb:18:00:11 +0:86d4:3:00:03 + +steelwkr: +0:200a:06:00:00 + +mirax: +0:d01c:6:00:00 +0:d028:2d:00:29 + +miraxa: +0:d02d:2d:00:29 +0:d021:6:00:00 + +balonfgt: +0:6100:1e:00:00 +0:6124:0f:0a:10 + +bayroute: +bayrouteb2: +bayrouteb1: +bayroute1: +bayroutej: +bayrouted: +bayroutejd: +0:500110:50:00:0f + +tsamurai: +tsamurai2: +nunchaku: +yamagchi: +tsamuraih: +ladymstr: +0:c060:1e:00:00 +0:c080:1e:11:11 +0:c026:3:00:00 + +hatris: +hatrisj: +0:8d01:77:42:00 +0:8d76:01:10:10 + +xevious: +sxevious: +sxeviousj: +xevios: +xeviousa: +battles: +0:8510:4d:00:24 +0:8024:3:00:00 +0:8025:1:40:40 + +xeviousb: +xeviousc: +0:8510:46:00:14 +0:8024:3:00:00 +0:8025:1:40:40 + +sci: +scia: +scij: +sciu: +0:101500:28:02:51 +0:10164e:4:02:80 + +scin: +0:101500:28:00:4e +0:10164e:4:00:60 + +lkage: +lkageoo: +lkageb: +lkageb2: +lkageb3: +lkageo: +0:e25f:85:00:52 +0:e188:3:00:00 + +fstarfrc: +fstarfrcj: +0:101272:80:00:00 +0:1000a9:3:00:a0 + +ckongpt2: +ckongpt2a: +ckongpt2jeu: +ckongo: +monkeyd: +ckongpt2b: +ckongalc: +ckongs: +ckongg: +kkgalax: +ckongpt2j: +ckong: +ckongmc: +dking: +ckonggx: +ckongdks: +0:6100:AA:94:92 +0:60b8:3:50:00 + +cabalbl: +cabalbl2: +cabal: +cabalus2: +cabalus: +cabala: +cabaluk: +0:42167:63:44:00 + +aliens: +aliensa: +aliensj: +aliensu: +aliens2: +aliens3: +aliensj2: +0:1e30:38:00:48 + +asterix: +asterixj: +asterixeac: +asterixeaa: +asterixaad: +0:107800:50:00:01 + +spctbird: +0:8042:54:00:24 +0:804f:1:50:50 + +pbobble2: +0:40a858:112:00:00 +0:400152:2:01:a2 + +pbobble2j: +pbobble2o: +pbobble2u: +0:40a854:112:00:00 +0:400152:2:01:a2 + +jmpbreak: +0:95098:5f:00:67 + +spuzbobl: +0:28bf08:10d:20:01 + +pzletime: +0:f03804:3b:00:4e + +prmrsocr: +prmrsocrj: +0:100364:4c:59:40 + +suprheli: +0:80a8:3:00:01 +0:8200:1e:00:01 + +masterw: +masterwu: +masterwj: +yukiwo: +0:2030c0:28:00:4f + +aoh: +0:28e784:f8:4b:01 + +batrider: +batriderc: +batriderja: +batriderk: +batrideru: +batriderj: +batridert: +batriderhk: +0:20fa20:310:00:30 + +mrdrillrj: +mrdrillr: +mrdrillrja2: +0:201038:288:76:76 + +sfiii3: +sfiii3u: +sfiii3nr1: +sfiii3n: +sfiii3r1: +sfiii3ur1: +0:2016e4c:18d:1c:04 + +sfiii2: +sfiii2n: +0:2015924:90:1c:02 + +sfiiina: +sfiii: +sfiiij: +sfiiiu: +sfiiia: +sfiiin: +0:201381c:90:1c:02 + +vamphalf: +0:5afdc:3a:00:03 + +vamphalfk: +0:5ae6c:3a:00:03 + +turbosba: +0:3c7a:46:00:56 + +stratvox: +stratvxb: +speakres: +spacecho2: +spacecho: +speakresb: +0:4001:3:00:00 +0:4010:3:00:00 + +rtype: +rtypeu: +rtypeb: +rtypej: +0:42f4e:71:45:20 + +rtypejp: +0:42f4a:71:45:20 + +rtypem82b: +0:d2f51:6e:00:20 + +dkong: +dkongjo: +dkongj: +dkongjpo: +dkongo: +dkongjo1: +dkongf: +dkonghrd: +dkongpe: +0:6100:AA:94:76 +0:60B8:03:50:00 +0:7641:01:00:00 +0:7621:01:00:00 +0:7601:01:07:07 +0:75e1:01:06:06 +0:75c1:01:05:05 +0:75a1:01:00:00 + +dogyuun: +dogyuuna: +0:10034a:7c:00:1b + +dogyuunt: +0:10034a:7c:01:1b + +centipdb: +centiped2: +centiped3: +centiped: +centtime: +centipdd: +0:000b:0f:10:01 +0:0023:0f:04:12 + +magworm: +0:0002:30:52:1a + +millpac: +0:0002:2a:90:17 + +jjsquawk: +jjsquawkb: +jjsquawkb2: +jjsquawko: +0:20561e:4f:00:61 + +blktiger: +blktigerb1: +blktigerb2: +blktigera: +blktigerb3: +0:e200:50:00:20 +0:e1e0:8:00:00 + +ssf2t: +ssf2tu: +ssf2ta: +ssf2xj: +ssf2tur1: +ssf2xjd: +ssf2xjr: +ssf2tad: +ssf2th: +0:ffd6a2:30:00:20 +0:ffd71a:4:00:00 + +ssf2j: +ssf2jr1: +ssf2jr2: +ssf2: +ssf2r1: +ssf2u: +ssf2a: +ssf2ar1: +ssf2ud: +ssf2tbj: +ssf2tbr1: +ssf2tbd: +ssf2tb: +0:ffd5a2:30:00:20 +0:ffd61a:4:00:00 + +spf2t: +spf2tu: +spf2xj: +spf2xjd: +spf2ta: +spf2th: +spf2td: +spf2xpri: +0:ffd7aa:4e:00:02 +0:ff8081:1:01:01 + +sgemf: +pfghtj: +sgemfa: +sgemfd: +sgemfh: +0:fff23a:2:00:02 +0:fff23c:ae:00:00 + +sfa2: +sfa2u: +sfa2ur1: +sfz2ad: +sfz2a: +sfz2br1: +sfz2b: +sfz2ald: +sfz2h: +sfz2j: +sfz2jr1: +sfz2n: +sfz2aad: +sfz2al: +sfz2alb: +sfz2alh: +sfz2alj: +sfz2jd: +0:ffdf6a:ad:00:01 + +sfa: +sfzjr1: +sfzj: +sfau: +sfar3: +sfar2: +sfar1: +sfad: +sfza: +sfzar1: +sfzbr1: +sfzb: +sfzjr2: +sfzhr1: +sfzh: +0:ffaea0:9f:01:16 + +sfa3: +sfa3r1: +sfz3j: +sfz3jr1: +sfz3a: +sfz3jr2: +sfa3b: +sfa3ur1: +sfa3ud: +sfa3u: +sfz3ar1: +sfa3hr1: +sfa3h: +sfz3jr2d: +0:ff23be:ae0:00:05 + +sfa3us: +0:ff23b6:ae0:00:05 + +sf2ceuc: +sf2ceua: +sf2rb2: +sf2ceea: +sf2ceub: +sf2cejb: +sf2rb: +sf2hfu: +sf2hfj: +sf2m2: +sf2m1: +sf2m4: +sf2m5: +sf2m6: +sf2m7: +sf2mdt: +sf2rb3: +sf2koryu: +sf2yyc: +sf2acc: +sf2acca: +sf2dkot2: +sf2ce: +sf2ceja: +sf2cejc: +sf2amf: +sf2m8: +sf2mdta: +sf2dongb: +sf2bhh: +sf2amf2: +sf2ceblp: +sf2mdtb: +sf2m9: +sf2mdtc: +sf2cebltw: +sf2m10: +0:ffd276:28:00:20 +0:ffd2c6:14:ff:96 +0:ffd2ee:04:00:00 + +xmvsf: +xmvsfur1: +xmvsfu: +xmvsfar1: +xmvsfa: +xmvsfb: +xmvsfr1: +xmvsfh: +xmvsfjr2: +xmvsfjr1: +xmvsfjr3: +xmvsfj: +xmvsfu1d: +xmvsfar2: +xmvsfar3: +xmvsfur2: +0:ff256e:63:00:05 + +xmcotar1: +xmcotaj2: +xmcotaar1: +xmcotar1d: +xmcotah: +xmcotajr: +xmcotaj3: +xmcotaj1: +xmcotau: +xmcotaj: +xmcotahr1: +xmcota: +xmcotaa: +0:ffec8e:3c:00:01 + +vsav: +vsava: +vsavu: +vsavd: +vsavh: +vsavj: +0:fff426:ad:00:02 + +viostorm: +viostrmu: +viostrma: +viostrmj: +viostormub: +viostormab: +viostormeb: +0:20dc00:139:00:07 +0:200138:8:00:45 + +progear: +progearj: +progeara: +progearjd: +progearud: +progearjbl: +0:ff3dcf:e5:20:04 + +nwarr: +nwarrb: +nwarrh: +nwarru: +nwarrud: +vhuntj: +vhuntjr1: +nwarra: +vhuntjr2: +vhuntjr1s: +0:fff4e8:4:00:01 +0:fff4ec:44:00:00 + +mvsc: +mvscb: +mvscj: +mvscjr1: +mvsca: +mvscr1: +mvsch: +mvscu: +mvscar1: +mvscud: +mvscur1: +mvscjsing: +0:ff26fd:66:ff:00 + +skatekds: +0:7d7:6:00:00 +0:7d8:1:02:02 +0:6675:8a:05:05 + +msh: +mshu: +msha: +mshb: +mshh: +mshjr1: +mshj: +mshud: +0:ff2720:9f:00:0b + +megaman2: +megaman2a: +megamn2d: +0:ffefc0:118:00:02 +0:fff047:1:01:01 + +hsf2: +hsf2j: +hsf2j1: +hsf2d: +hsf2a: +0:ffd454:2f:00:58 +0:ffd4cc:4:00:00 + +gigawing: +gigawingj: +gigawinga: +gigawingb: +gigawingjd: +gigawingh: +gigawingd: +0:ff70dc:170:00:01 + +dstlk: +dstlku: +dstlkur1: +dstlka: +vampj: +vampja: +vampjr1: +dstlku1d: +dstlkh: +0:fff4aa:5:00:43 +0:fff4af:37:41:00 +0:ffe976:4:00:00 + +ddsom: +ddsoma: +ddsomar1: +ddsomr1: +ddsomjr1: +ddsomj: +ddsomur1: +ddsomu: +ddsomb: +ddsomr3: +ddsomr2: +ddsomud: +ddsomh: +0:ff0fd0:8b:12:09 + +ddtod: +ddtodu: +ddtodhr1: +ddtodjr1: +ddtodj: +ddtodur1: +ddtodjr2: +ddtodd: +ddtoda: +ddtodar1: +ddtodr1: +ddtodhr2: +ddtodh: +0:ff1050:1dd:0a:10 + +batcirj: +batcira: +batcird: +batcir: +0:ff0482:35:00:03 +0:ff04b7:e3:03:00 + +avspu: +avspa: +avspj: +avsp: +avspd: +avsph: +0:ffeac0:31d:01:01 +0:ffedda:1:44:44 + +19xx: +19xxj: +19xxa: +19xxh: +19xxjr1: +0:ff4dca:4:00:00 +0:ff0443:9f:14:70 + +1944: +1944j: +0:921d90:b8:01:18 + +fireshrk: +fireshrkd: +fireshrkdh: +fireshrka: +0:c1ae8:194:00:01 +0:c1c29:1:2d:2d +0:c1dc5:1d:2d:00 + +3wonders: +wonder3: +3wonderu: +0:ffd0ce:14:ff:36 +0:ffd0f6:50:00:00 +0:ffd196:28:ff:06 +0:ffd1be:50:00:00 +0:ffd25e:28:ff:ce +0:ffd286:50:00:00 +0:ff0dae:0c:00:00 + +tnzs: +tnzsb: +tnzsj: +tnzsjn: +tnzsjo: +0:e68d:23:00:55 +tnzso: +tnzsop: +0:ec0a:23:00:55 + +boogwing: +boogwinga: +ragtime: +ragtimea: +boogwingu: +0:200f4a:27:00:0b + +marble: +marble2: +marble3: +marble4: +marble5: +0:401e92:32:00:3a + +;** Commented out because eventually it saves bad values and locks out the high score screen ** +;**imagoa: +;**imago: +;**0:c521:4a:00:00 +;**0:c565:1:01:01 + +ddragon: +ddragonb: +ddragonu: +ddragonw: +ddragonw1: +ddragonua: +ddragonba: +ddragonb2: +ddragonub: +0:0e73:1e:02:2c +0:0023:3:02:00 + +starforc: +starforce: +megaforc: +starforcb: +starforca: +0:8038:70:00:00 +0:8348:4:00:00 +0:9261:1:23:23 +0:9241:1:23:23 +0:9221:1:23:23 +0:9201:1:1d:1d +0:91e1:1:18:18 +0:91c1:1:21:21 +0:91a1:1:18:18 +0:9181:1:18:18 + +ccastles: +ccastles3: +ccastlesj: +ccastles1: +ccastles2: +ccastlesf: +ccastlesg: +ccastlesp: +0:474:5dd:00:55 +0:d2:1:03:03 + +astrof: +astrof2: +astrof3: +sstarbtl: +0:0084:2:00:00 +0:4268:5:c1:c1 +0:4270:5:c1:c1 +0:4278:5:c1:c1 +0:4280:5:c1:c1 +0:4288:5:c1:c1 + +tigerhb1: +tigerhb2: +tigerh: +tigerhj: +tigerhb3: +0:c0db:49:00:02 +0:c15a:6:2d:00 + +wof: +wofu: +wofa: +wofj: +wofhfh: +wofr1: +wofhfb: +0:ff6368:0a:00:00 +0:ff77d8:78:ff:10 +0:ff63d4:04:00:00 + +nightstr: +nightstrj: +nightstru: +0:109b9a:4:00:40 +0:10de48:1f3:00:41 + +mlander: +0:20c0:1:0a:0a +0:20cf:a:1b:1b +0:20f4:2:00:05 + +galastrm: +0:202100:190:01:61 + +captcomm: +captcomu: +captcomj: +captcommb: +captcommr1: +captcommjr1: +0:ff0000:190:08:00 +0:ff018d:1:01:01 +0:ffa8c2:04:00:00 + +mpangj: +mpang: +mpangu: +mpangr1: +0:ff817c:1e0:00:01 + +smgp: +smgpja: +smgpj: +smgpu3: +smgpu2: +smgpu1: +smgpu: +smgp5: +smgp6: +smgp5d: +smgp6d: +smgpd: +smgpjd: +smgpu1d: +smgpu2d: +smgpud: +0:fff500:7e:21:02 +0:fffe85:1:08:08 + +wrally: +wrallya: +wrallyb: +wrallyat: +0:fef558:288:5a:ff + +ghox: +ghoxa: +0:805a2:64:00:8e +0:80006:4:00:00 + +demonwld: +demonwld1: +demonwld4: +demonwld3: +demonwld2: +0:c001c2:c8:00:2d +0:c001be:4:00:00 + +paprazzi: +0:ff0d99:27:41:3c + +heatbrl: +heatbrlu: +heatbrlo: +heatbrl2: +heatbrle: +0:108296:63:4b:01 +0:108036:4:00:00 + +ffight: +ffightj: +ffightjh: +ffightbl: +ffightbla: +0:ff850c:3c:ff:00 +0:ff80a0:04:00:00 + +ffightj3: +0:ff850c:3c:ff:00 +0:ff80a0:04:00:03 + +ffightj2: +ffightj1: +ffightua: +ffightu: +0:ff8520:27:00:50 +0:ff80a0:4:00:01 +ffightub: +ffightuc: +0:ff8520:27:00:50 +0:ff80a0:4:00:03 +ffightu1: +ffighta: +0:ff850c:3b:ff:50 +0:ff80a0:4:00:00 + +dynwar: +dynwarj: +dynwara: +dynwarjr: +0:ffe2d6:3c:e2:00 +0:ff8158:04:00:00 + +jpopnics: +0:c625:27:00:4b +0:e471:3:00:00 + +1942: +1942a: +1942b: +0:e800:190:00:00 +0:e9c0:1:1e:1e +0:e040:8:00:00 +0:e028:1:01:01 + +dogfgt: +dogfgtj: +dogfgtu: +0:607:4f:00:0b +0:609:1:01:01 + +rfjet: +rfjeta: +rfjetu: +rfjets: +rfjetj: +rfjet2kc: +rfjetsa: +rfjett: +0:28dd4:98:2e:01 + +bjtwin: +bjtwina: +bjtwinp: +atombjt: +0:f9100:a0:00:4c + +tdragonb: +tdragon: +tdragon1: +0:b9100:c0:00:20 + +pitfall2: +pitfall2u: +pitfall2a: +0:D300:38:00:41 +0:C000:04:00:00 + +riskchal: +gussun: +0:a3c6b:1ba:00:18 + +drmicro: +0:c000:1:01:01 +0:c800:10e:00:00 +0:c017:6:00:00 + +orbs: +0:f01d35:151:06:08 + +supbtime: +supbtimej: +supbtimea: +0:10002c:50:00:4f + +skykid: +skykido: +skykidd: +skykids: +0:5000:45:00:0a +0:5001:1:03:03 + +guts: +0:fffdd4:c8:00:a4 + +extrmatn: +extrmatnj: +extrmatnu: +extrmatnur: +0:e8a5:28:00:55 +0:e888:01:00:00 +0:e887:01:49:49 +0:e886:01:00:00 + +toride2g: +toride2gk: +0:40c5f4:4:00:00 +0:40c5f6:1:50:50 +0:40c60a:4c:00:40 + +toride2gg: +0:40ece2:4c:00:40 +0:40ecc6:4:00:00 +0:40ecc8:1:50:50 + +toride2j: +0:40ecc0:5c:00:40 +0:40eca4:4:00:00 +0:40eca6:1:50:50 + +pang: +pangb: +pompingw: +bbros: +pangbold: +pangba: +pangb2: +0:f9e3:9A:01:00 +0:e00d:3:01:00 + +aliensyn: +aliensynjo: +aliensyn2: +aliensyn3: +aliensyn5: +aliensynj: +aliensyn7: +0:fff300:46:00:01 +0:ffc060:4:00:00 + +airwolf: +skywolf: +skywolf2: +skywolf3: +0:e71a:5f:00:ff + +tehkanwc: +tehkanwcb: +tehkenwcc: +0:c600:60:03:17 + +rongrong: +0:614f:ea:f4:01 +0:619c:1:01:01 + +rongrongg: +rongrongj: +0:614e:ea:f4:01 +0:619b:1:01:01 + +loht: +lohtj: +lohtb2: +0:a3af4:32:36:20 +0:a3adc:02:36:11 + +djboy: +djboya: +djboyj: +0:b16a:2d:01:12 + +hunchbak: +hunchbaka: +0:1c07:68:00:00 +0:1c34:1:20:20 + +hunchbks: +hunchbks2: +0:3c0a:4f:1b:00 +0:3c25:1:20:20 + +hunchbkd: +0:1c23:4f:1b:00 +0:1c73:1:01:01 + +hunchbkg: +0:1c0a:4f:1b:00 +0:1c0f:1:00:00 +0:1c0d:1:20:20 + +shinobi: +shinobl: +shinobi1: +shinobi2: +shinobi3: +shinobi4: +shinobi5: +shinobld: +shinobls: +shinoblda: +shinobi1d: +shinobi2d: +0:fffc00:142:00:54 +0:fff010:4:00:00 + +loverboy: +trikitri: +0:8026:3c:04:13 + +fghthist: +fghthista: +fghthistua: +fghthistja: +fghthistj: +fghthistub: +fghthistjb: +fghthistuc: +fghthistu: +fghthistb: +0:1019d8:28:50:00 + +dominob: +0:ef79:23:03:4b +0:c4df:3:03:00 + +puzznic: +puzznicj: +puzznici: +puzznicb: +puzznicba: +0:8f23:32:00:49 +0:8d37:3:00:00 + +venus: +0:9489:26:00:d3 +0:940b:3:00:01 + +dockman: +portman: +porter: +0:80fd:3:00:00 +0:92c1:1:00:00 +0:92e1:1:24:24 +0:9301:1:24:24 +0:9321:1:24:24 +0:9341:1:24:24 +0:9181:1:00:00 +0:91a1:1:24:24 +0:91c1:1:24:24 +0:91e1:1:24:24 +0:9201:1:24:24 + +hrdtimes: +hrdtimesa: +0:85b44:a0:00:11 +0:85c14:4:00:00 + +mooncrst: +smooncrs: +mooncrsb: +mooncrs2: +fantazia: +eagle: +eagle2: +eagle3: +mooncrs3: +spcdrag: +spcdraga: +mooncmw: +mooncrstu: +stera: +mooncrstuk: +sstarcrs: +mooncrstuku: +mooncrs4: +starfgmc: +mooncptc: +mooncreg: +mooncrsl: +mooncrstso: +0:8042:54:00:24 + +mooncrgx: +0:4042:54:00:24 + +mooncrstg: +0:8045:54:00:24 + +mooncrsto: +0:8042:54:00:24 +0:804f:1:50:50 + +galaxian: +galaxianm: +superg: +galaxb: +galapx: +galap1: +galap4: +galturbo: +swarm: +uniwars: +gteikoku: +spacbatt: +spacbat2: +redufob: +galaxiana: +galaxianmo: +galaxbsf: +galaxiant: +skyraidr: +spacempr: +redufo: +galemp: +astrians: +asideral: +galaxrf: +galaxianbl: +pajaroes: +galaxbsf2: +galaxiani: +galaxrfgg: +zerotimed: +supergs: +0:40a8:3:00:00 + +gteikokb: +gteikob2: +0:40a8:3:00:00 +0:51a1:1:00:00 +0:51c1:1:00:00 +0:51e1:1:10:10 +0:5201:1:10:10 +0:5221:1:10:10 +0:5241:1:10:10 + +kamakazi3: +moonaln: +kamikazp: +0:44a8:3:00:00 +0:55a1:1:90:90 +0:55c1:1:90:90 +0:55e1:1:10:10 +0:5601:1:10:10 +0:5621:1:10:10 +0:5641:1:10:10 + +exodus: +0:40a8:3:00:00 +0:40ac:1:70:70 +0:55c1:1:90:90 +0:55a1:1:90:90 +0:5621:1:10:10 +0:5641:1:10:10 +0:5601:1:10:10 +0:55e1:1:10:10 + +strahla: +0:f30d1:d9:55:2e +0:f3239:27:00:88 +0:f0d5b:3:00:50 + +jumpcoas: +jumpcoast: +0:c400:3f:00:11 +0:c04b:3:00:00 +0:c41c:1:05:05 + +digdug: +digdug1: +digdugat: +dzigzag: +digdugat1: +0:89A0:25:01:01 + +flicky: +flickyo: +flickys2: +flickys1: +0:e700:31:00:41 +0:c0d5:3:00:00 + +mstworld: +0:fc01:9e:00:07 +0:e154:3:00:00 + +airattck: +airattcka: +0:b9100:80:0:6b + +sdfight: +0:121efa:4f:00:4d + +funybubl: +funybublc: +0:e005:99:4c:00 +0:e09a:1:05:05 + +hexpoola: +hexpool: +0:1db8:45:1d:13 + +captaven: +captavenj: +captavena: +captavene: +captavenua: +captavenuu: +captavenu: +0:127040:A0:20:0 + +vr: +vformula: +0:40e000:6bf:01:20 + +ribbit: +0:fffada:126:ff:ff +0:ffc45f:1:03:03 + +tangtang: +0:70a840:40:00:40 + +meikyuha: +meikyuh: +0:190:50:01:20 + +chinhero: +chinhero2: +chinherot: +chinhero3: +0:e132:46:00:17 +0:e128:4:00:00 +0:e12a:1:03:03 + +asurabus: +asurabusa: +0:40326d:132:05:14 + +dynabomb: +0:c7908:60:00:01 +0:c7e43:1:03:03 + +airbustr: +airbustj: +0:e160:40:01:01 +0:e19e:01:4f:4f + +troangel: +newtangl: +0:e780:1e:02:4e +0:e0d3:3:02:00 + +tokib: +tokiu: +tokia: +juju: +jujub: +tokiua: +jujuba: +tokip: +0:66b66:b4:00:03 +0:60008:4:00:00 + +toki: +0:66b5e:b4:00:03 +0:60008:4:00:00 +0:6000a:1:20:20 + +circus: +circusse: +springbd: +0:0036:2:00:00 + +gground: +ggroundj: +0:f07800:318:00:00 +0:f07b13:1:10:10 + +photoy2k104: +photoy2k102: +0:80a306:1:12:12 +0:813452:78:49:40 +0:833452:78:49:40 +0:853452:78:49:40 +0:873452:78:49:40 +0:893452:78:49:40 +0:8b3452:78:49:40 +0:8d3452:78:49:40 +0:8f3452:78:49:40 + +hyprduel2: +hyprduel: +0:fff2a2:3c:00:01 +0:fff2e2:1:ff:ff + +brdrline: +starrkr: +brdrlinb: +brdrlins: +0:938d:2:00:00 + +popnpop: +popnpopu: +popnpopj: +0:40a668:d2:00:ba + +;** this saves scores 4 - 98, the nvram file saves scores 1 - 3 ** +tempest: +tempest1: +tempest2: +temptube: +tempest3: +0:1d:1:03:03 +0:605:11a:14:00 + +freekickb: +freekickb2: +freekick: +freekickb1: +freekicka: +0:d100:4d:00:21 + +brain: +0:d300:3c:00:49 +0:c017:3:00:05 + +turtship: +turtshipk: +turtshipj: +turtshipkn: +turtshipko: +0:c504:96:00:0a +0:c202:2:00:1e + +daikaiju: +0:bf00:a0:00:33 +0:a007:3:00:05 +0:a027:1:23:23 +0:d798:b:30:30 + +spaceod: +spaceod2: +0:c907:2:0:0 +0:c921:1:05:05 + +monsterb: +monsterb2: +0:c913:3:00:00 +0:c8f6:1:0d:0d + +005: +0:c910:0b:99:00 + +ddenlovr: +0:ff853a:74:82:3c + +tryout: +0:319:29:90:00 +0:33d:1:01:01 +0:13:3:07:90 + +nslasher: +nslasherj: +nslasheru: +nslashers: +0:100044:50:13:00 +0:100092:1:05:05 + +kbash2: +0:100080:3c:00:30 + +upscope: +0:3e4f6:1e:43:45 +0:3e5fc:28:00:98 + +thepitj: +thepitu1: +thepit: +0:8283:17:10:0 +0:8039:f:10:0 + +thepitm: +0:8283:17:14:0 +0:8039:f:14:0 + +thepitu2: +0:8283:17:10:00 +0:8037:f:10:00 + +amidar: +amidarb: +amidaro: +amidaru: +amigo: +amidar1: +0:8200:1e:00:01 +0:80a8:03:00:01 + +amidars: +0:4200:1e:00:01 +0:40a8:03:00:01 + +realbrk: +realbrkj: +realbrkk: +realbrko: +0:ff84da:44:52:f8 + +mangchi: +0:1c1b02:4c:27:20 + +cawing: +cawingj: +cawingu: +cawingr1: +cawingbl: +cawingb2: +0:ffd9b4:28:00:00 +0:ffda04:14:ff:d4 +0:ffda2c:04:00:00 + +hangly3: +zolamaze: +mspatkx: +mspacx: +msmini: +mspacat2: +msatk2ad: +msatkad: +mspacatk: +chtmsatk: +fastplus: +mspacatb: +mshearts: +mssilad: +fstmsatk: +mspac6m: +msminia: +chtmspa: +fastmspa: +msrumble: +msindy: +fasthear: +heartbrn: +mshangly: +msf1pac: +mselton: +faststrm: +msdstorm: +msbaby1: +msbaby: +mrpacman: +pacmanf: +puckmanf: +pacmini2: +pacmini: +mazeman: +hangly2x: +hanglyx: +hanglyad: +fasthang: +chthang: +eltonpac: +dizzy: +pacstrm: +crazypac: +caterpil: +baby2: +baby3: +pacman: +pacmanm: +pacmanjp: +npacmod: +pacmod: +hangly: +hangly2: +puckman: +puckmanb: +piranha: +piranhah: +pacplus: +mspacman: +mspacmnf: +mschamps: +newpuc2: +newpuc2b: +joyman: +mspacpls: +pacgal: +newpuckx: +alibaba: +mspacmat: +puckmod: +puckmana: +ctrpllrp: +puckmanh: +piranhao: +mspacmbe: +popeyeman: +bucaner: +alibabab: +crockman: +mspacii: +mspacii2: +msheartb: +mspacmanbg: +mspacmancr: +mspacmanbcc: +mspacmanbgd: +pacmanjpm: +pacgal2: +00:4E88:04:00:00 +00:43ED:06:40:40 +00:43D1:01:48:48 + +mspacmanbhe: +pacmanpe: +pacmanso: +00:4E88:04:00:00 +00:43ED:06:40:40 +00:43c6:01:55:55 + +mspactwin: +00:4E88:04:00:00 +00:43ED:06:40:40 +00:43D1:01:48:48 +00:47ED:06:00:00 + +clubpacm: +0:4E88:04:00:00 +0:43ED:06:40:40 +0:43D1:01:59:59 +0:43cb:0a:4f:4d + +mspacmanblt: +00:4E88:04:00:00 +00:43ED:06:40:40 +00:43D1:01:54:54 + +pacuman: +00:4E88:04:00:00 +00:43ED:06:40:40 +00:43D1:01:45:45 + +pac90: +0:8e88:3:00:00 +0:8180:1:40:40 +0:81a0:1:40:40 +0:81c0:1:40:40 +0:81e0:1:40:40 +0:8200:1:40:40 +0:8220:1:40:40 +0:8dce:1:03:03 + +wardner: +wardnerj: +pyros: +0:7116:5d:00:01 +0:711a:1:20:20 + +pangpang: +0:123c10:a0:44:50 + +fantsia2: +fantsia2a: +fantsia2n: +0:f825b6:64:30:00 + +bonzeadv: +bonzeadvo: +bonzeadvu: +jigkmgri: +0:10d554:32:00:2a +0:10d52a:4:00:00 +0:10d52b:1:05:05 + +bonzeadvp: +0:10d552:32:00:2a +0:10d528:4:00:00 +0:10d529:1:05:05 + +batlbubl: +0:f04b24:9a:54:03 + +eyes: +eyes2: +eyeszac: +eyeszacb: +eyesb: +0:4cf7:3c:4c:00 +0:43ed:6:00:40 + +kazan: +0:f4001:97:20:ac +0:f0004:4:00:00 +0:f0010:08:30:30 + +toppyrap: +0:10372f:42:00:45 + +rpatrol: +0:919b:4:18:0a +0:91ba:6:00:00 +0:921b:4:18:0a +0:923a:6:00:00 +0:929b:4:18:0a +0:92ba:6:00:00 + +rpatrolb: +0:919b:4:11:18 +0:91ba:6:00:00 +0:921b:4:11:18 +0:923a:6:00:00 +0:929b:4:11:18 +0:92ba:6:00:00 + +silvland: +0:919b:4:0f:26 +0:91ba:6:00:00 +0:921b:4:0c:26 +0:923a:6:00:00 +0:929b:4:15:26 +0:92ba:6:00:00 + +starfght: +0:40a8:3:00:00 +0:5241:1:10:10 +0:5221:1:10:10 +0:5201:1:10:10 +0:51e1:1:10:10 +0:51c1:1:90:90 +0:51a1:1:90:90 + +slapfighb2: +slapfighb1: +slapfighb3: +slapfigh: +alcon: +0:c05d:49:50:04 +0:c118:7:2d:00 + +news: +newsa: +0:e4bb:8:30:30 + +moomesa: +moomesaa: +moomesaua: +moomesabl: +0:1801e0:97:00:1a + +circusc: +circusc2: +circuscc: +circusce: +circusc3: +circusc4: +0:2160:32:01:FE +0:20A6:3:01:30 +0:35A7:1:00:00 +0:35C7:1:03:03 +0:35E7:1:08:08 +0:3607:1:09:09 +0:3627:1:01:01 +0:3647:1:10:10 + +multchmp: +multchmpk: +0:10a841:3f:10:40 + +htchctch: +0:120faa:27:00:45 + +pollux: +polluxa: +polluxa2: +polluxn: +0:c082:9f:88:2e + +outzone: +outzonea: +outzoneb: +outzonec: +outzoned: +outzoneh: +0:2401de:18:00:00 +0:240503:4f:3f:3f +0:240372:a:00:00 + +dbreed: +0:88990:82:58:2e +0:8896a:3:58:00 +0:88959:1:2b:2b + +dbreedm72: +0:9096a:03:58:00 +0:90990:82:58:2e +0:90950:01:06:06 + +tokio: +tokiou: +tokioo: +0:c858:f:00:2a +0:c85c:1:01:01 +0:f4c0:3:61:00 + +tokiob: +0:f4bf:4:00:00 +0:c858:f:00:2a + +bombkick: +bombkicka: +0:ff8044:46:00:20 + +theglob3: +0:7a5f:3c:00:00 +0:7ab1:1:01:01 +0:7ab7:1:80:80 + +theglobp: +0:4c48:3c:4d:00 +0:4c93:1:01:01 +0:4cb9:1:15:15 + +theglob: +theglob2: +0:7bf9:3c:00:00 +0:7c4b:1:01:01 +0:7c51:1:80:80 + +beastfp: +0:4c46:3c:4d:00 +0:4c8a:1:01:01 +0:4cb0:1:15:15 + +suprglob: +0:7c20:3c:00:00 +0:7ca4:1:d8:d8 +0:7c72:1:01:01 + +sprglbpg: +sprglobp: +0:4c48:3c:4d:00 +0:4cb9:1:15:15 +0:4c93:1:01:01 + +burnforc: +burnforco: +0:100171:bb:00:48 +0:100175:1:08:08 + +darkmist: +0:e01d:8c:00:20 + +thunderx: +thunderxj: +thunderxa: +thunderxb: +0:4050:4:00:00 +0:4100:50:11:00 +0:414e:1:10:10 + +sharrier: +sharrirb: +0:40488:4:01:00 +0:43400:3dc:01:20 +0:437dc:2:00:00 + +mvp: +mvpj: +mvpd: +mvpjd: +0:ff3800:8b:01:01 + +missw96: +missmw96: +missw96a: +missw96b: +missw96c: +0:c025b6:1d:30:53 + +;** this saves the daily hiscores (daily heros), the legendary heros are saved in nvram ** +joust2: +joust2r1: +0:cfaa:54:f1:f9 + +;** this saves the daily hiscores (daily buzzards), the joust champions are saved in nvram ** +joust: +joustr: +joustwr: +0:cfa4:54:f1:f5 + +laserbat: +0:1cf1:1e:cb:00 +0:1d0d:1:60:60 + +lazarian: +0:1f07:1e:00:d4 + +spaceint: +spaceintj: +0:2000:3:0:0 + +catnmous: +0:1f0a:1e:cb:00 +0:1f24:1:d4:d4 + +thoop: +0:ffe5d4:a0:00:0a +0:ffd2ea:4:00:40 + +skullfng: +skullfngj: +0:100a80:f0:00:12 +0:100040:1:08:08 + +backfire: +backfirea: +0:170300:1b0:13:11 + +rocknmsb: +0:1043bd:14d:3d:00 +0:104507:1:18:18 + +twinactn: +0:f9091:3:00:10 + +rockn: +0:104351:3b:3d:06 +0:1043c9:3b:3d:06 + +rocknb: +0:104351:3b:3d:06 +0:1043c9:3b:3d:06 + +rockn4b: +0:1043bf:13b:3d:06 + +rockn3b: +0:1043b1:13b:3d:06 + +rockn2b: +0:104383:13b:3d:06 + +mgcrystlo: +0:30047a:7a:00:00 +0:3004f1:1:46:46 +0:30047b:1:09:09 +mgcrystl: +0:300478:4:00:09 +0:30047c:7c:00:00 +mgcrystlj: +0:300488:4:00:00 +0:30048c:7c:41:00 + +alien3: +alien3u: +0:20f2bc:78:80:00 + +shuttlei: +0:4008:3:00:00 + +avengrgs: +avengrgsj: +0:108909:4e:01:52 + +hvysmsh: +hvysmshj: +hvysmsha: +0:100400:50:01:00 +0:10000c:04:00:00 + +powernjb: +0:18e800:28:00:05 + +plegends: +plegendsj: +0:40e800:3b:00:0c + +tstrike: +tstrikea: +0:cf5:55:42:30 + +supmodel: +0:c825b6:63:30:20 + +powerins: +powerinsa: +powerinsb: +powerinsj: +0:18e800:28:00:05 + +madball: +madballn: +0:eb3b:1e:41:00 +0:eb57:1:01:01 + +tp84: +tp84a: +0:57a0:1e:00:54 +0:5736:03:00:00 + +tp84b: +0:17a0:1e:00:54 +0:1736:3:00:00 + +mchampdx: +mchampdxa: +0:20a900:200:00:40 + +arabfgt: +arabfgtj: +arabfgtu: +0:208300:49:53:00 +0:208345:1:17:17 + +powerbal: +powerbals: +0:f8276:7c:56:00 +0:f82f0:1:20:20 + +kidniki: +kidnikiu: +0:e062:69:00:2e +0:e02b:3:00:00 + +lithero: +0:e062:6e:00:44 +0:e02b:3:00:00 + +yanchamr: +0:e062:6e:00:20 +0:e02b:3:00:00 + +kageki: +kagekij: +kagekih: +0:e057:a:05:50 +0:e061:f:87:8c + +splatter: +splatterj: +splatter2: +1:1430:3f:00:2e + +vbowlj: +vbowl: +0:101c32:44:00:2e + +stkclmns: +stkclmnsj: +0:fffc24:38:4b:88 + +redclash: +redclasha: +0:6023:4:00:00 +0:6320:6:23:1d +redclashk: +0:6023:4:00:00 +0:6320:6:1a:1e + +kikikai: +knightb: +0:e2fc:23:00:55 + +zigzag: +zigzagb: +zigzagb2: +zigzag2: +0:4280:3:00:00 +0:5242:1:10:10 +0:5222:1:10:10 +0:5202:1:10:10 +0:51e2:1:10:10 +0:51c2:1:00:00 +0:51a2:1:00:00 + +varth: +varthj: +varthu: +varthr1: +varthjr: +0:fff9ea:50:00:01 +0:fffa42:04:00:00 + +vandyke: +vandykeb: +vandykejal: +vandykejal2: +0:f0101:ff:00:2e +0:f00d1:3:00:00 + +trckydoca: +0:e03c:78:10:46 + +rohga: +rohgah: +rohgau: +rohga1: +rohga2: +wolffang: +0:3f0200:50:00:09 + +metamrph: +metamrphj: +metamrphu: +0:203240:35:00:5a + +raimais: +raimaisj: +raimaisjo: +0:a237:30:50:4b + +wondstck: +wondstcka: +0:12c354:3b:57:30 + +splash: +splash10: +0:ffca10:50:00:00 +0:ffca5e:1:27:27 + +sichuan2: +sichuan2a: +shisen: +matchit: +0:fcae:52:50:01 + +batsugun: +batsuguna: +batsugunsp: +batsugunb: +0:10109e:04:00:00 +0:101166:70:00:00 +0:1011b5:01:15:15 + +puzloopj: +0:609d080:41:00:31 +0:609d1a8:41:00:30 + +puzloopu: +puzloopk: +0:609c5d8:41:00:31 +0:609c700:41:00:30 + +metlsavr: +0:341600:63:03:44 + +ninjak: +ninjaku: +ninjakj: +0:102b80:48:00:20 + +bnzabros: +bnzabrosj: +0:f00700:98:00:4d +0:f00701:1:31:31 + +zipzap: +0:c80502:4e:4e:41 + +watrball: +0:fed53c:4a:4e:00 + +egghunt: +0:f000:70:45:00 +0:f06b:1:03:03 + +fcrash: +0:ff850c:3c:ff:00 +0:ff80a0:4:00:00 + +starwars: +starwars1: +0:4a9a:1c:00:55 +0:4abf:15:07:0d + +;** top 3 scores saved by nvram, this saves other score table data ** +crkdown: +crkdownj: +crkdownu: +0:fb246:25:00:18 + +pwrinst2: +pwrinst2j: +0:40e800:32:00:01 + +gtmr: +gtmra: +0:102df2:19e:59:80 + +gtmro: +gtmrb: +0:102df2:19a:59:80 + +gtmre: +gtmrusa: +0:1035fa:19e:59:80 + +wbeachvl2: +0:ffbe9a:87:56:00 +0:ffbf1f:1:05:05 + +wbeachvl: +wbeachvl3: +0:ffbfb8:8a:31:00 + +jollyjgr: +;** hiscore updates when you start your first game ** +0:85c8:3:00:00 +0:85c9:1:50:50 + +elim2c: +0:c9a0:1e:0c:03 +0:c925:14:00:00 + +elim4p: +0:cc4d:1e:0c:03 +0:c928:14:00:00 + +bnglngby: +0:6400:5a:00:01 + +dkngjnrb: +dkongjnrj: +dkongjr: +dkongjre: +dkongjrpb: +0:6105:9e:10:10 +0:60b8:3:50:00 +0:7661:1:10:10 +0:7641:1:00:00 +0:7621:1:00:00 +0:7601:1:07:07 +0:75e1:1:06:06 +0:75c1:1:05:05 +0:75a1:1:00:00 + +dkongjrb: +dkongjrj: +jrking: +dkingjr: +0:6105:9e:10:10 +0:60b8:3:00:01 +0:7661:1:10:10 +0:7641:1:00:00 +0:7621:1:01:01 +0:7601:1:01:01 +0:75e1:1:08:08 +0:75c1:1:00:00 +0:75a1:1:00:00 + +dkongjrm: +0:6105:9e:10:10 +0:60b8:3:00:01 +0:9261:1:10:10 +0:9241:1:00:00 +0:9221:1:01:01 +0:9201:1:01:01 +0:91e1:1:08:08 +0:91c1:1:00:00 +0:91a1:1:00:00 + +vspinbal: +vspinbalj: +0:ba0:10:1c:00 +0:118:5:00:00 + +searchar: +searcharu: +searcharj: +0:437b6:50:00:1f +0:40118:3:00:01 + +jajamaru: +0:900:5b:22:00 +0:66:3:d0:00 + +mightybj: +0:3a8:4:00:00 +0:3aa:1:10:10 + +machridrj: +machridra: +0:700:50:00:4b +0:701:1:05:05 + +iceclmrj: +iceclmrd: +0:750:3c:00:23 +0:751:1:77:77 +1:750:3c:00:23 +1:751:1:77:77 + +iceclimb: +iceclimbj: +iceclimba: +0:750:3c:00:23 + +vsgradus: +0:7e0:3:00:00 +0:7e1:1:50:50 + +vsfdf: +0:712:9c:10:28 + +excitebk: +excitebka: +excitebkj: +excitebko: +0:630:14f:00:0e + +vsgongf: +ringfgt: +ringfgt2: +0:c026:3:00:00 +0:c060:3e:00:11 +0:c027:1:20:20 + +vblokbrk: +sarukani: +0:6027cb8:80:00:2e + +vsgshoe: +0:560:1d:12:a0 + +tetrisse: +0:ccc1:9f:4a:04 + +ssriders: +ssridersebd: +ssridersebc: +ssridersuab: +ssridersuda: +ssridersuac: +ssridersubc: +ssridersjbd: +ssridersabd: +ssriderseaa: +ssridersjac: +ssridersjad: +0:104400:50:4b:00 +0:104120:4:00:00 + +plotting: +plottingu: +plottinga: +plottingb: +flipull: +0:82b0:30:00:13 + +mslugx: +0:10f010:47:00:50 +0:10e8f2:2:ff:ff + +mslug2: +0:10f00a:61:00:59 +0:10e6f4:2:ff:ff + +jin: +0:a200:3f:30:4e + +spatter: +ssanchan: +0:ef00:31:00:52 +0:c00b:3:00:00 +0:c00c:1:10:10 + +vautour2: +0:41e0:1:20:20 +0:41c0:1:20:20 +0:41a0:1:20:20 +0:4180:1:20:20 +0:4160:1:20:20 +0:4140:1:20:20 +0:4389:3:00:00 + +osman: +candance: +0:186f80:ee:93:00 +0:187068:1:01:01 + +magdropp: +0:6800c4:45:00:41 +0:680920:a:54:00 + +magdrop: +0:3800c4:45:00:41 +0:380920:a:54:00 + +chainrec: +0:4000c0:4d:00:41 +0:400920:a:54:00 + +cannonb: +cannonb2: +cannonb3: +0:6180:d4:00:01 +0:665c:3:00:01 + +cannonbp: +0:4d80:df:00:01 + +prtytime: +gangonta: +0:185c24:4d:00:18 +0:201bd0:27:32:00 +0:201bf4:1:05:05 + +joemacr: +joemacra: +joemacrj: +0:1000c0:9d:01:09 +0:20105c:3:a0:01 + +enduror: +enduror1: +enduror1d: +endurord: +0:43400:4a0:01:20 +0:43b90:10:99:99 + +kaitei: +0:200e:5:00:00 + +kaitein: +0:403e:2:00:00 +0:21c0:1:00:00 +0:21e0:1:00:00 +0:2200:1:ec:ec +0:2240:1:ec:ec +0:2220:1:ec:ec +0:2260:1:ec:ec + +loffire: +loffireu: +loffirej: +loffired: +loffirejd: +loffireud: +0:a3800:18f:01:49 + +le2u: +0:c03e94:40:05:48 + +lethalen: +lethalenub: +0:3390:50:41:00 +0:33de:1:70:70 + +borntofi: +0:166:8b:50:0b + +sandscrp: +sandscrpa: +sandscrpb: +0:702014:50:00:1b +0:700048:4:00:00 + +arabian: +arabiana: +0:d384:3c:00:00 +0:d3bd:1:01:01 + +gunmast: +0:80e308:4b:00:ae + +tenkomor: +tenkomorj: +0:3fd60:c7:20:2d + +slipstrm: +slipstrmh: +0:2095e1:4e3:60:4d +0:2037cf:5c:01:4d + +mechatt: +mechattu: +mechattj: +0:7f943:3:02:54 +0:7f9bb:99:02:14 + +mechattu1: +0:7f943:3:00:15 +0:7f9bb:99:00:2e + +metrocrs: +metrocrsa: +0:1471:7b:2b:0e +0:1423:3:00:00 +0:486c:7:2d:00 + +animaljr: +0:67a3:a:00:22 +0:6b63:1:08:08 + +finalap2: +finalp2j: +0:106000:d0:50:01 + +finalap3: +finalp3j: +0:106000:d0:4d:19 + +eaglshot: +eaglshta: +0:20:62:48:18 + +rdft: +rdftau: +rdftj: +rdftadi: +rdftu: +rdfta: +rdftdi: +rdftit: +rdfts: +rdftauge: +rdftja: +rdftjb: +0:29bc1:aa:40:4f + +mrkougar: +mrkougb: +mrkougb2: +mrkougar2: +0:40a6:12:00:00 +0:4a61:1:10:10 +0:4a41:1:10:10 +0:4a21:1:10:10 +0:4a01:1:10:10 +0:49e1:1:10:10 +0:49c1:1:10:10 + +ladybug: +ladybugb: +ladybgb2: +0:6073:1b:01:00 +0:d380:75:ff:ff + +ladybugg: +0:5884:64:01:47 + +nsub: +0:8397:2:00:00 + +falcona: +0:4389:3:00:00 +0:4140:1:20:20 +0:4160:1:20:20 +0:4180:1:20:20 +0:41a0:1:20:20 +0:41c0:1:20:20 +0:41e0:1:20:20 + +ad2083: +0:4600:64:0a:04 +0:40a8:3:00:06 + +welltris: +welltrisj: +0:ffb61c:50:0c:00 + +mshuttle: +mshuttlej: +mshuttlej2: +mshuttle2: +0:808a:58:00:24 + +wexpress: +wexpressb: +wexpressb2: +wexpressb3: +wexpressb1: +0:0245:3:15:00 +0:0240:50:20:00 + +exprraida: +exprraidi: +0:0240:50:20:00 + +exprraid: +exprraidu: +0:05fd:3:15:00 +0:0240:50:20:00 + +yosakdon: +yosakdona: +0:23ab:3:00:00 + +hcrash: +hcrashc: +0:81900:ac5:00:10 +0:80e88:4:00:70 +0:80e94:4:00:70 +0:80c64:1:20:20 + +gaiapols: +gaiapolsj: +gaiapolsu: +0:60f801:99:00:00 +0:60f896:1:29:29 + +spcpostn: +0:c000:172:00:02 +0:cfe9:64:ff:ff + +gardia: +gardiab: +gardiaj: +0:d300:50:00:4a +0:c017:3:00:02 + +rdft22kc: +rdft2a: +rdft2: +rdft2j: +rdft2a2: +rdft2us: +rdft2j2: +rdft2t: +rdft2u: +rdft2aa: +rdft2ja: +0:285dc:1ab:01:2e + +brival: +brivalj: +0:208300:4a:42:04 + +kikcubic: +kikcubicb: +0:fe30:c8:07:04 +0:fef8:3:07:35 + +schmeisr: +0:ff5a20:79:00:4c + +joinem: +0:8bad:5a:00:43 + +calorie: +calorieb: +0:cd11:78:00:49 +0:c418:3:00:01 + +sxyreac2: +0:7550:a3:4c:4c + +survarts: +survartsu: +0:11a5:26:00:45 +0:11cb:2:45:00 + +invaders: +earthinv: +spaceatt: +spaceat2: +sinvemag: +sitv: +sicv: +sisv: +sisv1: +sisv3: +sisv2: +alieninvp2: +spceking: +spcewars: +spacewr3: +invader4: +invadrmr: +invasion: +searthin: +searthina: +superinv: +sinvzen: +invasiona: +invasionb: +invasionrz: +invasionrza: +spacerng: +ultrainv: +spacecom: +sitvo: +sitv1: +invadersem: +galmonst: +spaceatt2k: +spaceattbp: +0:20f4:02:00:00 + +searthie: +0:20f4:02:00:50 + +alieninv: +0:20f4:2:00:50 + +invaderl: +0:20E0:03:00:00 + +sspaceatc: +sspaceat: +sspaceat2: +sspaceat3: +0:c4c7:10:00:00 + +cosmicm2: +cosmicmo: +0:20f4:03:00:00 + +darthvdr: +0:1c08:2:00:00 + +jspecter: +jspecter2: +0:20f4:2:00:00 +0:2300:2:00:00 + +dietgo: +dietgoe: +dietgoj: +dietgou: +0:3801f8:4:00:00 +0:380100:ef:48:50 +0:3801f9:1:35:35 + +ambushj: +ambush: +ambushv: +ambushh: +0:8050:3:00:00 +0:800f:24:00:3a + +wbbc97: +0:5023f1:6d:00:02 + +opwolf: +opwolfb: +opwolfu: +opwolfa: +opwolfj: +0:100a42:75:00:54 +0:100e28:3b:00:01 + +opwolfp: +0:100a6a:75:00:54 +0:100e68:37:08:01 + +gsword: +gsword2: +0:9c00:1e:00:00 +0:9c78:3c:34:00 + +flytiger: +flytigera: +0:d244:34:88:48 +0:d235:1:03:03 + +mcatadv: +catt: +mcatadvj: +0:101bd3:31:05:2b + +avalnche: +cascade: +0:009b:2:00:00 + +aerofgtb: +aerofgtc: +0:cc1af:97:0b:64 + +triothepj: +triothep: +0:1f1a58:41:41:4d + +simpsons: +simpsons2pj: +simpsons2p: +simpsons4pa: +simpsons2p2: +simpsons2pa: +simpsons2p3: +0:4980:50:42:00 + +drtomy: +0:ffee00:c0:20:30 + +pbaction: +pbaction2: +pbaction3: +pbaction4: +pbaction5: +0:c093:51:07:00 +0:c12f:27:48:4b + +rainbow: +rainbowo: +rbisland: +0:10d0cc:32:00:32 +0:10e1f2:04:00:00 + +jumping: +jumpinga: +jumpingi: +0:10d0cc:32:00:41 +0:10e1f2:04:00:00 + +rainbowe: +rbislande: +0:10d0d2:32:00:33 +0:10e1b6:04:00:00 + +pclubys: +pclubysa: +0:20b461:145:3a:64 +0:20e835:b9:38:64 +0:206935:ed:14:64 +0:20b515:91:38:64 + +hookj: +0:ea6b7:ec:00:4f + +bigkong: +0:6109:a1:00:92 +0:60b8:3:50:00 + +mimonkey: +mimonsco: +0:84a1:2:d0:07 +0:8981:1:00:00 +0:89a1:1:00:00 +0:89c1:1:00:00 +0:89e1:1:00:00 +0:8a01:1:02:02 +0:8a21:1:10:10 +0:8a41:1:10:10 +0:8920:1:10:10 +0:8940:1:10:10 +0:8960:1:15:15 +0:8980:1:22:22 +0:89a0:1:1f:1f +0:89c0:1:13:13 +0:89e0:1:23:23 +0:8a00:1:10:10 +0:8a20:1:18:18 +0:8a40:1:17:17 +0:8a60:1:19:19 +0:8a80:1:18:18 +0:8aa0:1:10:10 +0:8ac0:1:10:10 +0:8ae0:1:10:10 + +disco: +discof: +0:0400:24:00:00 +0:0006:3:00:00 + +cookbib: +cookbiba: +0:121cca:aa:20:64 + +bullfgtr: +bullfgtrs: +0:40700:40:41:00 +0:40012:6:00:00 +0:800b0:1c:00:11 + +bigstrik: +bestleag: +bestleaw: +bigstrkb: +0:ff890b:49:08:78 + +bigstrkba: +0:ff890b:49:00:78 + +snapper: +0:ff3521:26:01:05 + +crzrally: +crzrallyg: +crzrallya: +0:c000:36:00:41 + +buccanrsa: +0:e36d:46:20:4f + +buccanrs: +0:e36e:46:20:4f + +buccanrsb: +0:e373:46:20:4f + +;** this saves just the today`s best scores, the all time greatest are ** +;** saved using nvram ** +defender: +startrkd: +defenderg: +defenderw: +defenderb: +defence: +defcmnd: +0:b260:60:00:48 + +tornado1: +zero: +zero2: +0:b260:60:00:58 + +skylancr: +skylancre: +0:82e3:2:00:01 +0:82e5:22:00:00 + +pinbo: +pinbos: +pinboa: +0:120:6e:24:00 +0:43:3:00:00 +0:44:1:50:50 + +starfir2: +0:82a9:6a:00:00 + +starfirea: +0:82ba:aa:00:00 + +excelsr: +0:ff1778:b3:0c:01 + +excelsra: +0:ff1780:b3:0c:01 + +gforce2: +gforce2j: +gforce2ja: +2:1fe400:38:00:01 + +pdrift: +pdriftj: +pdrifta: +pdrifte: +2:1ffa16:18f:02:08 + +viprp1: +viprp1s: +viprp1j: +viprp1u: +viprp1k: +viprp1h: +0:1e610:c7:40:2e + +viprp1oj: +0:1d7b9:c7:20:2e + +viprp1ot: +viprp1hk: +0:1e600:c7:40:2e + +ringkingw: +1:8048:8C:00:12 +0:C22a:04:00:05 + +suratk: +suratkj: +suratka: +0:b00:5a:11:31 +0:5981:3:10:00 +0:609e:6:01:00 + +alphamis: +0:d83b:82:00:20 +0:e77b:3:00:00 + +sprcros2: +sprcros2a: +0:fa00:78:00:4a +0:f012:6:00:00 +0:f013:1:03:03 + +ufosensi: +ufosensb: +0:c800:62:11:41 + +altbeast: +altbeast2: +altbeastj3: +altbeast4: +altbeast5: +altbeastj: +altbeastj1: +altbeast6: +altbeastbl: +altbeast5d: +altbeastj3d: +0:fffc00:74:00:33 +0:fff010:4:00:00 + +lunarbat: +0:42b:2d:50:03 + +racknrol: +0:1db8:45:23:13 + +gravitar: +gravitar2: +gravp: +gravitar1: +0:41e:30:50:05 + +missile2: +suprmatk: +missile: +suprmatkd: +0:002c:30:47:00 + +missile1: +0:002c:30:4D:00 + +wallc: +wallca: +brkblast: +0:a200:28:00:01 +0:a284:4:00:00 + +spaceg: +0:7007:3:00:00 + +rezon: +rezont: +0:201c66:63:03:20 +0:2018ba:2:03:e8 + +pushman: +pushmans: +pushmana: +pushmant: +0:ffc690:50:00:41 +0:ffcc2a:4:00:00 + +lgtnfght: +trigon: +lgtnfghtu: +lgtnfghta: +0:90400:50:41:50 +0:90120:4:00:60 + +bronx: +0:e1da:28:0:41 + +karatblz: +karatblzu: +karatblzj: +karatblzbl: +karatblza: +0:c5ba7:31:00:20 + +kickboy: +0:9338:3:88:02 +0:9340:23:88:54 + +dacholer: +0:933c:23:88:54 +0:9334:3:88:02 + +clshroad: +clshroads: +clshroadd: +0:8000:3c:4d:00 +0:803a:1:40:40 + +vanvan: +vanvank: +vanvanb: +0:4809:6:00:00 +0:4c60:f0:00:00 + +shtrider: +shtridera: +shtriderb: +0:e013:2d:00:4d + +othunder: +othunderu: +othunderj: +othunderuo: +0:839ca:438:4e:00 +0:83dd9:1:01:01 + +gtmr2u: +0:103b34:b62:59:01 + +popeyebl: +0:8200:24:00:02 +0:8fed:3:00:03 +0:8f32:6:00:00 + +svolley: +svolleyk: +svolleyu: +0:60512:48:00:05 + +popeyef: +0:8a00:24:00:01 +0:8fed:3:00:02 +0:8f32:6:00:00 + +popeye: +popeyeu: +0:8a00:24:00:02 +0:8fed:3:00:03 +0:8f32:6:00:00 + +pbobble: +0:907010:36:00:00 + +toutruna: +toutrunu: +toutrun1: +toutrun2: +toutrun: +toutrun3: +toutrunj: +toutrunj1: +toutrun3d: +toutrund: +toutrunj1d: +toutrunjd: +toutrun2d: +0:6046e:118:05:20 +0:60909:1:09:09 + +twinspri: +0:10bcff:7d:00:00 +0:10bb74:02:ff:ff + +alexkidd: +alexkidd1: +0:fffc00:38:00:44 +0:fff010:4:00:00 + +afighter: +0:fff300:50:00:59 +0:ffc060:4:00:00 +0:ffc061:1:06:06 + +dunkshot: +dunkshoto: +dunkshota: +0:ff31c0:874:49:01 + +qsangoku: +0:e815:4b:00:00 +0:e860:03:01:00 + +shippumd: +kingdmgp: +0:1002d0:9e:00:4e +0:1003c4:53:2a:39 + +qndream: +0:ff40b3:d8:00:00 +0:ff418b:02:01:00 + +sonicwi: +0:cc1af:a0:0b:00 + +tazmania: +tazmani2: +tazzmang: +tazzmang2: +0:80ef:3c:01:4c + +riot: +0:101d3c:f0:64:18 + +thndrbld: +thndrbld1: +thndrbldd: +0:a3b00:64:01:01 + +bloxeedc: +bloxeedu: +bloxeed: +bloxeedd: +0:fff40a:64:53:08 +0:fff082:1:01:01 + +sfan: +0:ff94f2:9C:00:12 +0:ff8732:8:00:00 + +sfj: +sfu: +sf: +sfua: +0:ff8e72:9C:00:12 +0:ffc012:8:00:00 + +sfp: +0:ff9498:9C:00:12 +0:ff8d18:8:00:00 + +wrestwar: +wrestwar1: +wrestwar2: +wrestwar1d: +wrestwar2d: +0:fff800:a0:00:a0 +0:ffe044:4:00:00 + +dbrkr: +0:ff3418:1:1a:1a +0:ff3b02:4:00:e8 +0:ffbb02:4:00:e8 +0:fffb02:4:00:e8 +0:ff7b02:4:00:e8 + +rachero: +racherod: +0:ff89be:51:10:01 +0:ff89ae:4:10:00 + +bloodbro: +weststry: +bloodbroa: +bloodbrob: +0:85b1f:f9:30:00 +0:85c15:1:02:02 + +scorpion: +scorpionmc: +scorpiona: +scorpionb: +aracnis: +0:4207:f:00:00 +0:42ad:f:10:10 + +sgunner: +sgunnerj: +0:10018f:bb:00:4f +0:100165:b:00:00 +0:100169:1:04:04 + +ordynej: +ordyne: +0:100712:28:00:03 +0:40925c:4:00:00 + +luckywld: +luckywldj: +0:100b00:a0:00:02 + +huncholy: +hncholms: +0:3c08:12:00:30 + +herbiedk: +0:3c22:1b:00:00 +0:3c20:1:18:18 + +fpointbl: +fpointbj: +0:ffec6e:64:00:00 +0:fff000:910:00:00 +0:ffe083:1:33:33 + +fpoint: +fpoint1d: +fpointd: +0:ffec6d:65:08:01 +0:fff000:910:00:00 +0:ffe083:1:33:33 + +fpoint1: +0:ffec6d:65:08:01 +0:fff000:910:00:00 +0:ffe083:1:33:33 + +mwalk: +mwalku: +0:ff3c00:50:00:4a +0:ffe020:4:00:00 + +mwalkj: +0:ff3c00:50:00:4a +0:ffe020:4:00:00 + +mwalkbl: +mwalkd: +mwalkjd: +mwalkud: +0:fffc00:50:00:4a +0:ffe020:4:00:00 + +aurail: +auraila: +aurailj: +aurail1d: +aurailjd: +0:ffff7e:27:00:52 + +bodyslam: +dumpmtmt: +0:fffcc0:3c:00:00 +0:fffcfa:1:03:03 + +goldnaxe: +goldnaxa: +goldnaxej: +goldnaxeu: +goldnaxeb2: +goldnaxeb1: +goldnaxe1: +goldnaxe2: +goldnaxe3: +goldnaxe1d: +goldnaxe3d: +goldnaxejd: +goldnaxeud: +0:fffc00:38:02:00 + +dduxbl: +ddux: +dduxj: +dduxd: +dduxjd: +0:fff880:98:00:20 +0:fff31b:1:03:03 + +eswat: +eswatbl: +eswatu: +eswatj: +eswatj1: +eswatd: +eswatj1d: +eswatjd: +eswatud: +0:ffcc00:46:00:00 +0:ffcc42:1:2e:2e + +vanguard: +vanguardc: +vanguardj: +0:220:70:11:30 +0:25:3:00:00 + +tigeroad: +toramich: +tigeroadb: +tigeroadu: +0:ffec70:64:59:bc +0:ffc092:4:00:00 + +wwfwfest: +wwfwfestj: +wwfwfestb: +wwfwfesta: +0:1c00c2:84:08:01 + +bootcamp: +bootcampa: +0:1320:46:02:07 +0:826:3:00:10 + +mermaid: +yachtmn: +0:c008:6:00:00 + +asteroid: +asteroidb: +asteroid2: +hyperspc: +spcrocks: +0:001d:35:00:00 + +asteroid1: +0:001c:35:00:00 +0:2a6:1:01:01 + +meteorts: +meteorho: +0:001c:35:00:00 + +bonkadv: +0:1032e0:5c:00:00 +0:10634b:37:60:50 +0:1032f7:1:80:80 + +superman: +supermanu: +supermanj: +0:f02953:3a:00:49 +0:f0251f:9:20:30 +0:f01cf3:3:00:88 + +bubl2000: +hotbubl: +hotbubla: +0:3c0600:50:00:20 + +brkthru: +brkthruj: +forcebrk: +0:0531:27:00:32 +0:0402:3:00:50 + +twins: +0:4cc0:60:09:00 +0:4d1d:1:01:01 + +twinsa: +0:4cbe:60:09:00 +0:4d1b:1:01:01 + +fcombat: +0:c600:a:00:00 +0:c700:23:00:00 + +mwarr: +0:112002:3d:00:4e + +sonicbom: +sonicbomd: +0:ffc088:4:00:00 +0:ffc100:9e:20:20 + +explbrkr: +0:10c01a:63:00:4e + +sraider: +0:6010:9f:00:21 + +ginganin: +ginganina: +0:20291:50:00:59 +0:202e1:83:20:09 +0:2011d:3:00:00 + +sonofphx: +99lstwar: +99lstwra: +repulse: +0:f660:5f:00:ff + +pengo: +pengob: +penta: +pengojpm: +pengopac: +0:8840:1e:d0:41 +0:880c:2:d0:07 + +pengo3u: +0:8840:1e:d0:4d +0:880c:2:d0:07 + +pengo2: +pengo2u: +pengo4: +0:8840:1e:00:4d +0:880c:2:00:00 + +nibbler: +nibblerp: +nibbler8: +nibbler6: +nibblero: +0:0290:28:00:00 +0:02d0:1e:13:14 + +ikki: +farmer: +0:c010:1e:22:00 +0:d61b:1:2a:2a +0:d65b:1:04:04 +0:d69b:1:00:00 +0:d6db:1:00:00 +0:d71b:1:00:00 +0:d75b:1:00:00 + +cclimbr2a: +0:612a7:49:10:00 +0:612f2:1:50:50 + +paintlad: +0:ffca10:50:00:00 +0:ffca5e:1:27:27 + +wizzquiz: +0:2b4f:221:4d:00 +0:2d6e:1:05:05 + +msbingo: +0:101288:a:09:30 +0:1000c2:31:4d:20 + +cookbib2: +0:1026a2:28:4b:00 +0:1026c4:1:4d:4d + +sf2hf: +0:ffd276:28:00:20 +0:ffd2c6:14:ff:96 +0:ffd2ee:04:00:00 + +fghtbskt: +0:c0c0:28:03:dd + +pairsten: +pairsnb: +0:f832:3:70:00 +0:f814:1:03:03 + +drakton: +drktnjr: +0:6449:118:00:00 +0:655d:1:20:20 + +robowres: +robowresb: +0:e01a:7:00:00 +0:e370:73:00:00 + +fgoal: +fgoala: +0:89:9:00:00 + +vf1: +vf: +0:40f800:b3:09:4d + +roldfrog: +roldfroga: +0:ffca10:50:00:00 +0:ffca5b:1:0f:0f + +countrunb: +0:d0d8:127:00:48 + +goldmedl: +goldmedla: +0:40a20:a0:00:00 +0:40b22:46:1b:00 +0:40b20:2:00:01 + +fax: +faxa: +0:02b4:15e:00:00 + +gtmr2a: +gtmr2: +0:103b1c:1a0:59:01 +0:103cfc:300:4d:2e + +galpanica: +0:c825b6:64:30:31 + +caterplr: +0:02:18:57:01 +0:1a:18:01:14 + +hyperpac: +0:10315c:28:50:00 + +diggerc: +0:1cf8:2e:00:00 +0:1c01:1:a2:a2 + +vasara2: +vasara2a: +0:5302:eb:01:0a + +twinfalc: +0:e680:50:00:3b +0:e600:08:00:00 + +hardhead: +pop_hh: +hardheadb: +hardheadb2: +0:ce80:18e:03:3d +0:c051:3:00:00 + +fantland: +fantlanda: +0:edc:28:50:0c + +empcity: +empcityi: +empcityj: +stfight: +empcityu: +stfighta: +stfightgb: +0:e012:55:00:45 + +sabotenb: +sabotenba: +cactus: +0:f6e00:6c:00:1e + +puchicar: +puchicarj: +0:401c7e:348:00:04 + +megazone: +megazonei: +megazonea: +megazoneb: +megazonec: +0:2446:89:00:55 +0:3b08:4:00:00 + +finalb: +finalbj: +finalbu: +0:101f22:4:00:00 +0:10104c:32:00:45 + +goldbug: +0:3D09:1E:00:00 + +;** this saves "today`s scores", the game saves the grand master scores using ** +;** nvram (I think!! :0) ** +tgmj: +0:80171198:35:06:64 + +mspuzzle: +0:100ff4:c:0b:f4 +0:100608:2f:4d:20 + +dadandrn: +mmaulers: +0:600701:99:02:e8 + +headon2: +0:c390:12:30:30 + +headons: +headonsa: +headonmz: +0:c78a:f:30:30 + +headonb: +0:ff06:4:00:00 + +mt_eswat: +0:ffff04:3:00:00 + +mt_cols: +0:fefa20:8e:00:00 + +contcirc: +contcircu: +0:83064:257:00:41 +0:84582:4:00:e0 +0:826ef:1:52:52 + +contcircua: +0:8306a:257:00:41 +0:84582:4:00:e0 +0:826ef:1:52:52 + +onetwo: +onetwoe: +0:fcae:52:00:01 + +seganinj: +seganinju: +nprinces: +nprincesu: +nprincesb: +ninja: +nprinceso: +0:EF00:31:00:43 + +renju: +0:f2aa:28:b8:01 +0:f2ea:2:70:17 + +nratechu: +0:e568:28:00:08 + +piratetr: +0:2dc:4f:55:44 + +suprridr: +0:80ca:3:00:00 +0:8a21:1:24:24 +0:8a01:1:24:24 +0:89e1:1:24:24 +0:89c1:1:24:24 +0:89a1:1:24:24 +0:8981:1:00:00 + +drivfrcp: +drivfrcg: +drivfrcb: +drivfrct: +0:3c05:49:20:20 +0:3c1f:1:31:31 + +spinner: +0:1c11:3:00:00 +0:1e40:f:00:00 + +shdancer: +shdancerj: +shdancbl: +shdancer1: +0:ffec24:13a4:80:50 + +scotrsht: +0:1ca0:46:01:1d +0:199c:3:01:40 + +rocktrv2: +0:4c2c:3c:44:0 +0:4c66:1:25:25 +0:43ed:6:00:40 +0:43f0:1:05:05 + +highsplt: +highsplta: +0:60a9:3:00:00 +0:60a3:3:00:00 +0:609d:3:00:00 +0:60bb:3:00:00 +0:60b5:3:00:00 +0:60af:3:00:00 +0:60f1:3:00:00 +0:60ec:3:00:00 +0:60e7:3:00:00 +0:60cd:3:00:00 +0:60c7:3:00:00 +0:60c1:3:00:00 + +highspltb: +0:60a9:3:00:00 +0:60f1:3:00:00 +0:60ec:3:00:00 +0:60e7:3:00:00 +0:60a3:3:00:00 +0:609d:3:00:00 +0:60bb:3:00:00 +0:60b5:3:00:00 +0:60af:3:00:00 +0:60cd:3:00:00 +0:60c7:3:00:00 +0:60c1:3:00:00 + +gyrodinet: +gyrodine: +buzzard: +0:f300:45:00:0b +0:94e2:1:01:01 +0:94a2:1:01:01 +0:9462:1:03:03 +0:9422:1:06:06 +0:93e2:1:04:04 +0:93a2:1:00:00 +0:9362:1:00:00 +0:9322:1:00:00 + +dkong3: +dkong3j: +dkong3b: +0:6b00:aa:f3:76 +0:6c20:40:00:00 +0:6c16:04:00:00 +0:68f3:03:01:00 + +changes: +looper: +changesa: +0:899a:6:26:27 +0:89ba:6:00:00 +0:8a1a:6:26:27 +0:8a3a:6:00:00 +0:8a9a:6:26:27 +0:8aba:6:00:00 + +viofight: +viofightu: +viofightj: +0:a02800:28:02:20 + +tmnt: +tmntj: +tmntua: +tmht2p: +tmnt2po: +tmnt2pj: +tmht: +tmntu: +tmht2pa: +tmhta: +tmhtb: +0:63500:f3:03:41 + +s1945: +s1945j: +s1945jn: +s1945a: +s1945k: +s1945bl: +0:fe2af8:78:2d:f8 + +shienryu: +0:60adc34:7ec:54:10 +0:60acbc4:4:00:e8 + +wiggie: +0:ffe108:54:00:47 + +timeplt: +timepltc: +spaceplt: +timeplta: +0:ab08:28:00:f1 +0:a98b:3:00:01 + +mahoudai: +sstrikera: +sstriker: +0:10029a:a4:00:20 + +spacelnc: +0:60bd:21:00:00 + +spacefev: +spacefevo: +spacefevo2: +0:60e7:3:00:00 +0:60f1:3:00:00 +0:60ec:3:00:00 + +sfevrbwa: +sfeverbw: +0:609d:3:00:00 +0:60a3:3:00:00 +0:60a9:3:00:00 +0:60af:3:00:00 +0:60b5:3:00:00 +0:60bb:3:00:00 +0:60c1:3:00:00 +0:60c7:3:00:00 +0:60cd:3:00:00 +0:60e7:3:00:00 +0:60ec:3:00:00 +0:60f1:3:00:00 + +galaga: +galagamk: +galagamw: +galagao: +galagads: +gallag: +galagab2: +galaga84: +galagamf: +0:8a20:2d:00:18 +0:83ed:6:00:24 + +bullsdrt: +bullsdrtg: +0:5c05:87:00:00 +0:5c5e:1:30:30 +0:5c06:1:00:00 + +battleg: +battlegb: +0:10ca4c:ed:00:2a +0:101241:1:45:45 + +botanic: +botanicf: +0:720a:46:18:10 +0:700a:1e:00:00 +0:7233:1:23:23 + +bongo: +0:8300:11:0:15 +0:8301:1:05:05 + +spang: +sbbros: +spangbl: +spangj: +0:fc01:9e:00:07 +0:e158:4:00:00 + +statriv4: +0:482b:18:00:00 + +pairlove: +0:f00748:63:00:2d + +outrun: +outrunb: +0:6046e:118:05:20 + +outrunra: +0:6046e:118:05:20 +0:604c8:1:4f:4f + +outrundxa: +outrundx: +outrundxj: +0:6046e:118:01:20 +0:604c8:1:4f:4f + +mappy: +mappyj: +0:1460:28:00:41 +0:1385:3:00:00 +0:07ed:6:00:20 +0:7e0:2:00:02 + +kyustrkr: +0:f00d06:4f:41:4e + +gundamex: +0:2078a7:63:01:50 + +gstrik2j: +gstrik2e: +0:ffaef3:48:76:28 + +goal92: +0:109f57:99:28:01 + +ddungeon: +ddungeone: +0:915:9c:4b:30 + +sspacaho: +0:e4cb:c:00:00 +0:878a:f:30:30 + +cosmo: +0:2038:3:00:00 +0:2e22:1:7c:7c +0:2e42:1:82:82 +0:2e62:1:82:82 +0:2e82:1:82:82 +0:2ea2:1:7c:7c +0:2f22:1:00:00 +0:2f42:1:00:00 +0:2f62:1:00:00 +0:2f82:1:00:00 +0:2fa2:1:00:00 +0:3022:1:00:00 +0:3042:1:00:00 +0:3062:1:00:00 +0:3082:1:00:00 +0:30a2:1:00:00 +0:3122:1:00:00 +0:3142:1:00:00 +0:3162:1:00:00 +0:3182:1:00:00 +0:31a2:1:00:00 +0:3222:1:00:00 +0:3242:1:00:00 +0:3262:1:00:00 +0:3282:1:00:00 +0:32a2:1:00:00 +0:3322:1:00:00 +0:3342:1:00:00 +0:3362:1:00:00 +0:3382:1:00:00 +0:33a2:1:00:00 +0:3422:1:00:00 +0:3442:1:00:00 +0:3462:1:00:00 +0:3482:1:00:00 +0:34a2:1:00:00 + +asterock: +asterockv: +0:1c:35:00:00 + +jackal: +topgunr: +topgunbl: +jackalj: +jackalr: +1:72f8:27:00:1d +1:7340:3:00:00 +1:7341:1:02:02 + +pacmania: +pacmaniao: +1:644:50:00:4d +1:61c:4:00:00 + +pacmaniaj: +1:61c:4:00:00 +1:61e:1:50:50 + +ladyfrog: +0:eb44:8f:dc:00 +0:ebd1:1:20:20 + +bakubrkr: +0:10c01a:63:00:4e + +demoneye: +0:128:b:00:00 + +jcross: +0:f5ab:1e:00:49 + +dorachan: +0:1815:5:00:00 +0:5d70:1:7c:7c +0:5d71:1:8a:8a +0:5d72:1:92:92 +0:5d73:1:a2:a2 +0:5d74:1:7c:7c +0:5d78:1:7c:7c +0:5d79:1:8a:8a +0:5d7a:1:92:92 +0:5d7b:1:a2:a2 +0:5d7c:1:7c:7c +0:5d80:1:7c:7c +0:5d81:1:8a:8a +0:5d82:1:92:92 +0:5d83:1:a2:a2 +0:5d84:1:7c:7c +0:5d88:1:7c:7c +0:5d89:1:8a:8a +0:5d8a:1:92:92 +0:5d8b:1:a2:a2 +0:5d8c:1:7c:7c +0:5d90:1:7c:7c +0:5d91:1:8a:8a +0:5d92:1:92:92 +0:5d93:1:a2:a2 +0:5d94:1:7c:7c + +porky: +0:1c38:4a:00:20 +0:1c56:1:30:30 + +bigbucks: +0:4d7f:5f:48:00 +0:4ddc:1:20:20 + +bangj: +0:fe5a50:f0:30:01 + +superx: +superxm: +0:d07c0:68:32:20 + +speedatk: +0:8a3c:4c:00:0f + +pacheart: +0:43d1:2:4e:55 +0:4e88:3:00:00 +0:43ed:6:40:40 + +pacland: +paclandj: +paclandjo: +paclandm: +paclandjo2: +0:2140:4a:00:e6 +0:205d:4:00:00 + +jrpacman: +fastjr: +jrpacad: +jrhearts: +jrvectr: +jrpacmanf: +0:4751:01:48:48 +0:476d:06:40:40 +0:4e88:03:00:00 + +jrpacmbl: +0:8e88:3:00:00 +0:876d:6:40:40 +0:8dce:1:03:03 + +strtheat: +0:6270:a7:01:20 + +gaia: +0:100030:9a:00:04 + +asurabld: +0:4036ea:2:00:0a +0:40370a:4:04:07 +0:40374a:4:00:50 +0:40378a:4:09:01 +0:40368b:1:10:10 +0:4036aa:4:00:00 + +twineag2: +0:e208:3:40:0f +0:15572:2f:40:0a + +ultrax: +ultraxg: +0:1ac8e:28:40:04 +0:e23c:3:40:0f + +vecbtime: +0:0033:27:00:FF + +centidux: +pacipede: +vectiped: +vectrped: +killiped: +0:000b:0f:10:01 +0:0023:0f:04:12 + +kong2600: +0:6100:AA:94:76 +0:60B8:03:50:00 +0:7641:01:00:00 +0:7621:01:00:00 +0:7601:01:07:07 +0:75e1:01:06:06 +0:75c1:01:05:05 +0:75a1:01:00:00 + +galaga99: +vgalaga: +0:8a20:2d:00:18 +0:83ed:6:00:24 + +buglaxn: +0:40a8:3:00:00 + +silliped: +0:64:30:75:17 +0:24:1:a0:a0 + +mrdigdo: +0:e017:64:01:00 + +zeropnt2: +0:fe901a:37:14:00 +0:fe904c:1:01:01 + +8ballact: +8ballat2: +0:1d28:06:00:1b +0:1d46:0a:00:00 +0:1d2e:06:00:1b +0:1d50:0a:00:00 +0:1d34:06:00:1b +0:1d5a:0a:00:00 +0:1d3a:06:00:1b +0:1d64:0a:00:00 +0:1d40:06:00:1b +0:1d6e:0a:00:00 +8bpm: +0:1c6c:06:00:1b +0:1c8a:0a:00:00 +0:1c72:06:00:1b +0:1c94:0a:00:00 +0:1c78:06:00:1b +0:1c9e:0a:00:00 +0:1c7e:06:00:1b +0:1ca8:0a:00:00 +0:1c84:06:00:1b +0:1cb2:0a:00:00 + +spcfrcii: +0:1a22:1:33:33 +0:1a27:5:30:30 + +spclforc: +0:1a22:1:33:33 +0:1a27:5:30:30 + +rungun: +0:380c80:4b:4b:40 + +lockload: +0:102703:f6:20:1e + +greatgun: +0:e00b:53:55:50 + +genix: +0:10bd2c:64:4e:10 + +pitnrun: +pitnruna: +0:8710:1e:00:01 +0:80aa:3:00:01 +0:8a21:1:01:01 +0:8a01:1:00:00 +0:89e1:1:00:00 +0:89c1:1:00:00 +0:89a1:1:00:00 +0:8981:1:27:27 + +cairblad: +0:580030:b1:a0:01 + +scross: +scrossu: +scrossa: +0:701fb0:3f:53:03 + +r2dtank: +0:43:3:00:00 +0:48:1:a9:a9 + +grndtour: +0:f182:29:41:00 +0:f1dd:4:00:00 + +enigma2: +enigma2a: +enigma2b: +0:20af:3:00:00 +0:20c1:3:24:24 + +battlcry: +0:4449:2a:48:00 + +magspot: +0:6007:3:00:00 +0:6008:1:20:20 + +retofinv: +retofinv2: +retofinv1: +0:9980:23:00:54 +0:990f:3:00:00 + +fieldday: +undoukai: +0:c00d:536:48:11 +0:a190:1:03:03 + +ozon1: +0:4047:3:00:00 +0:4300:4e:01:10 + +mustache: +0:f000:50:00:47 + +le2: +0:c03d98:3f:05:45 + +galaxygn: +0:01e9c:190:50:00 +0:0202a:1:0a:0a + +dragoonj: +0:c01b00:9a:00:b0 + +sgunner2: +sgunner2j: +0:108e2b:1b7:00:02 +0:108c6b:9:00:00 + +zaviga: +zavigaj: +0:0da0:50:00:20 +0:1026:5:14:10 + +trckydoc: +0:e05a:5a:2d:46 + +sdtennis: +0:0200:3c:01:15 +0:0250:3c:3b:43 +0:002c:03:88:01 + +msisaac: +0:e4a5:50:02:4d + +kungfut: +kungfuta: +0:c1d3:2c:00:1f + +kikstart: +0:816f:3:00:00 + +horizon: +0:e801:96:28:23 +0:e03c:2:28:06 + +sflush: +0:215:3:00:00 +0:4e3d:1:00:00 +0:4e5d:1:00:00 +0:4e7d:1:00:00 +0:4e9d:1:00:00 +0:4ebd:1:00:00 +0:4f3d:1:00:00 +0:4f5d:1:00:00 +0:4f7d:1:00:00 +0:4f9d:1:00:00 +0:4fbd:1:00:00 +0:503d:1:00:00 +0:505d:1:00:00 +0:507d:1:00:00 +0:509d:1:00:00 +0:50bd:1:00:00 +0:513d:1:3e:3e +0:515d:1:45:45 +0:517d:1:49:49 +0:519d:1:51:51 +0:51bd:1:3e:3e +0:523d:1:3e:3e +0:525d:1:45:45 +0:527d:1:49:49 +0:529d:1:51:51 +0:52bd:1:3e:3e +0:533d:1:00:00 +0:535d:1:00:00 +0:537d:1:00:00 +0:539d:1:00:00 +0:53bd:1:00:00 + +skyarmy: +0:8131:ad:00:8a + +neobattl: +0:2006a4:78:00:0a + +rockclim: +0:80d9:15:03:00 +0:80eb:1:03:03 + +puckpkmn: +puckpkmna: +puckpkmnb: +0:ff0020:30:38:36 + +nitrobal: +gunball: +nitrobala: +0:ff9deb:14b:54:00 +0:ff803a:4:00:00 +0:ff803b:1:10:10 + +metlclsh: +0:802f:8c:47:40 +0:800a:3:30:05 + +machbrkr: +0:23f532:f6:03:30 + +tbyahhoo: +0:c0fb42:82:00:12 +0:c0fb43:1:57:57 + +thedeep: +rundeep: +0:c256:3c:04:04 + +firebatl: +0:8000:21:54:00 +0:801f:1:70:70 + +hedpanic: +hedpanicf: +hedpanico: +0:10a840:28:00:40 + +chwrestl: +0:c009:3:00:00 +0:c00c:3:00:00 + +vasara: +0:2a32:c5:01:1e + +salmndr2: +0:c02033:136:0:14 + +sexyparo: +sexyparoa: +0:c10752:4:00:00 +0:c1075e:78:00:06 +0:c10754:1:73:73 + +eggor: +0:4cf7:3c:4c:00 +0:4d31:1:52:52 +0:43ed:6:00:40 + +darktowr: +0:a82:9c:4b:30 + +chaknpop: +0:8449:1f:04:00 +0:8466:1:14:14 + +bwing: +0:d00:f0:34:20 +0:0d:4:00:00 + +cuebrick: +cuebrickj: +0:60368:50:00:4f + +;** this entry saves all but the top 4 scores, nvram does the rest ** +arcadecl: +0:3eee41:32:00:11 +0:3eedf6:32:00:10 + +ghunter: +0:1462:bd:50:00 +0:1519:1:2a:2a + +deadang: +0:1442:bd:50:00 +0:14f9:1:2a:2a + +ghunters: +0:1482:bd:50:00 +0:1539:1:2a:2a + +leadang: +0:1542:bd:50:00 +0:15f9:1:2a:2a + +gokuparo: +0:c0d736:4:00:00 +0:c0d742:78:00:09 +0:c0d738:1:73:73 + +mystwarr: +mystwarrj: +mystwarru: +mystwarra: +mystwarraa: +0:200400:4e:48:01 +0:200170:4:00:00 +0:200171:1:10:10 + +grdians: +0:201582:4a:c3:01 + +dragngun: +dragngunj: +0:011f384:13d:20:1b + +esprade: +espradejo: +espradej: +0:1023b0:50:00:8c +0:1022ec:4:00:00 + +tbowl: +tbowlj: +tbowlp: +0:8015:b4:41:01 + +thunderj: +thunderja: +0:3ffd9c:64:00:95 + +drgnmst: +0:ff84f0:4:00:00 +0:ff8450:6c:00:01 + +lvgirl94: +0:c17cd:77:53:00 +0:c1840:1:07:07 +0:c23da:6:00:00 + +boggy84b: +0:c400:45:00:11 +0:c044:6:10:10 +0:c04b:3:00:00 + +boggy84: +0:c400:45:00:11 +0:c044:6:10:10 +0:c04b:3:00:00 + +offtwall: +offtwallc: +0:3fee2e:37:00:49 + +bublbobl: +bublbobr: +bub68705: +bublboblr: +bublboblr1: +boblbobl: +bublbobl1: +boblbobl2: +sboblbobl: +bbredux: +bublboblb: +bublcave10: +bublcave11: +sboblboblc: +0:e654:23:00:48 +0:e67b:3:1f:13 +0:e64c:3:00:00 +0:e5df:1:00:00 +0:e5e0:1:00:00 +0:e5e4:1:00:00 +0:e5e6:1:00:00 +0:e5e1:1:00:00 +0:e5e2:1:00:00 +0:e5e3:1:00:00 +0:e5e7:1:00:00 +0:e5e8:1:00:00 +0:e5e9:1:00:00 +0:e5ea:1:00:00 +0:e5eb:1:00:00 +0:e5f6:1:00:00 +0:e5f7:1:00:00 +0:e5ee:1:00:00 +0:e5ef:1:00:00 +0:e5f0:1:00:00 +0:e5ec:1:00:00 +0:e5ed:1:00:00 +0:e5f3:1:00:00 +0:e5f4:1:00:00 +0:e5d9:1:00:00 +0:e5da:1:00:00 +0:f457:1:00:00 +0:f458:1:00:00 +0:e601:1:00:00 +0:e602:1:00:00 +0:e600:1:00:00 +0:e5ff:1:00:00 +0:e5fd:1:00:00 +0:e5fc:1:00:00 +0:e5fb:1:00:00 +0:e5fa:1:00:00 +0:e5f9:1:00:00 +0:e5f8:1:00:00 +0:e5fe:1:00:00 +0:e604:1:00:00 +0:e605:1:00:00 +0:e606:1:00:00 +0:e607:1:00:00 +0:e609:1:00:00 +0:e60a:1:00:00 +0:e611:1:00:00 +0:e60b:2:00:00 + +sboblbob: +sboblboa: +sboblbobla: +sboblboblb: +sboblbobld: +0:e654:23:00:48 +0:e67b:3:1f:13 +0:e64c:3:00:00 +0:cfc6:1:60:60 +0:d006:1:60:60 +0:d046:1:60:60 +0:d086:1:7e:7e +0:d0c6:1:7b:7b +0:d106:1:7b:7b +0:d146:1:7b:7b +0:d186:1:7b:7b +0:e5df:1:00:00 +0:e5e0:1:00:00 +0:e5e4:1:00:00 +0:e5e6:1:00:00 +0:e5e1:1:00:00 +0:e5e2:1:00:00 +0:e5e3:1:00:00 +0:e5e7:1:00:00 +0:e5e8:1:00:00 +0:e5e9:1:00:00 +0:e5ea:1:00:00 +0:e5eb:1:00:00 +0:e5f6:1:00:00 +0:e5f7:1:00:00 +0:e5ee:1:00:00 +0:e5ef:1:00:00 +0:e5f0:1:00:00 +0:e5ec:1:00:00 +0:e5ed:1:00:00 +0:e5f3:1:00:00 +0:e5f4:1:00:00 +0:e5d9:1:00:00 +0:e5da:1:00:00 +0:f457:1:00:00 +0:f458:1:00:00 +0:e601:1:00:00 +0:e602:1:00:00 +0:e600:1:00:00 +0:e5ff:1:00:00 +0:e5fd:1:00:00 +0:e5fc:1:00:00 +0:e5fb:1:00:00 +0:e5fa:1:00:00 +0:e5f9:1:00:00 +0:e5f8:1:00:00 +0:e5fe:1:00:00 +0:e604:1:00:00 +0:e605:1:00:00 +0:e606:1:00:00 +0:e607:1:00:00 +0:e609:1:00:00 +0:e60a:1:00:00 +0:e611:1:00:00 +0:e60b:2:00:00 + +boblcave: +bublcave: +0:e654:23:00:4e +0:e67b:3:1f:13 +0:e64c:3:00:00 +0:e5df:1:00:00 +0:e5e0:1:00:00 +0:e5e4:1:00:00 +0:e5e6:1:00:00 +0:e5e1:1:00:00 +0:e5e2:1:00:00 +0:e5e3:1:00:00 +0:e5e7:1:00:00 +0:e5e8:1:00:00 +0:e5e9:1:00:00 +0:e5ea:1:00:00 +0:e5eb:1:00:00 +0:e5f6:1:00:00 +0:e5f7:1:00:00 +0:e5ee:1:00:00 +0:e5ef:1:00:00 +0:e5f0:1:00:00 +0:e5ec:1:00:00 +0:e5ed:1:00:00 +0:e5f3:1:00:00 +0:e5f4:1:00:00 +0:e5d9:1:00:00 +0:e5da:1:00:00 +0:f457:1:00:00 +0:f458:1:00:00 +0:e601:1:00:00 +0:e602:1:00:00 +0:e600:1:00:00 +0:e5ff:1:00:00 +0:e5fd:1:00:00 +0:e5fc:1:00:00 +0:e5fb:1:00:00 +0:e5fa:1:00:00 +0:e5f9:1:00:00 +0:e5f8:1:00:00 +0:e5fe:1:00:00 +0:e604:1:00:00 +0:e605:1:00:00 +0:e606:1:00:00 +0:e607:1:00:00 +0:e609:1:00:00 +0:e60a:1:00:00 +0:e611:1:00:00 +0:e60b:2:00:00 + +;** game updates saved hiscore as soon as you insert a coin ** +olibochu: +0:f84c:5:00:00 +0:f84e:1:05:05 +0:81bd:1:60:60 +0:81dd:1:60:60 +0:81fd:1:05:05 +0:821d:1:00:00 +0:823d:1:00:00 +0:825d:1:00:00 +0:814f:1:18:18 + +bking2: +0:8166:9:0:0 +0:8187:1:0:0 + +wrally2: +0:fec766:288:5a:ff + +gpilots: +0:10e001:3:00:00 +0:10e005:4b:00:10 + +gstriker: +gstrikera: +0:ffe357:43:0f:01 + +gstrikerj: +0:ffe349:43:0f:01 + +madshark: +0:201d20:4:00:00 +0:205dd2:c4:00:00 +0:201d21:1:0a:0a + +maddonna: +0:835fc:4:00:30 + +stratof: +raiga: +0:060082:8c:00:20 + +halleys: +halleycj: +halleysc: +0:fc3c:23:02:54 +0:fc21:3:02:00 + +halley87: +0:fc5a:23:02:54 +0:fc3f:3:02:00 + +gigasm2b: +0:c0a0:4d:00:20 + +gigasb: +gigas: +0:cb10:4d:80:20 + +oigas: +0:cb10:4d:90:59 + +crgolf: +0:4001:10c:04:00 +0:411a:1:0a:0a + +fantsy95: +0:c825b6:63:30:20 + +dorodon: +dorodon2: +0:6073:1b:01:00 +0:d381:46:0f:17 + +benberob: +0:fa4d:3:00:96 + +pistoldm: +0:01f7:23:05:33 +0:015c:4:05:00 + +gametngk: +0:fee0021e:4:40:00 +0:fc000450:15cd:47:20 +0:fee16000:44d:47:00 +0:fee16448:1:01:01 + +macross2: +macross2g: +0:1ffa00:80:00:50 +0:1ffb00:80:00:50 +0:1ffc00:80:00:50 +0:1fc400:200:00:73 +0:1fc600:200:00:73 +0:1fc800:200:00:73 +0:1fca00:200:00:73 +0:1fcc00:200:00:73 +0:1fce00:200:00:73 +0:1fd000:200:00:73 +0:1fd200:200:00:73 +0:1fd400:200:00:73 +0:1fd600:200:01:63 + +thndzone: +thndzonea: +0:3f8040:1a:10:10 + +thndzonej: +0:3f8038:1a:10:10 + +thndzone4: +0:3f803c:1e:19:01 + +dassault4: +0:3f803c:1e:19:01 + +dassault: +0:3f803c:1e:19:10 + +wizdfire: +wizdfireu: +darkseal2: +0:fdc034:28:0b:00 +0:fdc059:1:01:01 + +mutantf: +deathbrd: +mutantf3: +mutantf4: +mutantf2: +0:1000fc:32:01:00 +0:10012c:1:01:01 + +perestro: +perestrof: +0:f4c0:28:00:03 +0:f8f1:4:00:00 + +edrandy: +edrandyj: +edrandy1: +edrandy2: +0:194080:80:4d:02 + +bnj: +brubber: +bnjm: +0:000a:3:12:01 +0:500:26c:01:00 +0:640:1:4d:4d + +tubep: +0:a0b6:240:a8:4d +0:a092:3:a8:00 + +tubepb: +0:a095:240:a8:4d +0:a080:3:a8:00 + +bjourney: +0:103381:49:05:05 + +mtwins: +chikij: +0:ff12c8:190:00:00 +0:ff9168:28:02:5b +0:ffe006:04:00:00 + +tmnt2: +tmnt2a: +tmht22pe: +tmnt22pu: +0:107600:14:03:01 +0:1076c8:27:47:45 + +p47aces: +0:fee1b04c:78:10:03 + +mouser: +mouserc: +0:6107:a1:00:00 +0:60b8:3:00:00 +0:61a6:1:23:23 +0:9241:1:00:00 +0:9221:1:00:00 +0:9201:1:07:07 +0:91e1:1:08:08 +0:91c1:1:00:00 +0:91a1:1:00:00 + +birdtry: +0:ff8530:31a:01:40 + +mmatrix: +mmatrixj: +mmatrixd: +0:ff0104:140:43:00 +0:ff4988:6:00:90 + +zombraid: +zombraidp: +zombraidpj: +0:20cabc:50:4f:00 + +sf2ud: +0:ffd28a:30:00:20 +0:ffd302:04:00:00 + +willowo: +willowuo: +0:ffefc6:50:00:20 +0:fff03e:04:00:00 + +willow: +willowj: +willowu: +0:ffefc6:50:00:20 +0:fff03e:04:00:00 + +spidey: +spideyj: +0:208c00:80:a0:00 + +pbillrd: +pbillrds: +pbillrdsa: +0:c940:A0:00:40 + +enforce: +enforcej: +enforceja: +0:1026fc:4:00:a0 + +maniacsq: +maniacsqa: +0:fe982c:48:50:00 + +maniacsp: +0:ff713e:64:50:00 + +liberate: +dualaslt: +liberateb: +0:41:3:05:00 +0:6304:6e:20:60 + +sfx: +0:40a8:3:00:02 +0:4540:1e:00:15 + +f1gp2: +0:ff91c2:2ee:14:50 +0:ffa617:3f:59:49 + +gnbarich: +0:6076864:a5:00:01 + +s1945iii: +0:6083c84:c4:00:00 +0:6083d80:46:00:02 + +dragnblz: +0:60824B4:dd:00:00 +0:60825d4:4d:00:03 + +bang: +0:fe5a4c:ee:41:01 + +aligatorun: +0:fe51da:2:42:68 +0:feaf02:98:42:2e + +penbros: +0:200050:63:00:4a + +dimahoo: +gmahou: +dimahoou: +dimahoud: +0:928586:3C:00:40 + +dbz2: +0:48772a:2:00:02 +0:48772c:2:00:00 + +gratia: +gratiaa: +0:fee1bc2c:a0:c8:43 + +desertwr: +0:fee1b028:eb:94:24 + +tetrisp: +0:fee184a0:135:10:1e +0:fee00010:31e:5a:ea + +histryma: +0:e02be0:28:41:10 + +puzzloope: +puzzloop: +0:60985ac:41:00:31 +0:60986d4:41:00:30 + +puzzloopa: +0:609c4b8:41:00:31 +0:609c5e0:41:00:30 + +puzzloopj: +0:609d1a8:41:00:30 +0:609d080:41:00:31 + +puzzloopk: +puzzloopu: +0:609c700:41:00:30 +0:609c5d8:41:00:31 + +speedspn: +0:b04c:61:4a:20 + +skyraid: +0:a:2:00:00 + +solvalou: +0:10660f:119:00:07 + +ssmissin: +0:b9100:c0:00:6f + +legion: +0:62e8e:27:00:29 +0:62fde:4:00:00 +legiono: +legionjb: +legionj: +0:62e8c:27:00:29 +0:62fdc:4:00:00 + +legend: +legendb: +0:e70c:5d:00:40 + +horekid: +horekidb: +boobhack: +0:4025a:28:00:01 + +ipminvad: +0:c0:a:00:00 + +gfire2: +0:1003d:45:4f:4a + +bbbxing: +0:fee0f45c:d7:a0:53 + +alphaho: +0:878a:f:30:30 +0:e4cb:c:00:00 + +samuraia: +0:fe7d80:9e:00:04 + +flower: +flowersj: +0:d060:37:00:20 +0:c00f:3:00:00 +0:c010:1:30:30 + +fncywld: +0:ff8311:ae:05:56 + +bballs: +bballsa: +0:fc688:31:90:90 +0:fc687:1:00:00 + +tengai: +tengaij: +0:fe4cb0:48:2d:98 + +blazeon: +0:304fb0:77:00:0d +0:30020c:8:00:00 + +blandia: +0:301094:62:09:17 + +aquarium: +aquariumj: +0:ff904c:28:49:e8 + +kamenrid: +0:202e93:9f:0a:10 + +skyskipr: +0:81f2:3:01:00 +0:8610:1e:01:16 + +diverboy: +0:44715:b1:31:e9 + +nost: +0:100350:29:59:00 +0:100019:3:01:00 + +beaminv: +beaminva: +pacominv: +0:1833:3:00:00 + +armwar: +armwaru: +armwara: +armwarar1: +armwar1d: +armwarr1: +armwaru1: +pgearr1: +pgear: +0:ff27d6:256:00:04 + +ctornado: +0:25:3:0:0 + +cterrani: +0:44:2:0:50 +0:46:1:0:0 + +csuperas: +0:480:1c:0:ff +0:98:2:0:0 + +cscrtry: +0:400:21:01:15 +0:a:3:10:01 +cscrtry2: +0:400:24:0:2b +0:a:3:0:0 +0:ca41:1:1:1 +0:ca21:1:2b:2b +0:ca01:1:2b:2b +0:c9e1:1:2b:2b +0:ca61:1:1:1 +0:c9c1:1:2b:2b + +upndownu: +0:c93f:3f:01:00 +0:c97b:1:01:01 + +upndown: +0:c93f:3f:01:00 + +wilytowr: +atomboy: +atomboya: +0:dd00:4:00:05 +0:dd04:ac:0:0 +0:e78d:6:ff:ff + +jumpkids: +0:123c10:a0:50:50 +0:123c01:3:0:0 + +minferno: +0:1c3a:5:10:10 + +gulfwar2: +gulfwar2a: +0:315a6:16a:00:01 +0:315a2:4:0:0 + +f1gp: +0:ff917a:2f0:14:00 +0:ffa5cb:3f:59:49 + +equites: +equitess: +0:40020:4:0:0 +0:40a30:a0:00:09 + +clayshoo: +0:2140:8:be:00 + +dingo: +0:4028:31:0:0 + +rjammer: +0:a4fa:1e:a8:55 + +ripcord: +0:36:2:0:0 + +tnexspce: +0:70016:4:0:0 +0:72b40:50:0:0 +0:a0f56:10:30:4e + +netwars: +0:5890:6:00:00 +0:8040:1:24:24 +0:8060:1:0:0 +0:8080:1:0:0 +0:80a0:1:0:0 +0:80c0:1:0:0 +0:80e0:1:1:1 +0:8100:1:24:24 +0:8110:1:24:24 + +crshrace: +crshrace2: +0:fe21b6:80:41:00 + +kouyakyu: +0:40a01:70:0:0 +0:40010:4:0:0 +0:8070d:1:20:20 +0:8078d:1:20:20 +0:8080d:1:2:2 +0:8088d:1:0:0 +0:8090d:1:0:0 +0:8098d:1:0:0 +0:80a0d:1:0:0 + +cppicf: +cppicf2: +0:d940:1e:05:00 +0:d800:1e:4d:00 +0:3:3:00:05 +0:94:1:13:13 + +clapapa: +clapapa2: +0:1:2:00:45 +0:3:1:0:0 + +cprosocc: +cpsoccer: +0:56a:23:00:00 +0:591:3:0:0 + +cnightst: +cnightst2: +0:d:2:00:03 +0:7800:40:03:00 +0:7940:40:6b:00 + +cmissnx: +0:23:3:0:0 + +toffy: +0:913:a0:20:ff + +battlex: +0:a036:3:0:0 +0:a266:23:0:0 + +dodgeman: +0:a0f3:22:0:0 +0:a024:3:0:0 + +bakutotu: +0:1e00:60:42:50 + +tubeit: +0:8d0d:4c:4b:00 +0:8d57:1:10:10 + +stmblade: +stmbladej: +0:28d3:80:15:00 + +splndrbt: +0:40840:168:53:01 +0:40020:3:01:00 + +spcking2: +0:1cf4:2:0:0 + +bbusters: +bbustersua: +bbustersu: +0:8a578:2:00:02 +0:8a57a:be:30:00 + +bking: +0:8161:9:0:0 +0:8175:1:0:0 + +redrobin: +0:c743:3b:1b:00 +0:c6e6:3:01:00 + +montecar: +0:b6:1:00:00 + +macrossp: +0:f16ddc:5e:00:14 + +clocknch: +0:a:3:0:0 +0:b800:f:0:0 +0:b810:11:ff:0 + +cfghtice: +0:c2:3:02:0 +0:4b09:50:20:00 + +cdiscon1: +csweetht: +0:8:3:0:0 +0:400:21:0:0 + +cburnrub: +cbnj: +cburnrub2: +0:9:3:12:01 +0:7800:f:01:82 +0:9800:f:4d:4d + +sshanghab: +sshangha: +0:fec478:13f:00:1c + +horshoes: +0:8e1c:2:0:0 +0:8f37:1:0:0 +0:8ff0:1:0:0 +0:8bd0:1:4c:4c + +exvania: +exvaniaj: +0:214ee8:28:50:02 + +gunbustr: +gunbustru: +gunbustrj: +0:2032a0:2:00:21 +0:2032a2:9e:13:00 + +yamato: +yamato2: +0:6100:50:00:ff +0:6038:3:00:00 + +mustang: +mustangb: +mustangs: +mustangb2: +0:f9090:4:00:10 + +sotsugyo: +0:14269c:10:00:32 +0:1426ac:50:04:00 + +sokonuke: +0:208004:10:00:46 +0:208014:40:00:00 + +sfposeid: +0:8188:2:00:50 +0:818a:1:00:00 + +spy: +spyu: +0:9a0:50:11:00 +0:836:4:00:00 + +scudhamm: +0:fd1ea:3c:00:01 + +scfinals: +scfinalso: +0:410f74:50:00:ff + +hthero93: +cupfinal: +hthero93u: +0:410f60:50:00:ff + +grdnstrmk: +grdnstrm: +redfoxwp2: +grdnstrmv: +redfoxwp2a: +grdnstrmg: +grdnstrmj: +0:3c0300:3c:00:98 + +shadfrce: +shadfrcejv2: +shadfrcej: +shadfrceu: +0:1f002a:2:00:05 +0:1f002c:26:00:00 +0:1f0022:4:00:00 + +sheriff: +bandido: +westgun2: +0:60f1:3:0:0 + +sindbadm: +0:e3a0:3c:00:4b +0:c90b:3:00:00 + +sbm: +0:10c000:2:00:73 +0:10c002:3e:01:00 + +sos: +0:406c:2:0:0 + +stagger1: +redhawkb: +redhawke: +redhawki: +redhawk: +redhawkk: +0:3c0300:3c:00:98 + +stactics: +0:d700:a:0:0 +0:e700:a:0:0 +0:f700:a:0:0 + +spclaser: +laser: +0:2034:2:0:0 +0:205b:1:3d:3d +0:2e70:4a1:0:0 +spcewarl: +intruder: +0:2034:2:0:0 +0:2058:1:9:9 +0:2e70:4a1:0:0 + +spacefrt: +0:1c00:10:00:1b +0:1c18:44:1b:00 + +superbug: +0:c:1:0:0 + +spbactn: +spbactnj: +0:41780:32:00:05 + +sstingry: +0:20028:4:00:73 +0:20770:90:00:00 + +ssozumo: +0:24:3:0:0 +0:714:74:42:40 + +ringrage: +ringragej: +ringrageu: +0:40e660:30:00:4b +0:40e690:280:53:00 + +pwrgoal: +0:411aed:87:03:46 + +xsleena: +xsleenab: +solarwar: +solrwarr: +xsleenaj: +xsleenaba: +0:33:3:00:00 +0:1bc7:3c:00:2c + +psoldier: +ssoldier: +0:e1b0f:31:10:31 +0:e0032:1:06:06 + +ptblank: +ptblanka: +0:21ccd4:64:00:09 + +videopin: +0:37:1:00:00 +0:3c:1:00:00 +0:41:1:00:00 + +gunbird2: +0:604c758:28:00:70 +0:604c780:3c:1e:00 + +soldivid: +0:600bb50:18:00:50 +0:600bb68:1e:24:02 + +s1945ii: +0:600c4ec:28:00:70 +0:600c514:3c:1e:00 + +vsav2: +vsav2d: +0:fff426:1bf:00:03 + +tricktrp: +labyrunr: +labyrunrk: +0:22a0:40:00:53 +0:2308:4:0:0 + +toryumon: +0:fffe20:28:0:0 + +tactcian: +0:98a8:3:0:0 +0:8048:140:00:10 +0:8028:20:00:10 + +tactcian2: +0:98a8:3:80:00 +0:8048:140:80:10 +0:8028:20:00:10 + +trstar: +trstarj: +trstaro: +trstaroj: +prmtmfgt: +prmtmfgto: +0:413d10:2:00:00 +0:413d12:7fe:13:00 + +nomnlnd: +nomnlndg: +0:6004:3:00:00 +0:6c5d:6c0:ff:00 + +nitedrvr: +0:a0:c:0:0 +0:130:1:52:52 + +outfxiesj: +outfxies: +0:236210:3e:00:5f + +orlegend: +orlegende: +orlegendc: +0:811946:d4:49:b0 + +orlegend105k: +0:811918:d4:49:b0 + +orlegend111c: +orlegend111t: +orlegend111k: +0:81191e:d4:49:b0 + +eto: +0:202d08:30:37:d0 + +glfgreat: +0:100320:50:41:9 +0:100400:50:41:9 + +metmqstr: +0:f080e0:100:0a:01 + +nmaster: +0:f08100:e0:30:01 + +majtitl2: +skingame: +skingame2: +majtitl2b: +0:ed542:140:4d:00 + +majtitl2j: +0:ed542:140:4b:00 + +mjleague: +0:ffe000:50:00:20 + +mightguy: +0:c055:75:00:41 + +manybloc: +0:f0050:4:00:19 +0:f0054:9c:00:00 +0:f03b2:6:0:0 + +hyperpacb: +0:10535c:28:50:00 +0:10537e:1:43:43 + +landmakr: +landmakrp: +0:40fc30:28:00:50 + +strahl: +0:f30d9:18f:55:88 +0:f0d8a:4:00:50 + +knckhead: +knckheadj: +0:209372:27:00:4c +0:209373:1:10:10 + +gwarrior: +0:1a4f6:50:00:01 +0:1f72f:3:00:85 + +gcpinbal: +0:ff2318:2:00:02 +0:ff231a:6e:81:00 +0:ff000e:70:00:00 + +ichirj: +ichidnte: +0:fffc3d:27:00:00 + +iqblock: +0:f149:27:41:00 +0:f1a4:3:00:00 +0:f16e:1:13:13 + +;** only saves top score ** +igmo: +0:784a:3c:10:00 +0:7805:1:f4:f4 + +iganinju: +0:f0004:4:00:00 +0:f4001:97:20:ac +0:f0010:8:30:30 + +recordbr: +0:1034ee:1e0:00:45 + +fghtatck: +fa: +0:1faa8:f2:00:03 +0:1122:4:0:0 + +fastlane: +0:32a0:50:00:00 +0:3309:3:02:00 + +xyonix: +0:d500:13f:4f:00 +0:d639:1:08:08 + +cgangpzl: +0:add2:ce:ff:a2 + +cgangpzlj: +0:20add2:ce:ff:a2 + +chinatwn: +0:1a3e00:50:00:2e + +cgraplop: +0:2a51:5d:43:30 +0:23:6:30:30 + +demon: +0:01c0:1e:00:10 +0:00b6:0a:00:01 +0:0000:0a:01:00 + +dsoccr94: +0:eb57b:80:10:04 +dsccr94j: +0:ead6d:80:10:04 +dsoccr94k: +0:eb7a1:80:10:04 + +dynamski: +0:f092:46:00:1e +0:f100:15:00:13 +0:f088:4:00:00 + +darkwar: +0:1e3e:20:0:0 +0:1e5e:3c:0:0 +0:1e9a:a:0:0 + +darkplnt: +0:80b8:1e:00:4a +0:80f4:1e:00:51 + +blckgalb: +0:c062:3:00:01 + +barrier: +0:0074:04:00:00 +0:00c0:06:00:00 + +boxingb: +0:e0:30:00:f4 + +blandiap: +0:201056:62:09:17 + +blkheart: +blkheartj: +0:f9090:4:00:10 + +spyhunt2a: +spyhunt2: +0:60130:4:00:00 +0:600b3:1:32:32 + +berabohm: +berabohmo: +0:3f00:68:42:02 + +skychut: +0:7b:f:0:0 +0:406d:6:40:40 + +tankbust: +0:f602:50:00:10 + +spacbeam: +0:c6:b:0:0 +0:0e:f:0:0 + +formatz: +aeroboto: +0:430:138:00:0f +0:600:14:00:40 + +angelkds: +0:c101:3:01:00 +0:c11b:118:01:20 + +spaceskr: +0:83c0:3:0:0 +0:c46c:7:2e:00 + +firetrk: +0:28:1:06:06 + +solfigtr: +0:102b80:49:00:24 + +blasto: +0:ff3a:5:30:30 + +ecofghtrh: +ecofghtr: +ecofghtra: +ecofghtru1: +uecology: +0:ff0339:a0:0a:00 +0:ff8106:4:00:00 + +ecofghtru: +0:ff033b:a0:0a:00 +0:ff8106:4:00:00 + +btlkrodj: +btlkroad: +btlkroadk: +0:fe1af4:4e:00:04 + +missb2: +0:e654:23:00:48 +0:e64c:3:00:00 +0:e64d:1:30:30 + +kuniokunb: +kuniokun: +0:2e:3:00:05 +0:102c:28:47:00 + +rockrage: +rockragej: +0:4980:4e:01:53 +0:48be:3:01:80 +0:4fc8:1:54:54 + +rockragea: +0:4980:4e:01:53 +0:48be:3:01:80 +0:4866:1:03:03 + +zerotime: +0:40a8:3:00:00 + +scregg: +eggs: +0:400:1e:17:00 +0:015:3:00:03 + +scorpng: +0:4207:f:00:00 +0:42ad:f:10:10 + +sauro: +saurop: +0:e000:b4:00:4f + +sasuke: +0:24:2:00:05 + +samurai: +0:971a:12:00:00 + +;** (safari rally)(byGeoMan) - hiscore updates after new game start!!! ** +safarir: +safarirj: +0:2389:3:00:00 +0:2381:3:00:00 +0:2141:1:20:20 +0:2161:1:20:20 +0:2181:1:20:20 +0:21a1:1:20:20 +0:21c1:1:20:20 +0:21e1:1:20:20 + +sadari: +0:c31d:3c:3a:01 + +ridingf: +ridingfu: +ridingfj: +0:408060:80:00:3f + +reikaids: +0:43ca:1e:00:e8 +0:40df:2:13:88 + +redalert: +0:301:f:0:0 + +raiders5: +raiders5t: +0:e075:37:00:55 +0:888c:7:22:10 + +raflesia: +0:d300:50:00:4a +0:c017:3:00:02 + +pzlbowl: +0:20a9c4:60:0a:a8 + +punkshot: +punkshotj: +punkshot2: +0:80700:30:00:40 + +pcktgal: +pcktgalb: +pcktgal2: +spool3: +spool3i: +pcktgal2j: +0:0467:2:64:00 + +pballoon: +pballoonr: +0:0220:70:11:30 +0:0022:3:00:00 + +pettanp: +0:c0c2:1e:20:00 + +perfrman: +perfrmanu: +0:8006:30:89:12 +0:8609:07:24:00 + +percuss: +0:5da8:37:00:24 + +peekaboo: +peekaboou: +0:1f0278:60:00:fa +0:1f0380:4:00:00 + +pass: +0:81200:50:4b:00 +0:8005e:4:00:00 + +paddlema: +0:801a8:28:02:03 +0:82108:a0:00:20 + +onna34ro: +onna34roa: +0:e1d7:82:00:65 +0:e188:3:00:01 + +nob: +nobb: +0:d300:3c:00:2e +0:f000:3:00:00 + +ninjakun: +0:e0a3:37:00:20 +0:c08c:7:22:10 + +ninjakd2: +ninjakd2a: +ninjakd2b: +rdaction: +ninjakd2c: +0:e0f4:3:00:00 +0:e04e:64:31:20 + +columns: +columnsj: +columns2: +column2j: +0:fffc1f:90:55:00 + +newsin7: +newsin7a: +0:43d3:48:00:10 +0:413d:3:0:0 + +navalone: +navarone: +0:402d:3:0:0 + +natodef: +natodefa: +0:8df6:49:30:20 + +nastar: +nastarw: +rastsag2: +0:601eef:3a:00:42 +0:600545:3:00:77 + +hexion: +hexionb: +0:a740:3:00:10 +0:a743:27d:00:00 + +gotya: +thehand: +0:5021:3:00:01 + +outline: +radarzon: +radarzon1: +radarzont: +0:1c08:35:00:00 + +invinco: +0:8398:16:00:00 + +invho2: +0:83b6:16:00:00 +0:8392:12:30:30 + +kaos: +0:03c8:30:84:44 + +kengo: +kengoa: +ltswords: +0:e09f2:82:10:20 + +kodure: +0:637c0:4:00:00 +0:635b4:28:00:00 + +kbash: +kbashk: +0:100080:3c:00:30 + +kncljoe: +kncljoea: +bcrusher: +0:f01a:2d:00:43 + +kurikint: +kurikintu: +kurikintj: +kurikinta: +0:8aa3:a0:00:2e + +lomakai: +makaiden: +0:ff000:2:00:03 +0:ff002:7e:00:00 +0:fe060:4:00:00 + +kyros: +kyrosj: +0:20e00:ae:01:02 +0:20020:4:00:00 + +lizwiz: +0:4daf:3c:4d:01 +0:43ed:6:00:40 + +losttomb: +losttombh: +0:8110:50:03:00 + +machridr: +0:0714:50:00:4b + +madcrash: +0:c2b3:4b:00:4b + +magspot2: +0:6007:2:00:20 +0:6009:1:00:00 + +megatack: +0:00c4:f:00:1a + +minefld: +0:80f3:3c:01:43 +minefldfe: +0:ef3:3c:03:50 + +bucky: +buckyuab: +buckyaab: +buckyea: +0:801e0:50:00:04 + +mrviking: +mrvikngj: +0:d42c:15:59:47 +0:d300:15:00:01 +0:c086:3:00:02 + +monymony: +0:7512:48:0a:00 +0:726d:3:00:00 + +mysticri: +gunhohki: +0:e8af8:38:00:4d +0:e8b30:94:2e:00 + +mystston: +myststono: +myststonoi: +0:0308:37:00:0c +0:001a:5:00:00 +0:1033:8:40:41 + +cybots: +cybotsj: +cybotsu: +cybotsjd: +cybotsud: +0:ffe6a0:5:00:43 +0:ffe6a5:4b:41:00 + +spacetrk: +spacetrkc: +0:838c:4:0:0 + +spacezap: +0:d00f:1:ff:ff +0:d041:6:0:0 +0:d01d:6:0:0 + +amspdwy: +amspdwya: +0:e402:190:50:00 +0:e602:190:50:00 +0:e3de:23:00:5c + +speedbal: +0:f800:46:20:50 + +speedfrk: +0:128:2:0:0 + +spinlbrk: +spinlbrku: +0:ffac76:8c:00:50 +spinlbrkj: +0:ffacce:8c:00:50 + +sprtmtch: +0:7500:30:4a:00 +0:7743:2:00:00 + +srdmissn: +fx: +0:e6ef:5f:00:ff + +starjack: +0:c0e1:1e:00:52 +0:c0db:3:00:03 + +starjacks: +0:c102:23:00:52 +0:c0fb:4:00:00 + +strnskil: +guiness: +0:c0c4:1e:22:00 +0:c430:60:09:00 + +superbon: +0:810f:50:00:48 + +sia2650: +tinv2650: +0:1d07:2:0:0 +0:19fa:1:30:30 +0:1a1a:1:30:30 +0:1a3a:1:30:30 +0:1a5a:1:30:30 + +superbik: +0:1c08:1e:00:30 + +syvalion: +0:1090ec:10:00:01 +0:1090fc:54:49:00 +0:104266:4:00:00 + +tailg: +0:d8:4:0:0 + +timelimt: +0:80ca:3:0:0 +0:8981:1:27:27 +0:89a1:1:00:00 +0:89c1:1:27:27 +0:89e1:1:27:27 +0:8a01:1:27:27 +0:8a21:1:27:27 + +timetunl: +0:801f:6:0:0 +0:c46d:6:63:63 + +tokisens: +0:c04d:54:00:20 +0:c0a1:4:00:00 + +tturf: +tturfu: +tturfbl: +0:200100:4:00:08 +0:200104:7c:08:00 + +umanclub: +0:200742:2:00:07 +0:2006a2:a0:00:00 + +valkyrie: +0:100620:4:00:a0 +0:100624:9c:56:00 + +vangrd2: +0:c380:60:0a:00 +0:f620:3:00:00 + +vastar: +vastar2: +vastar3: +vastar4: +0:cda1:1:00:00 +0:cdc1:1:00:00 +0:cde1:1:00:00 +0:ce01:1:00:00 +0:ce21:1:02:02 +0:ce41:1:28:28 +0:ce61:1:28:28 +0:f128:85:00:16 + +wwjgtin: +0:0220:70:24:24 +0:001c:3:00:00 + +wallst: +0:1c19:1e:00:00 + +wmatch: +0:c000:3c:84:02 +0:c086:3:00:02 +0:d300:15:00:01 +0:d380:15:41:49 +0:d400:2d0:84:4d + +waterski: +0:835b:3:0:0 + +csclubj: +cscluba: +csclub: +csclub1: +csclubh: +csclubjy: +csclub1d: +0:ff9894:50:00:b2 +0:ff98e4:dc:1a:01 + +inthunt: +inthuntu: +kaiteids: +0:e0180:d8:00:02 + +wb3bbl: +wb32: +wb31: +wb34: +wb3: +wb33: +wb35: +wb35a: +wb31d: +wb32d: +wb33d: +wb34d: +wb35d: +0:ffc8b8:28:4c:00 +0:ffc8de:1:30:30 + +wb3bb: +0:ff08b8:27:4c:30 + +wb3bl: +0:ffc8b8:28:4c:00 +0:ffc8de:1:30:30 + +pulsar: +0:85f4:39:50:50 + +hotpinbl: +0:801780:30:00:09 +0:800007:1:03:03 + +gundl94: +primella: +0:c322:3a:41:01 + +karatour: +karatourj: +0:ffd4fe:c0:62:01 + +heberpop: +0:304920:a0:00:1c + +hasamu: +0:a3115:105:00:04 + +hal21: +hal21j: +0:fe6b:3c:00:41 +0:fce1:3:00:00 + +guzzler: +guzzlers: +0:8584:50:00:55 +0:8007:6:00:00 + +mia: +miaj: +mia2: +0:62100:4f:00:54 +0:6012a:4:00:30 + +megablst: +megablstj: +megablstu: +0:203f38:32:00:52 +0:2043ea:4:00:00 +0:2043eb:1:08:08 + +mugsmash: +0:1c01c4:e:03:d2 +0:1c00b4:4f:2e:20 + +gulfstrm: +gulfstrmm: +gulfstrma: +gulfstrmb: +0:c580:80:00:2e +0:c618:4:00:00 + +grchamp: +0:4215:f:0:0 + +goindol: +homo: +goindolk: +goindolu: +0:c0d8:2:05:00 +0:c076:50:05:59 + +funnymou: +0:804A:03:00:00 +0:9221:01:24:24 +0:9201:01:24:24 +0:91E1:01:24:24 +0:91C1:01:24:24 +0:91A1:01:24:24 +0:9181:01:00:00 + +fnkyfish: +0:e030:9:0:0 + +funkybee: +funkybeeb: +0:828b:2d:00:0c + +frogs: +0:e508:06:00:00 +0:e037:06:00:30 + +freeze: +0:4b90:50:f4:00 + +lemmings: +0:10a402:50:44:01 + +footchmp: +hthero: +0:10a920:50:0a:00 +euroch92: +0:10a99c:50:0a:00 + +imsorry: +imsorryj: +0:c017:3:00:02 +0:d300:a0:00:20 + +shadoww: +ryukendn: +shadowwa: +gaiden: +mastninj: +ryukendna: +0:62e34:d0:2e:00 +0:62e47:1:09:09 + +flashgal: +flashgala: +0:f690:5e:00:40 + +fireone: +0:831a:5a:00:24 + +endurob2: +0:043400:54:01:00 + +dynduke: +dyndukef: +dyndukej: +dyndukeu: +0:1346:77:50:2a + +dbldyn: +dbldynj: +dbldynu: +dbldynf: +0:155c:8c:50:00 + +devzone: +devzone2: +0:7ec0:5b:1e:26 +0:6007:3:0:0 + +devilfsh: +0:40a8:3:0:0 + +dkgensanm72: +0:a09a0:9f:40:20 +0:a0a40:03:40:02 + +cutieq: +0:2215:c:00:01 + +pururun: +0:80f2b8:4b:00:85 + +ninjaw: +ninjawj: +ninjawu: +0:c4645:3f8:01:47 + +;** player scores from last game played also saved - no big deal!! ** +invds: +0:8398:e6:00:09 + +puzzli: +0:80eabc:4c:00:4f + +gunforc2: +geostorm: +0:ea5ae:4b:00:a6 + +endurobl: +0:43400:4a0:01:20 +0:43b90:10:99:99 + +bigrun: +0:f61da:2bc:50:05 + +cbuster: +cbusterw: +cbusterj: +0:80080:28:01:00 +twocrude: +twocrudea: +0:80080:28:01:00 +0:800c0:28:41:00 + +bounty: +0:b1ba:6:0:0 +0:b23a:6:0:0 +0:b2ba:6:0:0 +0:b19a:6:26:27 +0:b21a:6:26:27 +0:b29a:6:26:27 + +bottom9: +bottom9n: +mstadium: +0:4176:82:41:70 + +bombbee: +0:2214:5:00:01 + +bogeyman: +0:0021:3:00:01 +0:13e0:29:00:1e +0:1409:27:0f:00 + +blockhl: +quarth: +0:4163:44:00:05 + +bioatack: +0:800e:2:00:50 +0:8010:1:00:00 + +blkhole: +0:4140:9:58:00 + +stlforce: +0:105772:32:4e:00 +0:105784:1:02:02 + +bigprowr: +tagteam: +0:406:12c:00:19 +0:32:3:00:05 + +bigkarnk: +0:102086:a0:00:0a +0:ff801e:4:00:80 + +beezer: +0:0507:50:55:00 + +beezer1: +0:0503:50:55:00 + +battlnts: +battlntsj: +battlntsa: +0:1050:4:0:0 +0:1100:50:00:52 + +bssoccer: +bssoccera: +0:200e90:28:41:00 + +warriorb: +0:202a38:ef:50:00 +0:202b25:1:01:01 + +rockman2j: +rckman2jregion: +0:ffefc0:118:00:02 +0:fff047:1:01:01 + +slammastu: +0:ffa138:02:00:10 +0:ffa13a:ae:00:00 + +robocopw: +robocopj: +robocopu: +robocopu0: +0:ff8ed8:a0:4d:00 +0:ffb522:4:00:00 +0:ffb523:1:05:05 + +robocop: +0:ff8ed8:a0:4d:00 +0:ffb522:4:00:00 +0:ffb523:1:05:05 + +robocopb: +automat: +0:ff8ed8:a0:4d:00 +0:ffb522:1:00:00 +0:ffb523:1:05:05 +0:ffb524:2:00:00 + +pbobble4j: +pbobble4u: +0:40e85a:116:00:00 +0:40e8ba:1:41:41 + +gijoe: +gijoeu: +gijoej: +gijoea: +0:18f900:f8:41:01 + +elvact2u: +elvactrj: +0:40ce3a:7c:00:01 +0:40ce3c:1:c3:c3 + +galpanic: +galpanib: +0:53e728:50:30:31 + +ddragon2u: +0:0f91:1e:02:23 +0:0023:3:02:00 + +ddragon2: +ddragon2b: +0:0f91:1e:02:23 +0:0023:3:02:00 + +cameltryau: +cameltryj: +cameltrya: +0:106c9e:244:35:44 +0:1066b0:3e:06:00 +0:105430:4:00:00 + +wndrmomo: +0:4e00:45:0:2f + +youjyudn: +0:e565:37:70:4e + +zerohour: +zerohoura: +zerohouri: +0:3023:4:0:0 + +devstors2: +devstors3: +garuka: +0:41c4:2e:01:01 + +mainevt: +mainevt2p: +ringohja: +mainevto: +0:415d:45:ae:77 + +markham: +0:c0c4:3c:2a:00 + +route16bl: +route16a: +routex: +0:4032:9:0:0 + +route16: +route16c: +0:4032:9:00:00 + +moguchan: +0:5eda:6:0:0 + +hustlerb: +billiard: +vpool: +hustlerd: +0:84c0:e:0:0 +0:80a8:3:0:2 + +hustler: +hustlerb3: +hustlerb4: +0:84c0:f:00:00 +0:80a8:3:00:02 +0:8003:1:0a:0a + +moonwar: +moonwara: +0:80f2:3c:02:4c + +lsasquad: +0:a814:3:00:01 +0:a46c:70:68:00 +0:d754:d:20:30 + +storming: +0:a814:3:00:01 +0:a46c:70:69:00 +0:d754:d:20:30 + +marvland: +0:106100:28:00:03 +0:40b650:4:00:00 + +uccops: +uccopsu: +0:e3e9a:49:30:01 + +uccopsj: +uccopsar: +0:e3e7c:49:30:01 + +wits: +0:ffd6c2:49:00:4b + +cprobowl: +0:33:24:50:13 +0:36:1:50:50 + +spacegun: +spacegunj: +spacegunu: +0:318d74:97:00:58 + +riotcity: +0:ffce00:3f:00:45 + +regulus: +reguluso: +regulusu: +0:ce40:1e:41:4a +0:c0e1:3:00:00 +0:cd01:1e:00:00 + +;** only seems to save top score ** +cerberus: +0:e83b:ba:27:00 +0:e004:1:1b:1b + +omega: +0:43c0:0f:00:00 +0:40a8:03:00:00 + +wgpjoy: +0:10bbdd:c5:01:02 +0:10bc9f:1:44:44 + +slyspy: +slyspy3: +secretag: +slyspy2: +0:306adc:4:00:00 +0:304000:9f:00:33 +0:306add:1:30:30 + +secretagj: +0:306c16:4:00:00 +0:304000:9f:00:33 +0:306c17:1:30:30 + +dblaxle: +0:202c91:18f:13:10 + +mirninja: +0:100400:d0:4d:00 +0:1004ce:1:10:10 + +gundhara: +gundharac: +0:20f908:33:00:6e + +gunnail: +0:faf00:6e:00:49 +0:fa800:78:00:55 +0:fe004:f93:00:50 + +sdgndmps: +0:8b600:9c:00:1a + +carjmbre: +0:820a:a0:00:45 +0:8217:1:30:30 + +mslider: +0:2acc:a8:00:02 +0:c0:1:15:15 + +mosaic: +0:201e7:50:54:00 +0:20235:1:05:05 + +agallet: +0:100292:5a:00:00 +0:100200:2:02:1a + +drgnbstr: +0:485a:3:00:00 +0:485b:1:10:10 +0:406c:7:2f:00 +0:406e:1:01:01 + +blocken: +0:3086ec:4f:00:57 + +astinvad: +0:1fca:14:00:00 +0:2f1d:1:3e:3e +0:2f3d:1:41:41 +0:2f5d:1:41:41 +0:2f7d:1:41:41 +0:2f9d:1:3e:3e +0:301d:1:3e:3e +0:303d:1:41:41 +0:305d:1:41:41 +0:307d:1:41:41 +0:309d:1:3e:3e +0:311d:1:3e:3e +0:313d:1:41:41 +0:315d:1:41:41 +0:317d:1:41:41 +0:319d:1:3e:3e +0:321d:1:3e:3e +0:323d:1:41:41 +0:325d:1:41:41 +0:327d:1:41:41 +0:329d:1:3e:3e +0:331d:1:3e:3e +0:333d:1:41:41 +0:335d:1:41:41 +0:337d:1:41:41 +0:339d:1:3e:3e + +kosmokil: +0:1fc4:14:00:00 +0:2f1d:1:3e:3e +0:2f3d:1:41:41 +0:2f5d:1:41:41 +0:2f7d:1:41:41 +0:2f9d:1:3e:3e +0:301d:1:3e:3e +0:303d:1:41:41 +0:305d:1:41:41 +0:307d:1:41:41 +0:309d:1:3e:3e +0:311d:1:3e:3e +0:313d:1:41:41 +0:315d:1:41:41 +0:317d:1:41:41 +0:319d:1:3e:3e +0:321d:1:3e:3e +0:323d:1:41:41 +0:325d:1:41:41 +0:327d:1:41:41 +0:329d:1:3e:3e +0:331d:1:3e:3e +0:333d:1:41:41 +0:335d:1:41:41 +0:337d:1:41:41 +0:339d:1:3e:3e + +kamikaze: +0:1fc5:14:00:00 +0:2f1d:1:3e:3e +0:2f3d:1:41:41 +0:2f5d:1:41:41 +0:2f7d:1:41:41 +0:2f9d:1:3e:3e +0:301d:1:3e:3e +0:303d:1:41:41 +0:305d:1:41:41 +0:307d:1:41:41 +0:309d:1:3e:3e +0:311d:1:3e:3e +0:313d:1:41:41 +0:315d:1:41:41 +0:317d:1:41:41 +0:319d:1:3e:3e +0:321d:1:3e:3e +0:323d:1:41:41 +0:325d:1:41:41 +0:327d:1:41:41 +0:329d:1:3e:3e +0:331d:1:3e:3e +0:333d:1:41:41 +0:335d:1:41:41 +0:337d:1:41:41 +0:339d:1:3e:3e + +dinorex: +dinorexj: +dinorexu: +0:602760:90:00:4f + +cybattlr: +0:1f0101:ed:02:20 + +chelnovu: +0:060048:04:00:00 +0:060080:2C:00:00 +0:0600C0:2C:41:00 + +chelnov: +chelnovj: +chelnovjbl: +chelnovjbla: +0:060048:04:00:00 +0:060080:2C:00:00 +0:0600C0:2C:41:00 + +acrobatm: +0:800ea:8d:00:00 +0:800da:4:00:00 +0:80021:1:48:48 + +nitd: +nitdbl: +0:105da4:3e:00:00 +0:105ddd:1:41:41 + +athena: +0:fe52:6f:41:30 +0:d7f5:3:00:00 + +pbobble2x: +0:40db78:104:00:3e +0:40dbd8:1:41:41 + +phelios: +pheliosj: +0:100012:44:00:45 +0:40c478:4:00:50 +0:109373:11:02:01 + +seicross: +sectrzon: +0:7ad4:1e:00:0a + +blzntrnd: +0:ff9338:50:02:00 +0:ff9385:1:10:10 + +blkpnthr: +0:90400:99:00:59 +0:90300:4:00:00 + +;** only saves top 10 scores (ones you put your name to) ** +wecleman: +wecleman2: +weclemana: +weclemanb: +0:41110:64:00:20 +0:40006:4:00:00 + +mx5000: +0:3a00:50:00:14 +0:395e:3:00:90 + +flkatck: +flkatcka: +0:3a00:50:00:14 +0:395e:3:00:90 + +msgundam: +msgundam1: +0:204287:63:01:10 + +toobin: +0:ffff40:32:01:ef + +mshvsf: +mshvsfa1: +mshvsfb1: +mshvsfb: +mshvsfh: +mshvsfj2: +mshvsfj1: +mshvsfj: +mshvsfu1: +mshvsfu: +mshvsfa: +mshvsfu1d: +0:ff2b0c:63:00:03 + +ashurau: +0:6019f9:63:00:19 +0:6012a7:3:00:00 + +champwr: +0:89b7:28:00:4e + +bladestl: +bladestle: +bladestll: +0:4170:82:23:15 + +atomicp: +0:ffd90f:27:01:20 + +;** top score updates when first game starts ** +astyanax: +0:f8909:97:00:4e +0:f885d:f:00:00 +0:f8863:1:02:02 + +lordofk: +0:f8921:97:00:4e +0:f8875:f:00:00 +0:f887b:1:02:02 + +bullfgt: +thetogyu: +0:d300:3c:00:49 +0:c014:3:00:02 + +spelunkr: +spelunkrj: +0:e052:64:39:3f +0:e03b:2:39:08 + +buggychl: +buggychlt: +0:8814:4ec:04:00 +0:80e1:1:04:04 + +bshark: +bsharkj: +bsharku: +0:10e9b6:31:00:49 +0:10f0c6:4:00:84 + +bsharkjjs: +0:10e9ae:31:00:49 +0:10f0c6:4:00:84 + +battlera: +bldwolf: +bldwolfj: +0:1f0220:8a:41:00 +0:1f000e:4:00:00 +0:1f000f:1:10:10 + +miexchng: +0:100002:9e:00:0f + +drgnunit: +0:ffd50e:50:00:2e + +cloak: +cloakfr: +cloakgr: +cloaksp: +0:f35:a0:11:58 + +rambo3u: +rambo3: +0:802600:50:01:4e + +rambo3p: +0:802600:50:01:2e + +superchs: +superchsj: +superchsu: +0:102815:49:00:47 + +balcube: +0:f04ac0:4a:00:02 + +skyadvnt: +skyadvntu: +0:40031:3:00:24 +0:41102:bc:00:20 + +skyadvntj: +0:40031:3:00:24 +0:41102:bc:00:49 + +kittenk: +0:4005a:4:00:00 +0:42800:28:00:10 + +typhoon: +0:2100:50:1a:00 +0:2050:4:00:00 + +tinklpit: +0:5ca8:174:00:02 + +chameleo: +0:4f:4:00:00 +0:120:6e:26:00 +0:50:1:50:50 + +sprint1: +0:57:3:30:30 + +chasehq: +chasehqj: +chasehqu: +chasehqju: +0:101760:a0:20:24 + +spcforce: +meteor: +spcforc2: +meteors: +0:4300:50:30:30 + +baluba: +0:80f6:4:00:00 +0:80f8:1:03:03 +0:9261:1:8a:8a +0:9241:1:8a:8a +0:9221:1:8a:8a +0:9201:1:83:83 +0:91e1:1:80:80 +0:91c1:1:80:80 +0:91a1:1:80:80 +0:9181:1:80:80 + +skysmash: +0:8925e:50:53:00 +0:80008:4:00:00 +0:80009:1:02:02 + +nyny: +nynyg: +warcadia: +0:c000:f:00:00 +0:7a7d:1:77:77 + +nbbatman: +leaguemn: +nbbatmanu: +0:e25d4:4f:00:03 + +depthch: +depthcho: +subhunt: +0:e408:c:55:5a + +blocka: +0:e0f0:50:54:85 + +stdragon: +stdragona: +stdragonb: +0:f8d00:7c:00:d3 + +sbrkout: +sbrkout3: +sbrkoutc: +sbrkoutct: +0:22:08:00:00 + +pigskin: +0:142a17:157:05:03 + +pigskina: +pigskinb: +0:142b4d:157:05:03 + +cubybop: +0:8462:28:05:04 + +bangball: +0:f04b24:9a:46:03 + +gunforce: +gunforceu: +0:e6633:40:44:20 + +gunforcej: +0:e6633:40:44:4f + +pulirula: +pulirulaj: +0:30d586:f9:00:42 + +sstrangr: +sstrangr2: +0:20f4:2:00:00 + +zektor: +0:c924:39:90:10 +0:cfd2:f:0c:02 + +castfant: +0:0b:3:00:00 +0:08:1:3f:3f + +btlecity: +0:3e:6:00:00 +0:3f:1:02:02 + +sailormn: +sailormno: +sailormnh: +sailormnj: +sailormnk: +sailormnoh: +sailormnoj: +sailormnok: +sailormnot: +sailormnou: +sailormnt: +sailormnu: +0:10944f:47:02:05 + +mazinger: +mazingerj: +0:100022:43:00:4e + +mspacmab: +00:4E88:04:00:00 +00:43ED:06:40:40 +00:43D1:01:48:48 + +pbancho: +0:402e1f:3b:01:04 +0:400ad3:3:01:a0 +0:400b41:3:05:32 + +warlords: +0:f3:9:4d:61 +0:126:2:75:75 +0:12d:2:13:26 +0:13a:2:00:00 + +travrusa: +motorace: +mototour: +travrusab: +0:e07c:4b:00:15 +0:e008:3:00:03 + +ponpoko: +ponpokov: +candory: +0:4c40:3:00:00 +0:4e5a:13:00:00 +0:406c:6:0f:00 +0:4c53:1:02:02 + +gekiridnj: +gekiridn: +0:408e72:7a:00:01 +0:408e4c:4:00:00 + +starfire: +0:82ba:a5:00:00 + +wotw: +wotwc: +0:01f0:04:00:00 +0:012a:06:00:1e + +wrecking: +0:a1:3:00:00 +0:6000:1e:06:16 + +zeropnt: +zeropntj: +zeropnta: +0:ef1eb4:24:00:10 +0:ef1f58:23:55:53 + +undrfire: +0:20dfaf:75:08:53 + +cptennis: +wtennis: +0:db:3:00:00 +0:b2:1:da:da + +joyfulr: +mnchmobl: +0:813a:3:00:00 +0:8313:6b:30:4b +0:813b:1:10:10 + +dharma: +dharmak: +dharmaj: +0:40e302:4b:00:5a + +shangha2: +shangha2a: +0:180b:be:90:01 + +shanghaij: +shanghai: +0:201b:b4:90:1e + +cachat: +0:8d0d:4c:4b:00 +0:8d57:1:10:10 + +;** top score updates at start of first game ** +bouldash: +0:306d4d:44:00:52 +0:306aa1:3:00:00 + +marvins: +0:c290:46:00:4b +0:c28b:4:00:00 +0:c28c:1:01:01 + +shangonb: +shangonrb: +shangonro: +0:20d400:1b2:01:00 +0:20d5ad:1:20:20 +0:20d678:70:99:99 + +dsaber: +dsabera: +0:108080:8c:ce:60 +0:10819e:40:00:00 +0:1081d9:1:70:70 + +dsaberj: +0:108080:8c:ce:95 +0:10819e:40:00:00 +0:1081d9:1:70:70 + +higemaru: +0:ee00:82:00:4f +0:ee97:3:00:00 +0:d04e:7:20:30 + +baraduke: +aliensec: +0:280:49:00:20 +0:74:3:00:65 + +extdwnhl: +0:20286c:2c4:4d:40 + +indytemp: +indytemp4: +indytempd: +indytemp2: +0:401e56:32:01:16 +0:400fbe:32:01:16 + +indytemp3: +0:401e56:32:01:16 +0:401152:32:01:16 + +tunhunt: +tunhuntc: +0:300:20:00:44 +0:b0:1:03:03 + +mhavoc: +0:184:46:0b:00 +0:95:1:02:02 + +zunkyou: +0:fffa01:4f:00:01 + +mayday: +maydaya: +maydayb: +batlzone: +0:b260:3c:00:55 + +nebulray: +nebulrayj: +0:22a769:8a:22:4c +0:23be6a:4:00:a0 + +ladykill: +moegonta: +0:ffe20f:67:00:8c + +;** saves top 10 scores displayed in attract mode ** +transfrm: +astrofl: +0:f900:37:00:4b +0:c080:4:00:00 + +gunbuletj: +0:21ccd4:68:00:01 + +hangonjr: +0:d000:69:02:2c +0:c07d:3:02:00 + +ridleofp: +0:e215:c8:00:4e + +chinagat: +saiyugoub1: +saiyugoub2: +saiyugou: +0:c83:23:00:21 + +burglarx: +0:ff2524:5a:01:01 +0:ffce7c:4:01:00 + +hogalley: +0:4a0:19:12:2f +0:4be:2:12:28 + +calipso: +0:81cb:3c:01:45 + +foodf: +foodfc: +foodf2: +foodf1: +0:17ba8:2d:4a:45 +0:17f64:3c:00:2f +0:1860e:7:35:a5 + +emeralda: +0:9c9e:10e:4b:01 + +pulstar: +0:100000:2c:00:58 + +popbounc: +0:100004:648:00:01 + +poitto: +0:40e31a:4e:00:41 +0:40e2ec:4:00:00 +0:40e2ed:1:02:02 + +cheekyms: +0:3009:9:00:00 +0:3014:1:36:36 + +solarq: +0:e0:50:08:00 + +yamyam: +wiseguy: +yamyamk: +0:eba8:3f:00:4d + +pangpoms: +0:c0de63:77:10:01 + +pangpomsm: +0:c0de63:77:10:01 + +pbobble4: +0:40e85a:116:00:00 +0:40e8ba:1:41:41 + +gogomile: +0:40660d:161:01:14 +0:4066CF:1:05:05 + +mmaze: +0:12c1:3:00:00 +0:1241:27:00:01 +0:1100:1:95:95 + +butasanj: +butasan: +0:fab0:110:00:07 +0:fca0:5:00:00 +0:fca2:1:02:02 + +puzlclub: +0:24fc:7c:0f:2e +0:263f:bf:0d:45 + +shocktro: +0:10ef04:27:00:08 + +tekipaki: +0:80013:3f:00:60 + +dcon: +0:83138:64:53:10 + +brix: +zzyzzyxx: +0:5100:28:00:00 +0:5400:1e:9d:a3 +0:5126:1:50:50 + +shootout: +0:24a:4e:44:60 +0:53:3:05:00 +0:54:1:80:80 + +shootoutj: +shootoutb: +0:24a:4e:44:60 +0:5f:3:05:00 +0:60:1:80:80 + +pandoras: +0:6100:2d:18:20 +0:60d0:4:00:50 + +dremshpr: +0:4c00:f0:00:01 +0:4808:6:00:00 +0:4809:1:03:03 + +nam1975: +0:100040:4f:00:4b + +thundfox: +thundfoxj: +thundfoxu: +0:303b2c:32:00:49 +0:303c56:4:00:00 +0:303b59:1:01:01 + +champbas: +0:8c30:2f:40:00 +0:8c5c:1:05:05 + +dfeveron: +feversos: +0:103eb4:16d:02:07 + +guwange: +0:2024f0:140:00:10 +0:2024ac:4:00:00 + +guwanges: +0:2024fa:140:0:10 +0:2024b6:4:00:00 + +blazer: +0:30ad:5f:00:20 +0:2888:8:00:00 +0:288b:1:03:03 + +sonicwi3: +0:10000c:cf:4b:20 + +sonicwi2: +0:10000e:52:48:03 + +midres: +midresu: +midresb: +midresbj: +0:1026ea:50:00:26 +0:102710:1:78:78 + +midresj: +0:1026ec:50:00:26 +0:102712:1:78:78 + +goonies: +0:7f0:3:00:01 + +;** ignore first high score screen, updates on next high score show!! ** +timesold: +timesold1: +0:204101:bf:00:0c +0:40030:4:00:00 +0:4003c:1:02:02 +0:4003d:1:09:09 + +btlfieldb: +btlfield: +0:40030:4:00:70 +0:204101:bf:00:0c + +cluclu: +0:751:4f:1d:70 +0:19:3:05:20 + +turbofrc: +0:c221b:4e:04:54 + +twinqix: +0:406b6f:9b:00:54 + +momoko: +0:ce01:9f:20:20 +0:c049:7:20:30 + +magicbub: +0:ff3c66:4e:00:20 + +magicbuba: +magicbubb: +0:ffc127:4d:07:20 + +ixion: +0:610d:1e:00:00 +0:61d2:1e:23:24 + +elvactr: +0:40ce3a:7c:00:01 +0:40ce3c:1:c3:c3 + +dommy: +0:1a:3:00:05 + +dariusg: +dariusgx: +dariusgu: +dariusgj: +0:406cd4:39:00:59 + +silentd: +silentdj: +silentdu: +0:403E03:65:01:20 + +hachoo: +0:f0072:100:00:59 +0:f017e:4:00:00 +0:f0073:1:05:05 + +streetsm1: +streetsm: +streetsmj: +streetsmw: +0:41470:a0:20:20 +0:43f7e:4:00:00 + +finehour: +0:106afe:64:00:5a +0:10002a:4:00:00 + +killcom: +0:88:2:47:00 + +devilw: +majuu: +0:60131:ef:00:10 +0:60049:3:00:30 + +darkadv: +0:60131:ef:00:10 + +uballoon: +0:80048c:4f:00:45 + +tshingen: +tshingena: +0:f0f00:3a:00:4e + +stg: +0:ffda3e:28:42:00 +0:ffda64:1:31:31 + +f1dream: +f1dreamb: +0:fff132:60:59:01 +0:fff2e9:5f:01:34 + +roadrunn: +0:401e42:32:00:da + +ryujin: +0:103e3c:63:54:01 +0:103f20:4:00:00 + +xxmissio: +0:e018:4:00:00 +0:e084:61:20:20 +0:c1a0:1:30:30 +0:c1c0:1:30:30 +0:c1e0:1:30:30 +0:c200:1:30:30 +0:c220:1:33:33 +0:c240:1:01:01 +0:c260:1:01:01 + +wndrplnt: +0:60048:ac:00:01 +0:600dd:1:4d:4d + +mouja: +0:f00064:12c:00:37 + +shangkid: +hiryuken: +0:e128:50:00:17 + +tdragon2: +0:1ff101:6b:18:00 + +bigbang: +tdragon2a: +0:1ff101:6b:18:00 +0:1ff169:1:01:01 + +rrangerb: +0:d220:4c:00:20 +0:c851:2:00:03 + +parodius: +parodiusj: +parodiusa: +parodiuse: +0:1f50:5e:00:00 +0:1f51:1:05:05 + +zedblade: +0:108f00:50:00:11 + +cyberlip: +0:100000:50:00:20 + +rshark: +0:340382:4e:4e:41 + +prehisle: +gensitou: +prehisleu: +prehislek: +0:700a0:4e:00:00 +0:7003d:5:00:00 +0:700ec:1:01:01 + +sbasketb: +0:2a26:194:ef:14 +0:20ac:3:00:00 +0:3521:1:10:10 +0:3501:1:10:10 +0:34e1:1:10:10 +0:34c1:1:10:10 +0:34a1:1:10:10 +0:3481:1:00:00 +0:3461:1:00:00 + +chqflag: +0:1f08:dd:30:42 + +pbobble3: +0:41eff0:99:00:04 + +sgladiat: +0:d9b0:28:00:4b + +hotdogst: +0:301100:54:00:14 + +bioship: +sbsgomo: +0:f0150:8:00:00 +0:f0169:a3:00:00 +0:f0207:1:4c:4c + +cbdash: +0:200:8c:01:13 +0:23:3:88:01 + +teplus2j: +tetrisp2: +tetrisp2ja: +0:10dfb7:b3:01:00 +0:10e065:1:01:01 +0:10b0f2:460:03:09 + +robocop2: +robocop2j: +robocop2u: +robocop2ua: +0:1b8300:27:4e:21 +0:1b8200:28:00:00 +0:1b8020:4:00:00 + +pbobbl2n: +0:10ee00:112:00:d4 +0:10fe8b:1:23:23 + +shocking: +shockingk: +shockingko: +0:ff0d19:63:41:64 + +bcruzm12: +0:858c:45:00:12 + +twinbee: +0:1f580:58:00:0a +0:1eba0:4:00:00 + +cannball: +cannballv: +0:f800:80:00:2e + +platoon: +0:700:e9:10:60 + +vsskykid: +0:10:6:00:00 +0:26:6:00:3f + +;** bosco.c (bosconian) ** +;** high score beaten at 20,000 every time ** +;** no way around this ** +;** high score table ok though!! :0) ** +boscomd: +bosco: +boscomdo: +boscoo: +boscoo2: +0:8bc5:f:17:18 +0:8be4:10:00:00 +0:885c:4:00:00 +0:8060:8:00:02 + +challeng: +0:cc:f:00:1f + +lethalth: +thndblst: +0:e0086:b7:00:08 + +arabianm: +arabianmj: +arabianmu: +0:410ef8:30:00:01 + +duckhunt: +0:640:20:12:28 + +drmario: +0:120:9b:00:15 + +suprmrio: +0:6675:8b:05:00 +0:7d7:6:00:00 + +suprmrioa: +0:6675:8b:05:00 +0:7d7:6:00:00 + +dangerz: +1:e908:12e:52:14 + +elim2: +0:c924:14:00:00 +0:c99f:1e:0c:03 + +elim2a: +0:c924:14:25:05 +0:c99f:1e:0c:03 + +elim4: +0:cc4d:1e:0c:03 +0:c928:14:00:00 + +dogfight: +0:587e:82:20:ff +0:b2df:1:24:24 +0:b2ff:1:24:24 +0:b31f:1:03:03 +0:b33f:1:05:05 +0:b35f:1:02:02 +0:b37f:1:00:00 +0:b39f:1:00:00 + +sectionz: +sectionza: +0:ce00:51:00:00 +0:ce97:3:00:00 +0:ce4f:1:08:08 + +thndrx2: +thndrx2a: +thndrx2j: +0:1002f0:50:00:40 + +skysoldr: +skysoldrbl: +0:204100:c0:00:0c +0:40030:4:00:00 + +donpachi: +donpachj: +donpachihk: +donpachikr: +0:101782:4:00:00 +0:101846:5a:00:01 + +ddonpach: +ddonpachj: +ddonpacha: +0:1016ea:64:00:05 +0:101626:4:00:06 + +karianx: +0:ff069c:68:4b:30 + +swimmer: +swimmera: +swimmerb: +0:84e0:2d:00:48 +0:8577:6:00:00 + +heartatk: +0:3c00:27:01:1b + +logger: +0:3c09:30:00:00 + +;** updates high score at end of 1st game ** +;** or after 2nd attract mode ** +dazzler: +0:3cea:20:00:1b +0:3d11:2b:00:00 + +8ball: +8ball1: +0:3c0c:38:00:00 + +;** saves top 10 scores only ** +;** can`t be bothered with lower scores!! ** +suprloco: +suprlocoa: +suprlocoo: +0:fd00:1e:02:00 +0:fca0:12:41:48 +0:fc2c:3:02:00 + +1943: +0:e600:60:00:00 +0:e110:8:00:00 +0:d1be:1:24:24 +0:d1de:1:24:24 +0:d1fe:1:02:02 +0:d21e:1:00:00 +0:d23e:1:00:00 +0:d25e:1:00:00 +0:d27e:1:00:00 + +1943kai: +1943j: +0:e600:60:00:00 +0:e110:8:00:00 +0:d1be:1:24:24 +0:d1de:1:02:02 +0:d1fe:1:00:00 +0:d21e:1:00:00 +0:d23e:1:00:00 +0:d25e:1:00:00 +0:d27e:1:00:00 + +280zzzap: +0:203d:2:00:00 +0:2029:4:00:00 + +ballbomb: +0:20dc:03:00:00 + +blueshrk: +0:200a:05:00:00 + +bowler: +0:22a0:08:00:00 + +desertgu: +0:2006:02:00:00 +0:200b:02:00:00 + +galxwars: +starw: +galxwarst: +galxwars2: +starw1: +0:2005:06:00:00 + +;** updated when you start a game ** +helifire: +helifirea: +0:6008:3:00:00 + +invadpt2: +invaddlx: +0:20f4:2:00:05 +0:2340:a:1b:1b + +moonbase: +moonbasea: +0:2340:a:0d:14 +0:20f4:2:00:05 + +invrvnge: +invrvngea: +invrvngeb: +invrvngedu: +invrvngegw: +0:2019:3:00:00 + +lagunar: +0:2011:9:00:00 +0:2005:3:00:00 + +;** updated when you start a game ** +lrescue: +warl: +desterth: +lrescuem: +lrescuem2: +0:20db:1:0a:0a +0:20cf:a:1b:1b +0:20f4:2:00:05 + +lupin3: +0:20dc:03:00:00 + +ozmawars: +ozmawars2: +solfight: +spaceph: +0:2043:02:00:00 + +polaris: +0:2314:02:00:00 + +polarisa: +polarisbr: +0:2150:14:00:00 +0:2165:1e:2a:2a +0:2314:02:00:00 + +rollingc: +0:2302:0f:00:00 + +schaser: +schasera: +schaserb: +schaserc: +0:2244:0a:1b:1b +0:233f:03:01:00 + +schasercv: +0:233d:03:01:00 + +seawolf: +0:2006:01:00:00 +0:2001:01:09:09 + +spcenctr: +0:26f0:2:0e:0e +0:202e:2:00:00 +0:202b:2:00:00 + +actfancr: +actfancj: +actfanc1: +0:1f0ce6:1e:05:45 +0:1f00be:3:00:00 + +aerofgt: +0:ffc1af:97:0b:64 + +ajax: +ajaxj: +0:2100:50:1a:00 +0:2050:4:00:00 + +turtles: +turpin: +turpins: +600: +0:8200:1e:00:00 +0:80a8:3:00:00 +0:9340:1:01:01 + +appoooh: +0:e029:3:53:4d +0:e017:6:00:00 +0:e018:1:01:01 +0:e400:dc:53:00 + +argus: +0:fb80:40:00:00 +0:e039:7:00:00 +0:e03d:1:07:07 + +valtric: +0:fca0:28:00:53 +0:fc38:4:00:00 + +arkanoid: +ark1ball: +arkangc: +arkangc2: +arkbloc2: +arkblock: +arkgcbl: +arkmcubl: +arkanoidu: +arkanoiduo: +arkatayt: +paddle2: +arkgcbla: +arkbloc3: +arkanoidjo: +arkanoidjb: +arkanoidja: +arkanoidjb: +arkanoidjbl: +arkanoidjb2: +arkanoidjbl2: +arkanoidj: +0:ef79:23:00:52 +0:c4df:03:00:00 + +block2: +0:ef79:23:00:4a +0:c4df:03:00:00 + +arktayt2: +0:ef79:23:00:42 +0:c4df:03:00:00 + +arkatour: +0:ef7c:23:00:52 +0:c4df:03:00:00 + +armedf: +armedff: +0:611b6:4f:00:4a +0:61206:4:00:00 + +cclimbr2: +0:612a7:49:10:00 +0:612f2:1:50:50 + +terraf: +terrafu: +terrafa: +terrafb: +terrafjb: +terrafj: +0:6066e:3c:00:4a +0:606b2:4:00:00 + +asteroi1: +0:001c:35:00:00 + +robby: +0:e1c7:21:4a:4b +0:e161:1e:50:58 +0:e19d:2a:9e:47 +0:e13b:26:10:17 +0:e3c7:21:4a:4b +0:e361:1e:50:58 +0:e39d:2a:9e:47 +0:e33b:26:10:17 + +tomahawk: +tomahawk1: +0:000d:2:00:00 +0:4251:25:3c:3c + +asuka: +asukaj: +0:103458:66:41:01 +0:1033c4:4:00:20 + +galmedes: +0:1031a0:4c:00:64 + +mofflott: +0:100aad:75:00:31 + +apb: +apb5: +apb6: +0:f42:9b:00:4d + +apb2: +apbf: +apbg: +apb1: +apb3: +apb4: +0:f42:9b:00:50 + +badlands: +0:fffe96:4f:00:9a + +pickin: +0:719a:50:00:10 + +bankp: +0:e590:a0:00:00 +0:e018:7:00:00 + +batman: +0:10f23e:50:00:35 + +battlane: +battlane2: +battlane3: +0:0ca5:28:00:1a +0:005f:3:00:00 + +frenzy: +0:406e:3c:00:00 +0:405e:1:ff:ff + +bionicc: +bionicc2: +topsecrt: +bionicc1: +bioniccbl: +0:fff9e2:4f:00:4d +0:ffc57a:4:00:00 +0:fec0d9:1:20:20 +0:fec0db:1:20:20 +0:fec0dd:1:20:20 +0:fec0df:1:02:02 +0:fec0e1:1:00:00 +0:fec0e3:1:00:00 +0:fec0e5:1:00:00 +0:fec0e7:1:00:00 + +blkdrgon: +blkdrgnb: +0:e200:50:00:26 +0:e1e0:8:00:00 + +blockout: +0:1d5fa4:78:32:05 +0:1d5ece:4:00:00 + +blockout2: +blockoutj: +0:1d5fa2:78:32:05 +0:1d5ece:4:00:00 + +blstroid: +blstroid2: +blstroidh: +blstroidg: +blstroid3: +0:ffff42:32:06:16 + +blueprnt: +blueprntj: +0:8100:3e:00:90 + +saturnzi: +0:8380:28:00:2d + +bombjack: +bombjack2: +bombjackt: +0:905f:1:30:30 +0:907f:1:30:30 +0:909f:1:30:30 +0:90bf:1:30:30 +0:90de:3:53:24 +0:90fe:3:2d:24 +0:911f:1:00:00 +0:913f:1:00:00 +0:80e2:4:00:00 +0:8100:96:00:ff + +darwin: +0:1b93:9:8b:89 +0:1b6c:10:00:70 + +btime: +btime2: +btimem: +btime3: +0:0033:27:00:FF + +cookrace: +0:0032:24:00:18 + +ringking3: +1:8048:8C:00:12 +0:C234:04:00:05 + +lnc: +0:0008:3:00:00 +0:0294:f:00:00 +0:02a6:f:00:00 +0:3C4D:6:00:01 + +mmonkey: +0:df:f:00:00 +0:32:3:00:02 +0:310:f:2e:2f +0:3c4a:6:00:01 + +zoar: +0:02dd:3:00:00 +0:02e5:f:00:00 +0:034b:3:20:20 +0:0356:3:20:20 +0:0361:3:20:20 +0:036c:3:20:20 +0:0377:3:20:20 + +spacduel: +spacduel0: +spacduel1: +0:dd:3c:00:00 +0:119:4b:00:1c + +bzone: +bzonea: +bzone2: +bzonec: +0:0300:3c:05:38 + +;** note top score updates after a few seconds ** +redbaron: +redbarona: +0:155:23:0:0 +0:178:1:d4:d4 + +cadash: +cadashu: +cadashi: +cadashf: +cadashg: +0:103646:185:00:4d + +cadashj: +cadashj1: +cadashjo: +0:103646:18a:00:65 + +canyon: +canyonp: +0:0037:4:00:00 + +uopoko: +uopokoj: +0:100038:6e:00:20 + +cchasm: +cchasm1: +0:fff4b8:78:72:10 + +cclimber: +cclimberj: +ccboot: +cclimbroper: +cclimbrrod: +0:8083:03:02:00 +0:8095:0a:30:52 +0:8086:03:02:00 +0:80a3:0a:30:52 +0:8089:03:02:00 +0:80b1:0a:30:52 +0:808c:03:02:00 +0:80bf:0a:30:52 +0:808f:03:02:00 +0:80cd:0a:30:52 + +ccboot2: +0:8083:03:02:00 +0:8095:0a:15:52 +0:8086:03:02:00 +0:80a3:0a:15:52 +0:8089:03:02:00 +0:80b1:0a:15:52 +0:808c:03:02:00 +0:80bf:0a:15:52 +0:808f:03:02:00 +0:80cd:0a:15:52 + +armora: +armorap: +armorar: +0:a2:4:00:00 + +crash: +smash: +0:000f:2:00:00 + +cischeat: +0:f0c00:24f:00:00 +0:f0e42:1:49:49 +0:f0b00:28:00:00 + +f1gpstar: +0:f2803:5e3:04:4d + +citycon: +citycona: +cruisin: +0:0055:3:00:13 +0:0043:3:00:02 +0:0900:f0:53:90 + +cninja: +cninjau: +joemac: +0:1877fb:1:30:30 +0:1877fa:ae:00:00 + +cninja1: +stoneage: +cninjabl: +cninjaa: +0:1877f7:1:30:30 +0:1877f6:ae:00:00 + +combatsc: +combatscb: +combatscj: +combatsct: +0:1320:46:02:07 +0:826:3:00:10 + +commando: +commandou: +commandoj: +sinvasn: +sinvasnb: +commandob: +commandob2: +commandou2: +mercenario: +0:ee00:5b:00:2e +0:ee97:3:00:00 + +congo: +tiptop: +congoa: +0:8020:7e:90:a1 +0:80bd:3:00:00 + +contra: +contrab: +contraj: +contrajb: +gryzor: +contrabj1: +gryzor1: +gryzora: +contra1: +contrabj: +contraj1: +contrae: +0:1120:40:1b:00 +0:1118:4:00:00 + +cop01: +0:c46d:28:00:01 + +cop01a: +0:c46e:28:00:01 + +cosmica: +cosmica2: +cosmica1: +0:400e:3:00:00 + +panic: +panich: +panicger: +panic2: +panic3: +0:40c1:5:00:00 +0:5c00:c:09:15 +0:4004:2:00:00 + +1941: +1941j: +0:ff9680:78:ff:00 +0:ff0d98:04:00:00 + +cworld2j: +0:ff0f68:04:00:01 +0:ff0f6c:9c:00:00 + +dino: +dinoj: +dinou: +dinohunt: +0:fff03e:310:00:00 +0:fff34e:010:99:00 + +ghouls: +ghoulsu: +daimakair: +daimakai: +0:ffbf4c:78:48:a8 +0:ff087a:04:00:00 + +mbombrd: +mbombrdj: +0:ffa0cc:02:00:10 +0:ffa0ce:ae:00:00 + +megamana: +megaman: +rockmanj: +mmancp2u: +rmancp2j: +mmancp2ur1: +0:ffeed0:28:00:00 +0:ffef10:28:00:02 + +mercs: +mercsur1: +mercsj: +mercsua: +0:ff0fd0:a0:00:20 + +msword: +mswordu: +mswordj: +mswordr1: +0:fffe32:98:00:00 +0:fffeca:02:04:00 +0:ffa890:04:00:00 + +nemo: +nemoj: +nemor1: +0:fff004:28:00:20 +0:fff054:14:ff:24 +0:fff07c:04:00:00 + +pang3: +pang3j: +pang3b: +pang3r1: +0:ff9726:8c:00:09 + +pnickj: +0:ff2574:28:03:00 +0:ff259e:50:03:00 +0:ff8534:04:00:00 + +punisher: +punisheru: +punisherj: +punisherbz: +punisherh: +0:ff7896:258:ff:01 +0:ff5b92:004:01:00 + +qad: +0:ffe96e:3c:00:70 + +qadjr: +0:ff4ba9:5f:dc:02 +qtono2j: +0:ff50fe:64:00:00 +0:ff519e:60:00:00 +0:ff51fe:04:06:00 + +sf2: +sf2a: +sf2b: +sf2e: +sf2j: +sf2jb: +sf2ua: +sf2ub: +sf2ue: +sf2ja: +sf2ebbl: +sf2jc: +sf2qp1: +sf2uf: +sf2ui: +sf2uk: +sf2eb: +sf2thndr: +sf2ee: +sf2uc: +sf2ug: +sf2stt: +sf2rk: +sf2jf: +sf2jh: +sf2jl: +sf2ed: +sf2ebbl2: +sf2ebbl3: +0:ffd28a:30:00:20 +0:ffd302:04:00:00 + +sf2accp2: +0:ffd276:27:00:4b +0:ffd2ee:4:00:00 + +sf2red: +0:ffd276:28:02:20 +0:ffd2ee:04:02:53 + +slammast: +mbomberj: +0:ffa138:02:00:10 +0:ffa13a:ae:00:00 + +unsquad: +area88: +area88r: +0:ff101c:50:00:26 +0:ff107c:08:00:00 + +crbaloon: +crbaloon2: +0:4016:03:00:00 +0:417f:0a:11:00 + +crimfght: +crimfghtu: +crimfgtj: +crimfght2: +0:1a40:46:00:19 + +cosmos: +0:3c00:52:00:00 + +hero: +0:3c00:27:00:30 + +herodku: +herodk: +0:3c44:50:00:00 +0:3c94:1:23:23 + +darius: +dariuse: +dariusu: +0:822f2:729:00:2e + +dariuso: +dariusj: +0:822ec:729:00:00 +0:82666:1:41:41 + +darkseal: +gatedoom: +gatedoom1: +darksealj: +darkseal1: +0:103e00:37:00:4d + +dday: +ddayc: +0:6237:3:00:00 +0:5379:5:20:20 + +ddribble: +ddribblep: +0:4800:70:1d:03 + +baddudes: +0:ffa8fe:a0:4d:01 +0:ff81d4:04:00:00 + +drgninja: +drgninjab: +0:ffa8f8:a0:4d:01 +0:ff81d4:04:00:00 + +drgninjab2: +0:ffa8f8:a8:4d:01 +0:ff81d4:04:00:00 + +hbarrel: +0:ffbe9c:58:00:26 + +hbarrelw: +0:ffbe78:58:00:26 + +hippodrm: +ffantasy: +ffantasya: +0:ffbe00:50:08:01 + +breywood: +0:0108:28:31:00 +0:006d:3:04:00 + +cobracom: +cobracmj: +0:06c6:1e:00:54 +0:0135:3:00:76 + +csilver: +csilverj: +0:c7a:1:0f:0f +0:0e3c:3c:00:00 +0:0009:3:00:00 + +garyoret: +0:135f:28:00:00 +0:138b:1e:13:1c + +ghostb: +ghostb2a: +0:01c0:76:01:10 + +ghostb3: +0:0da0:76:01:10 + +gondo: +0:1532:48:21:00 + +lastmisnj: +lastmisn: +lastmisno: +0:09aa:3c:00:44 +0:0006:3:00:00 + +makyosen: +0:14f9:48:21:00 + +oscar: +oscarj1: +oscarj2: +oscaru: +0:075a:46:00:33 +0:0006:3:00:09 + +shackled: +0:0108:28:31:00 +0:006b:3:04:00 + +srdarwin: +srdarwinj: +0:1342:46:00:4d +0:1332:3:05:00 + +logicpro: +croquis: +0:ff0658:28:53:00 + +logicpr2: +0:ff70e6:46:0a:d0 + +radarscp: +radarscp1: +0:6307:a2:00:fc +0:60a8:3:50:00 +0:7641:1:00:00 +0:7621:1:00:00 +0:7601:1:07:07 +0:75e1:1:06:06 +0:75c1:1:05:05 +0:75a1:1:00:00 + +bluehawk: +bluehawkn: +0:f0b6:32:03:06 + +docastle: +docastle2: +douni: +docastleo: +0:8020:50:01:00 + +dowild: +jjack: +kickridr: +0:2020:50:01:00 + +lastday: +lastdaya: +ddaydoo: +0:d6ca:b:20:30 +0:e07e:6e:00:1b +0:e138:7:00:00 + +dorunrun: +dorunrun2: +0:2010:190:00:50 + +dorunrunca: +dorunrunc: +0:8010:190:00:50 + +spiero: +0:2010:3:00:00 +0:2011:1:10:10 + +eprom: +0:3f7de8:c8:00:98 + +eprom2: +0:3f7dc0:c8:00:98 + +espial: +espialu: +0:5842:78:00:27 + +exctsccr: +exctsccru: +exctsccra: +exctsccrj: +exctsccrjo: +0:7c90:30:4d:00 +0:7c60:3:02:00 + +exctsccrb: +0:8c90:30:4d:00 +0:8c60:3:02:00 + +exedexes: +0:e680:50:00:19 +0:e600:8:00:00 + +savgbees: +0:e680:50:00:24 +0:e600:8:00:00 + +exerion: +exerionb: +exeriont: +0:6600:c8:00:00 +0:6700:28:00:00 + +mtrap: +mtrap3: +mtrap4: +mtrapb: +0:0380:23:00:48 + +venture: +venture2: +venture4: +0:0380:23:00:53 + +pepper2: +hardhat: +pepper27: +0:0360:23:00:11 + +targ: +spectar: +spectar1: +phantoma: +rallys: +panzer: +phantom: +rallysa: +0:00ae:2:00:10 + +sidetrac: +0:000f:2:00:00 + +fastfred: +0:c04b:3:00:00 +0:c400:3f:00:11 + +flyboy: +flyboyb: +0:c400:1e:00:00 +0:c430:64:1b:10 +0:c04b:3:00:00 + +finalizr: +0:3c08:1:00:00 +0:3c09:1:03:03 +0:3c0a:2:00:00 +0:3bc0:27:00:12 + +finalizrb: +0:3c08:1:00:00 +0:3c09:1:02:02 +0:3c0a:2:00:00 +0:3bc0:27:00:12 + +firetrapbl: +firetrapj: +0:ca47:5d:02:18 + +firetrap: +firetrapa: +0:ca47:5d:02:25 + +flstory: +flstoryj: +0:e74e:23:00:44 + +frogger: +froggers1: +froggers2: +froggermc: +quaak: +froggeram: +froggers3: +0:83f1:A:63:01 +0:83ef:2:63:04 + +frogf: +0:83f0:c:04:05 + +froggers: +frogg: +froggrs: +0:43f1:0A:63:01 +0:43ef:02:63:04 + +froggerv: +0:83f1:0A:42:01 +0:83ef:2:42:04 + +nebulbee: +gatsbee: +0:8a20:2d:00:0e +0:83ed:6:00:24 + +checkman: +0:801c:48:00:00 + +checkmanj: +0:401b:48:00:00 + +devilfsg: +0:40a8:3:00:00 + +jumpbug: +jumpbugb: +0:4222:15:00:97 +0:4208:6:00:00 + +kingball: +kingballj: +0:8305:3:00:00 +0:800d:3:00:00 +0:8302:1:01:01 + +levers: +0:41cd:3:00:00 + +moonal2: +moonal2b: +0:80a8:3:00:00 +0:83f4:2:ff:ff +0:83FD:1:ff:ff + +moonqsr: +0:804e:30:00:9f + +orbitron: +0:404a:3:00:00 + +pacmanbl: +gmgalax: +pacmanbla: +0:4288:3:00:00 +0:5180:1:40:40 +0:51a0:1:40:40 +0:51c0:1:40:40 +0:51e0:1:40:40 +0:5200:1:40:40 +0:5220:1:40:40 +0:5240:1:48:48 +0:5260:1:47:47 +0:5280:1:49:49 +0:52a0:1:48:48 + +pisces: +omni: +piscesb: +0:4021:3:00:00 + +;** updates score on 2nd game screen ** +streakng: +streaknga: +0:4288:3:00:00 +0:5180:1:40:40 +0:51a0:1:40:40 +0:51c0:1:40:40 +0:51e0:1:40:40 +0:5200:1:40:40 +0:5230:1:10:10 + +galivan2: +galivan3: +galivan: +0:e14f:82:00:20 +0:e28e:3:00:00 + +dangar: +dangar2: +dangarb: +0:e209:82:00:20 +0:e394:3:00:00 + +ninjemak: +0:e469:41:00:20 +0:e4ac:3:00:00 + +youma: +youmab: +youmab2: +youma2: +0:e469:41:00:3f +0:e4ac:3:00:00 + +fantasia: +fantasiaa: +fantasiab: +fantasian: +0:c825b6:63:30:20 + +galspnbl: +0:701780:32:00:00 +0:700007:1:a3:a3 + +gaplus: +gapluso: +galaga3m: +gaplusa: +galaga3: +galaga3c: +gaplusd: +galaga3a: +galaga3b: +gaplust: +0:03ED:08:30:20 +0:0900:A0:20:00 +0:09b6:03:00:00 + +gberet: +rushatck: +gberetb: +mrgoemon: +0:d900:3C:03:13 +0:db06:03:03:00 + +gbusters: +crazycop: +gbustersa: +0:4100:38:19:00 +0:4050:4:00:00 + +geebee: +geebeeg: +geebeeb: +0:4046:3:00:00 + +gradius3: +gradius3a: +gradius3e: +gradius3j: +gradius3js: +0:43f00:64:00:08 +0:40058:4:00:00 +0:4005a:1:73:73 + +grobda: +grobda2: +grobda3: +0:1b00:a0:20:00 +0:0951:04:00:00 + +gunsmoke: +gunsmokeu: +gunsmokeub: +gunsmokeb: +gunsmokeua: +0:e680:50:00:14 +0:e600:8:00:00 + +gunsmokej: +0:e680:50:00:18 +0:e600:8:00:00 + +hcastle: +hcastleo: +hcastljo: +hcastlej: +akumajou: +hcastlek: +akumajoun: +hcastlee: +0:1940:3c:05:1a + +hexa: +hexaa: +0:c709:2:00:00 + +roadf: +roadf2: +0:3bd0:10a:01:01 +0:3066:3:01:00 + +ironhors: +dairesya: +farwest: +0:32f1:3:02:00 +0:3300:40:23:00 + +ninclown: +0:8d:4e:00:44 + +jack: +jack2: +jack3: +treahunt: +0:4500:5a:00:41 + +jailbrek: +jailbrekb: +manhatan: +0:1620:50:00:11 +0:157e:3:00:30 + +junofrst: +junofrstg: +0:8100:a0:01:3f + +diamond: +0:1200:80:4b:00 + +reactor: +0:04d8:80:0a:00 +0:05bc:80:12:00 + +gyruss: +gyrussce: +gyrussb: +0:9488:28:00:83 +0:940b:03:00:01 + +berlwall: +berlwallt: +berlwallk: +0:2028a0:93:00:47 + +kchamp: +karatedo: +kchampvs: +karatevs: +kchampvs2: +0:c040:6c:02:01 +0:c0c0:3:02:00 + +kingofb: +0:C22A:04:00:05 +1:8048:8C:00:12 + +ringking: +ringking2: +1:8049:8C:00:12 +0:C23B:04:00:05 + +cavenger: +0:6025:41:00:28 + +snapjack: +0:6a94:41:01:24 + +lasso: +0:0220:70:11:30 +0:001c:3:00:00 + +lastduel: +lastduelo: +lastduelb: +0:ff87e2:4:00:00 +0:ffc6f2:68:c7:00 +0:fcc76d:1:20:20 +0:fcc7ed:1:20:20 +0:fcc86d:1:20:20 +0:fcc8ed:1:02:02 +0:fcc96d:1:00:00 +0:fcc9ed:1:00:00 +0:fcca6d:1:00:00 +0:fccaed:1:00:00 + +madgear: +madgearj: +ledstorm: +0:ff8890:78:00:00 +0:ffcb76:23:02:00 +0:ff87c9:1:d2:d2 + +ledstorm2: +leds2011u: +leds2011: +0:ff8890:78:00:00 +0:ffcb76:23:41:01 +0:ff87c9:1:d2:d2 + +jungler: +junglers: +savanna: +jackler: +0:9940:a0:00:5b +0:991c:3:00:02 + +commsega: +0:9c6d:6:00:00 + +avengers: +avengers2: +0:ce00:54:00:47 +0:ce97:3:00:60 + +buraiken: +buraikenb: +0:ce00:5b:00:2e +0:ce97:3:00:60 + +lwings: +lwings2: +lwingsj: +lwingsb: +0:ce00:5b:00:2e +0:ce97:d:00:00 + +trojanr: +trojan: +trojanj: +trojana: +trojanb: +0:ce00:5b:00:2e +0:ce97:3:00:60 + +kungfum: +kungfumd: +kungfub: +kungfub2: +spartanx: +spartanxtec: +0:ea06:78:00:41 +0:e980:3:52:00 + +battroad: +0:ed50:b0:00:08 + +spelunk2: +0:e066:64:99:3f +0:e04f:2:99:11 + +lotlot: +0:e96b:226:02:00 +0:e956:3:02:17 + +ldrun: +ldruna: +0:e5e5:c8:01:04 +0:e59a:3:04:40 + +ldrun2: +ldrun3: +ldrun3j: +0:e6bd:c8:00:05 +0:e672:3:00:80 + +ldrun4: +0:e735:c8:00:06 +0:e6ea:3:00:70 + +airduel: +0:a3d4e:82:15:20 + +ripoff: +0:e0:8:00:00 + +hharry: +0:a09a0:9f:00:20 +0:a0a40:03:00:00 + +hharryu: +0:e09a0:9f:00:20 +0:e0a40:03:00:00 + +dkgensan: +0:e09a0:9f:40:20 +0:e0a40:3:40:02 + +imgfight: +imgfighto: +imgfightj: +0:a334f:78:09:20 + +majtitle: +majtitlej: +0:d2ba4:9b:4b:17 + +nspirit: +nspiritj: +0:a3930:78:45:4f +0:a39ba:03:45:00 + +poundfor: +poundforu: +poundforj: +0:e2502:28:10:00 +0:e252a:28:35:00 +0:e2552:28:42:00 +0:e257a:28:00:00 +0:e25a2:28:11:00 +0:e25ca:28:59:00 +0:e25f2:28:68:00 +0:e261a:28:70:00 +0:e2642:28:57:00 +0:e266a:28:41:00 + +rtype2: +rtype2j: +rtype2jc: +0:e3834:82:00:41 +0:e38c2:7:f3:30 +0:d0178:1:f3:f3 +0:d017c:1:31:31 +0:d0180:1:37:37 +0:d0184:1:34:34 +0:d0188:1:35:35 +0:d018c:1:30:30 +0:d0190:1:30:30 + +rtype2m82b: +0:d3848:6e:00:41 + +m79amb: +0:4008:1:00:00 + +bombrman: +0:a0b1b:8c:03:63 +0:a0bfe:3:40:00 + +hooku: +hook: +0:ea6ad:ec:00:4f + +rtypeleo: +rtypeleoj: +0:e221e:38:40:20 +0:e2256:3:40:01 +0:dc148:1:20:20 +0:dc14c:1:31:31 +0:dc150:1:32:32 +0:dc154:1:38:38 +0:dc158:1:34:34 +0:dc15c:1:30:30 +0:dc160:1:30:30 + +lastfort: +lastforte: +lastfortk: +lastfortea: +0:40db1a:0a:01:64 + +lastfortg: +0:c0db1a:0a:01:64 + +bbmanwj: +bbmanw: +bomblord: +bbmanwja: +0:a0b36:6a:02:2e + +dynablst: +atompunk: +dynablstb: +0:a0b2c:8f:03:03 +0:a0c0f:3:40:00 + +magix: +0:f800:80:00:2e +0:f888:3:00:01 + +magmax: +0:18ce0:46:00:00 +0:18d2e:4:00:00 +0:18d23:1:35:35 + +devstors: +0:41c4:2e:01:01 + +digdug2: +digdug2o: +0:11b0:50:00:01 +0:100b:3:00:00 +0:7ed:7:30:20 + +motos: +0:2400:a0:20:00 +0:1831:4:00:00 + +todruaga: +todruagb: +todruagao: +todruagas: +0:102a:32:00:45 +0:100b:3:00:00 + +marineb: +0:8979:6:24:24 +0:8999:6:00:00 + +springer: +0:8afa:5:00:00 +0:8b1a:5:00:00 +0:8b3a:5:02:02 +0:8b5a:5:00:00 +0:8b7a:5:00:00 +0:8b9a:5:00:00 +0:8bba:5:00:00 + +hoccer: +0:8550:32:00:01 +0:85ca:6:00:00 + +hoccer2: +0:8550:2d:00:29 +0:85ca:6:00:00 + +hopprobo: +0:805f:19:00:00 +0:8078:1e:1c:0e +0:89be:1:00:00 +0:89de:1:01:01 +0:89fe:1:06:06 +0:8a1e:1:07:07 +0:8a3e:1:00:00 + +mario: +masao: +marioj: +marioo: +marioe: +mariobl: +0:6b00:aa:97:74 +0:6c00:3c:00:00 +0:6823:3:01:00 + +matmania: +excthour: +0:0700:50:00:b0 +0:0028:3:00:00 + +maniach: +maniach2: +0:052b:3c:00:c6 +0:0028:3:00:00 + +destderb: +0:e4e4:ce:01:00 +0:e7f7:1:76:76 + +archrivl: +0:62cf1:319:09:05 +0:61ed5:1:03:03 + +archrivl2: +archrivla: +archrivlb: +0:62ce3:319:09:05 +0:61ed5:1:03:03 + +blasted: +0:61d7f:2f:54:75 + +zwackery: +0:842c2:48:42:00 + +64street: +64streej: +0:ff8843:74:00:43 + +avspirit: +0:79df2:53:00:54 + +chimerab: +0:ff8850:a7:00:00 + +p47: +p47j: +p47je: +0:f1800:78:00:4f + +phantasm: +0:ff9dee:53:00:54 + +plusalph: +0:f2f36:168:00:43 + +rodland: +0:f60fc:226:00:01 +0:f3030:14:00:00 + +rodlandj: +rodlandjb: +0:f60fa:226:00:01 +0:f302e:13:00:00 + +rittam: +0:f68fc:226:00:01 +0:f3d3e:14:00:df + +skyalert: +0:c0e340:5c:00:08 + +mikie: +mikiej: +mikiehs: +0:2a00:01:1d:1d +0:2a01:01:2c:2c +0:2a02:01:1f:1f +0:2a03:01:00:00 +0:2a04:01:01:01 +0:2a05:28:00:00 +0:29f0:04:00:00 +0:297c:04:00:00 + +block: +blockr2: +blockr1: +blockj: +blockbl: +blockjoy: +0:e0f0:50:54:85 + +mnight: +0:c099:41:00:20 +0:c0e6:3:00:00 + +arkarea: +0:d45c:42:46:30 +0:c040:3:00:00 + +mole: +00:02E1:0A:00:05 +00:0375:50:19:00 + +mpatrol: +mpatrolw: +mranger: +0:e008:2c:00:00 + +mrdo: +mrdot: +mrdofix: +mrlo: +mrdu: +mrdoy: +yankeedo: +0:e017:64:01:00 + +blastoff: +0:4160:91:00:47 +0:4030:4:00:00 +0:400e:1:fe:fe + +dangseed: +0:053f:a0:01:01 +0:0527:4:00:00 + +dspirit: +dspirit1: +dspirit2: +0:4092:32:00:01 +0:40d0:3:00:00 + +galaga88: +galag88b: +galaga88j: +galaga88a: +0:4a0d:6:00:00 +0:4b75:60:00:01 + +quester: +0:360:50:00:60 +0:130:4:00:00 + +rompers: +romperso: +0:401:4f:00:01 +0:143:3:00:88 +0:13a:8:00:00 + +assault: +assaultj: +assaultp: +0:101800:4d:00:20 +0:100058:4:00:00 + +cosmogng: +cosmogngj: +0:10a003:f7:01:0d +0:10080e:3c:00:70 + +rthun2: +rthun2j: +0:1066e8:64:00:4f +0:100020:4:00:00 + +hopmappy: +0:4c41:3:00:00 +0:4ca0:81:00:62 +0:209e:1:2e:2e +0:20a0:1:2e:2e +0:20a2:1:08:08 +0:20a4:1:00:00 +0:20a6:1:00:00 +0:20a8:1:00:00 + +rthunder: +rthunder1: +rthunder2: +rthunder0: +rthundera: +0:5400:23:00:12 +0:5450:3:00:00 + +citybomb: +citybombj: +0:80700:50:00:22 +0:8005c:4:00:00 +0:80156:2e:01:50 + +konamigt: +0:60105:1:00:00 +0:60106:2:10:00 +0:61480:328:4a:01 + +gradius: +0:195f0:8c:00:00 +0:70098:4:00:00 +0:7009a:1:73:73 + +salamand: +salamandj: +lifefrce: +lifefrcej: +0:085000:64:00:16 +0:08005a:4:00:00 + +darius2: +0:c216e:44b:00:20 + +darius2d: +darius2do: +sagaia: +0:1010fa:44b:00:20 + +naname: +0:70e810:4f:4e:00 + +ohmygod: +0:704440:e8:01:00 +0:705900:4:00:00 + +robokid: +0:e0a4:f:00:00 +0:e0b3:f:46:49 +0:e0d0:4:00:00 + +robokidj: +robokidj2: +robokidj3: +0:e0a4:41:00:20 +0:e0f3:3:00:00 + +omegrace: +deltrace: +0:43a9:7e:50:48 +0:4be8:1:08:08 + +crush: +maketrax: +maketrxb: +korosuke: +0:4C80:03:00:00 +0:4E40:1E:4B:00 + +crush2: +crush3: +mbrush: +paintrlr: +crushbl2: +crushs: +crushbl3: +0:43D2:02:49:48 +0:4C80:03:00:00 + +crush4: +0:4c80:3:00:00 +0:4c83:1:04:04 + +crushbl: +0:4e40:2e:48:00 +0:4c80:3:00:00 + +mrtnt: +gorkans: +0:4cb3:3c:4c:01 +0:43ed:6:00:40 + +pingpong: +0:94b1:3c:02:23 +0:949e:3:02:00 +0:846d:6:10:00 + +phozon: +phozons: +0:1409:30:00:59 +0:105d:3:00:00 +0:03ee:7:30:20 + +pkunwar: +pkunwarj: +0:c187:3c:00:00 +0:c1d6:2:00:20 +0:c1d8:1:00:00 + +pooyan: +pooyans: +pootan: +0:89c0:1e:00:00 +0:8a00:1e:00:01 +0:8e00:1e:00:00 +0:88a8:3:00:01 + +pow: +powj: +0:43e8e:4:00:00 +0:41910:2:00:01 +0:41912:4E:00:00 + +gunbird: +gunbirdj: +gunbirdk: +0:fe3dd0:75:00:2d + +sngkace: +sngkacea: +0:fe7d88:9e:00:04 + +psychic5: +psychic5a: +psychic5j: +0:fd00:30:00:59 +0:fc84:3:00:53 + +punchout: +punchita: +punchoutj: +punchouta: +0:d660:50:41:04 + +spnchout: +spnchoutj: +0:d5c0:f0:21:04 + +qwakprot: +qwak: +0:0045:3:00:00 +0:0108:3:4d:43 + +raidenb: +0:000c27:b3:50:2e + +raidenua: +0:000c47:b3:50:2e + +raidena: +raident: +raiden: +raidenk: +raidenu: +0:000bd7:b4:50:00 + +rallyx: +rallyxa: +rallyxm: +nrallyx: +nrallyxb: +rallyxmr: +0:8060:8:00:02 + +renegade: +0:101b:28:00:4c +0:2e:3:00:05 + +fantasy: +fantasyj: +0:0025:3:00:00 +0:0220:30:11:30 + +rocnrope: +rocnropek: +ropeman: +0:5160:40:01:00 +0:50A6:03:01:00 + +fightrol: +rollrace: +rollace: +0:c060:3e:00:11 +0:c026:3:00:00 + +rpunch: +0:ffe01:73:00:17 + +rabiolep: +0:ffe01:77:00:80 + +armorcar: +armorcar2: +0:8113:3c:02:50 + +rescue: +aponow: +0:80f3:3c:01:4d + +rescuefe: +0:06f3:3c:01:4d + +scobra: +scobras: +scobrab: +scobrase: +scobrae: +0:8200:1e:00:01 +0:80a8:03:00:01 + +spdcoin: +0:80ce:687:25:00 +0:8a42:1:00:00 +0:8a62:1:00:00 +0:8a82:1:00:00 +0:8aa2:1:00:00 +0:8ac2:1:00:00 +0:8ae2:1:00:00 +0:8b02:1:00:00 + +stratgyx: +stratgys: +strongx: +0:80a8:3:00:00 +0:81c0:1e:00:00 +0:81dc:1:13:13 + +atlantis: +atlantis2: +atlantisb: +0:403d:2c:00:00 + +cavelon: +0:42ff:4:00:00 +0:4304:0d:00:15 + +scramble: +scrambls: +scramblb: +scramblebf: +scramblebb: +bomber: +scrambles2: +scrambler: +scrambp: +scrampt: +scramrf: +scramce: +0:4200:1e:00:01 +0:40a8:03:00:01 + +explorer: +0:4200:1e:49:01 +0:40a8:03:00:01 + +mars: +0:4200:12:00:01 +0:40a8:3:00:01 +0:4a41:1:10:10 +0:4a21:1:01:01 +0:4a01:1:00:00 +0:49e1:1:00:00 +0:49c1:1:00:00 +0:49a1:1:00:00 + +theend: +theends: +0:43c0:0f:00:00 +0:40a8:03:00:00 + +spacfury: +spacfurya: +0:c924:3d:90:00 +0:cfd2:1e:00:09 + +startrek: +0:c910:72:25:31 +0:c98b:1b:53:50 + +tacscan: +0:cb44:0f:4d:48 +0:cb95:0f:02:00 + +borench: +borencha: +0:fff410:44:4d:05 + +puyopuyo: +puyo: +puyoj: +puyoja: +puyobl: +puyopuya: +puyopuyb: +0:fffce2:4c:13:98 + +puyopuy2: +0:ff4830:4c:53:98 + +tfrceac: +tfrceacb: +tfrceacj: +0:ff8100:e4:00:09 +0:fff1ac:4:00:10 + +pignewt: +0:cfd2:1e:57:4e +0:ce0c:61:12:60 + +pignewta: +0:cfd2:1e:57:4e +0:ce0c:61:02:60 + +radrad: +0:7802:3:02:00 +0:91ba:6:24:00 + +senjyo: +0:8060:3:00:00 +0:8080:38:00:06 +0:9261:1:24:24 +0:9241:1:24:24 +0:9221:1:24:24 +0:9201:1:24:24 +0:91e1:1:24:24 +0:91c1:1:24:24 +0:91a1:1:00:00 +0:9181:1:00:00 + +arbalest: +0:f018cd:8b:00:14 + +eightfrc: +0:20c526:5f:00:43 +0:20c5bf:1:7a:7a + +oisipuzl: +0:20d25f:4e:00:16 + +metafox: +0:f014e6:8c:00:14 + +tndrcade: +tndrcadej: +0:e00301:96:00:2e + +thunderl: +thunderlbl: +0:ffe108:cc:00:41 + +twineagl: +0:ffc09c:3b:00:2e + +wrofaero: +0:3006a4:71:00:3f + +zingzip: +0:2028fd:69:00:a2 + +kicker: +shaolins: +shaolinb: +0:2af1:2:02:58 +0:2af3:1:00:00 +0:2b00:3e:1d:01 +0:2b3e:2:00:00 + +sharkatt: +0:806e:50:30:20 + +dyger: +dygera: +0:c0d0:23:37:06 +0:c086:2:37:37 + +sidepckt: +sidepcktb: +sidepcktj: +0:a0e:32:11:54 + +skyfox: +0:de00:a:00:00 +0:df00:23:00:00 + +exerizerb: +exerizer: +0:de00:a:00:00 +0:df00:28:00:00 +0:D356:1:A0:A0 +0:D35A:1:A0:A0 +0:D35E:1:A0:A0 +0:D362:1:A0:A0 +0:D366:1:00:00 +0:D36A:1:00:00 + +aso: +0:d83b:82:00:20 +0:e777:3:00:00 + +arian: +0:d83b:82:00:20 +0:ee77a:3:00:00 + +fitegolf: +fitegolf2: +fitegolfu: +0:ff70:50:53:14 + +tnk3: +tnk3j: +0:fed1:82:13:20 +0:fc59:3:00:00 + +victroad: +dogosoke: +dogosokb: +0:ff2c:50:00:55 +0:fc5f:3:00:00 + +gwar: +gwarj: +gwara: +gwarb: +0:e4b9:50:00:52 +0:e3ae:3:00:00 + +bermudat: +bermudatj: +0:febe:50:00:4f +0:e3ce:3:00:00 + +bermudata: +0:fec2:50:00:20 +0:e3ce:3:00:00 + +worldwar: +0:fec2:50:00:44 +0:e3ce:3:00:00 + +psychos: +psychosj: +0:dd05:f5:31:ff +0:fe66:3:00:00 + +chopper: +legofair: +choppera: +chopperb: +0:e4c5:3c:00:4b +0:e462:3:00:00 + +tdfever: +tdfeverj: +tdfever2: +0:df28:28:c5:00 + +fsoccer: +0:e349:14:48:01 + +sonson: +sonsonj: +0:d8:4:00:00 +0:300:64:00:1d + +solomon: +solomonj: +0:ca4c:5a:50:01 + +srumbler: +srumbler2: +rushcrsh: +srumbler3: +0:1c94:70:54:f2 +0:aa:4:00:00 + +esb: +0:4b3f:af:0f:90 + +spdodgeb: +nkdodge: +nkdodgeb: +0:83:3:00:00 + +ballbros: +0:f00ebe:63:00:20 + +twinhawk: +twinhawku: +daisenpu: +0:f00132:40:00:aa + +gigandes: +0:f00a86:57:00:4e +0:f00964:4:00:00 + +gigandesa: +0:f00a86:53:00:52 +0:f00964:4:00:00 + +superpac: +superpacm: +0:1138:28:00:20 +0:1087:3:00:00 +0:3ee:7:30:20 + +pacnpal: +pacnchmp: +pacnpal2: +0:104c:28:00:23 +0:116d:3:00:00 +0:3ed:7:00:24 + +sqixbl: +0:f4c0:28:00:03 +0:f8f1:4:75:00 + +4dwarrio: +0:d300:a0:00:20 +0:c017:3:00:02 + +chopliftu: +chplftbl: +choplift: +chopliftbl: +0:ef00:31:00:4b +0:ef71:4:00:00 + +hvymetal: +0:d300:38:00:59 +0:c00c:3:00:00 + +myhero: +0:d300:3c:00:49 +0:c017:3:00:00 + +myherok: +sscandal: +myherobl: +0:d300:a0:00:20 +0:c017:3:00:00 + +swat: +0:d300:3c:00:49 +0:c014:3:00:02 + +wboy: +wboy2: +wboy3: +wboy4: +wboy4u: +wbdeluxe: +wboyo: +wboy2u: +wboy5: +0:c100:140:20:20 +0:e856:f:01:10 + +wboysys2: +0:c100:140:20:20 +0:e056:f:01:10 + +wbmljo: +wbmljb: +wbml: +wbmlbg: +wbmlbge: +wbmlvc: +wbmld: +wbmljod: +wbmlvcd: +0:c101:1:24:24 +0:072f:1:03:03 +0:c179:1:00:00 +0:c17a:1:00:00 +0:c17b:1:00:00 +0:c17c:1:00:00 +0:c17d:1:03:03 +0:c17e:1:00:00 +0:c17f:1:00:00 +0:c180:1:00:00 + +wbmlb: +0:c179:8:00:00 +0:c17d:1:03:03 + +aburner: +0:ff846e:117:00:00 +0:ff857f:1:4f:4f + +aburner2: +0:ff846e:117:00:00 +0:ff846f:1:70:70 + +fantzone: +fantzoneta: +0:fffc00:38:00:52 +0:ffc22c:4:00:00 + +fantzono: +fantzonep: +fantzonepr: +fantzone1: +0:fffc00:38:00:95 +0:ffc22c:4:00:00 + +hwchamp: +hwchampj: +hwchampjd: +0:fff400:318:10:00 + +tetrisbl: +0:ffe800:64:45:08 + +tetrist: +0:8045ac:64:45:08 + +tetrista: +0:8023ac:64:45:08 + +tetris2: +tetris3: +tetris: +tetris1: +tetris1d: +tetris2d: +tetris3d: +tetrisd: +0:ffe800:64:45:08 + +timscanr: +timescn: +0:ffc036:1:00:00 +0:ffc037:2:01:20 +0:ffc039:1:00:00 +0:fff750:46:00:00 + +tail2nos: +sformula: +sformulaa: +0:ff89c4:130:0a:00 +0:ff8b05:f:40:00 + +alpine: +alpinea: +0:8082:3:00:00 +0:c5be:1:25:25 +0:c5de:1:25:25 +0:c5fe:1:05:05 +0:c61e:1:00:00 +0:c63e:1:00:00 +0:c65e:1:00:00 + +elevator: +elevatorb: +0:8350:3:00:01 + +frontlin: +0:8640:3:01:00 +0:c5be:1:00:00 +0:c5de:1:01:01 +0:c5fe:1:00:00 +0:c61e:1:00:00 +0:c63e:1:00:00 +0:c65e:1:00:00 + +hwrace: +0:80c0:3:00:00 +0:80c1:1:50:50 + +junglek: +jungleh: +junglehbr: +junglekj2: +jungleby: +junglekas: +0:816b:1:00:00 +0:816c:1:50:50 +0:816d:1:00:00 + +piratpet: +0:816c:1:00:00 +0:816d:1:50:50 +0:816e:1:00:00 + +tinstar: +tinstar2: +0:835d:1:00:00 +0:835e:1:01:01 +0:835f:1:00:00 + +wwestern: +wwestern1: +0:8630:5c:01:ba +0:c5be:2:00:1d +0:c5de:2:01:0a +0:c5fe:2:00:12 +0:c61e:2:00:1d +0:c63e:2:00:18 +0:c65e:1:00:00 + +ashura: +ashuraj: +0:6019f4:64:00:19 +0:6012a2:2:00:00 +0:6012a4:2:10:00 + +crimec: +crimecj: +crimecu: +0:a02fba:4:00:00 +0:a0e005:4af:54:00 + +selfeena: +0:10338e:3a:41:00 +0:102481:1:19:19 +0:102483:1:0c:0c + +spacedx: +spacedxj: +0:902701:3:00:00 +0:90ff9b:1:37:37 + +spcinvdj: +0:404f73:3:00:00 + +deadconx: +deadconxj: +0:10335a:59:00:47 + +dondokod: +dondokodu: +dondokodj: +0:1028e8:28:00:55 + +gunfront: +gunfrontj: +0:10922c:54:00:30 +0:10922e:1:c3:c3 + +liquidk: +liquidku: +mizubaku: +0:10B0FE:28:00:55 + +metalb: +metalbj: +0:10e3aa:28:00:04 +0:10d0b0:4:00:50 + +ssi: +ssia: +0:205814:31:00:5a +0:203606:4:00:00 + +majest12: +majest12j: +majest12u: +0:205812:31:00:5a +0:203606:4:00:00 + +arkretrn: +arkretrnj: +arkretrnu: +0:401a1a:27:00:17 + +bubblem: +bubblemj: +0:40f2ec:10e:00:08 +0:407135:3:27:13 +0:40eb04:50:00:00 + +bublbob2o: +bubsymphj: +bubsymphu: +bubsymphe: +bubsymphb: +bublbob2: +0:40ed6c:96:00:07 +0:40ed8d:1:06:06 +0:40ea20:84:00:00 + +gseeker: +gseekerj: +gseekeru: +0:4107ba:50:00:f8 +0:40d176:4:00:50 + +gunlock: +rayforce: +rayforcej: +0:40eff4:40:41:00 +0:4022fa:4:01:00 + +fhawk: +fhawkj: +0:a2fe:50:50:2e +0:a24e:3:50:00 + +palamed: +0:8206:2e:20:52 + +plgirls2: +plgirls2b: +0:81e0:35:00:05 + +tankbatt: +tankbattb: +0:00c3:02:00:00 + +rygar: +rygar2: +rygarj: +rygar3: +0:c983:1c4:41:0 +0:c023:2:0:0 +0:c025:1:03:03 +0:c026:1:0:0 +0:d06c:8:1:60 + +silkworm: +silkwormj: +0:d262:64:00:10 +0:c848:18:20:30 +0:d54e:4:00:00 +0:d572:4:00:00 + +terracren: +terracre: +terracrea: +terracreo: +0:20246:46:00:00 +0:2028c:4:00:00 +0:20248:1:50:50 + +fitter: +roundup: +fitterbl: +ttfitter: +0:8050:03:00:00 +0:9621:01:24:24 +0:9601:01:24:24 +0:95E1:01:24:24 +0:95C1:01:24:24 +0:95A1:01:24:24 +0:9581:01:00:00 + +machomou: +0:804a:3:00:00 +0:9181:1:00:00 +0:91a1:1:24:24 +0:91c1:1:24:24 +0:91e1:1:24:24 +0:9201:1:24:24 +0:9221:1:24:24 + +suprmous: +0:804A:03:00:00 +0:9221:01:24:24 +0:9201:01:24:24 +0:91E1:01:24:24 +0:91C1:01:24:24 +0:91A1:01:24:24 +0:9181:01:00:00 + +thief: +0:8abc:49:30:20 + +scontra: +scontraj: +0:4100:50:11:00 +0:4050:1:00:00 +0:4051:3:01:00 + +chukatai: +chukataij: +chukataiu: +0:ed8c:46:00:42 +0:e210:3:00:75 + +drtoppel: +drtoppelu: +drtoppelj: +0:e057:23:00:25 +0:e023:3:00:00 + +insectx: +insectxj: +0:c600:50:00:00 +0:c6ea:3:00:21 + +plumppop: +0:c625:27:00:52 +0:e471:3:00:00 + +tnzs2: +0:ec0a:23:00:55 + +hellfire1: +hellfire3: +hellfire1a: +0:42130:c2:00:08 +0:421e9:1:14:14 +0:42357:21:2e:30 + +hellfire: +hellfire2: +hellfire2a: +0:42300:c2:00:08 +0:423b9:1:14:14 +0:42529:21:2e:30 + +rallybik: +0:801ac:324:00:40 +0:8053d:1:17:17 +0:80555:1:04:04 +0:8056d:1:00:00 +0:80585:1:00:00 +0:8059d:1:00:00 +0:805b5:1:00:00 + +truxton: +0:0819de:16c:00:0b +0:81c53:1:2d:2d +0:81c57:1:2d:2d +0:81c5b:1:2d:2d +0:81c5f:1:2d:2d +0:81c63:1:05:05 +0:81c67:1:00:00 +0:81c6b:1:00:00 +0:81c6f:1:00:00 +0:81c73:1:00:00 + +samesame: +0:c1778:194:00:01 +0:c18b9:1:26:26 +0:c1a4f:21:2d:00 + +samesame2: +0:c1ada:194:00:01 +0:c1c25:1:26:26 +0:c1dc1:21:2d:00 + +zerowingw: +zerowing: +0:81a1e:68:00:10 +0:81a20:1:50:50 + +grindstm: +0:100500:90:00:00 +0:10057f:1:2d:2d +0:10043c:4:00:00 + +grindstma: +0:1004fc:90:00:00 +0:10057b:1:2d:2d +0:100438:4:00:00 + +vfive: +0:1004fa:90:00:00 +0:100436:4:00:00 +0:100579:1:2d:2d + +pipibibs: +pipibibsbl: +pipibibsa: +pipibibsp: +0:0805d8:1:00:00 +0:0805d9:3:05:00 +0:0805e4:46:00:FF + +whoopee: +0:0805da:1:00:00 +0:0805db:3:05:00 +0:0805e6:46:00:FF + +snowbro2: +snowbro2b: +0:1000a0:28:00:45 + +truxton2: +tatsujn2: +0:100300:7c:00:01 + +topspeed: +topspeedu: +fullthrl: +0:400080:6b:00:99 +0:400081:1:45:45 + +liblrabl: +0:0867:04:00:00 +0:0874:3B:00:17 + +toypop: +0:09b2:50:00:20 +0:0849:3:00:00 + +alphaxz: +0:c26e:7b:00:2d +0:c220:3:00:00 +0:E241:1:20:20 +0:E221:1:20:20 +0:E201:1:39:39 +0:E1E1:1:30:30 +0:E1C1:1:30:30 +0:E1A1:1:30:30 +0:E181:1:30:30 + +m660: +m660b: +m660j: +0:c270:7b:00:2d +0:c220:3:00:00 +0:E241:1:20:20 +0:E221:1:20:20 +0:E201:1:39:39 +0:E1E1:1:30:30 +0:E1C1:1:30:30 +0:E1A1:1:30:30 +0:E181:1:30:30 + +tumblep: +tumbleb: +tumbleb2: +tumblepj: +tumblepba: +0:123c10:a0:44:50 +0:123c01:3:00:00 + +tutankhm: +tutankhms: +0:88a9:31:03:01 +0:88a6:3:03:40 + +fround: +hpuncher: +froundl: +1:40070:4:01:00 +1:40300:50:4a:00 + +vulcan: +gradius2: +gradius2a: +gradius2b: +vulcana: +vulcanb: +0:600a1:63:22:30 +0:60058:4:00:30 +0:60008:1:1d:1d + +fshark: +fsharkbt: +skyshark: +hishouza: +fsharkbla: +fnshark: +skysharka: +0:3016a:16c:00:01 +0:3038d:1:2d:2d +0:3038f:1:2d:2d +0:30391:1:2d:2d +0:30393:1:03:03 +0:30395:1:00:00 +0:30397:1:00:00 +0:30399:1:00:00 +0:3039b:1:00:00 + +ktiger: +0:31280:16c:00:01 +0:3148f:1:2d:2d +0:31491:1:2d:2d +0:31493:1:2d:2d +0:31495:1:03:03 +0:31497:1:00:00 +0:31499:1:00:00 +0:3149b:1:00:00 +0:3149d:1:00:00 + +twincobr: +twincobru: +0:315a2:16c:00:01 +0:317af:1:2d:2d +0:317b1:1:2d:2d +0:317b3:1:2d:2d +0:317b5:1:03:03 +0:317b7:1:00:00 +0:317b9:1:00:00 +0:317bb:1:00:00 +0:317bd:1:00:00 + +ultraman: +0:8ff00:64:01:08 + +vaportra: +vaportru: +kuhga: +vaportra3: +0:fff5d4:78:2e:00 +0:ffc024:4:00:00 + +vendetta: +vendettar: +vendetta2p: +vendetta2pu: +vendetta2pd: +vendettaj: +vendetta2peba: +vendettaz: +0:2980:28:00:48 + +digger: +0:8386:b:53:00 + +vulgusa: +0:EE00:41:00:20 +0:EE47:03:00:00 + +vulgus: +vulgusj: +0:EE00:41:00:2E +0:EE47:03:00:00 + +hotchase: +hotchasea: +0:610b0:50:00:0d +0:60034:4:00:00 + +wiping: +0:906f:82:03:54 + +rugrats: +0:906f:82:10:54 + +scion: +0:c070:50:00:1e +0:d062:7:10:00 + +scionc: +0:c070:50:00:10 +0:d062:7:10:10 + +stinger: +stinger2: +0:c031:1e:00:00 +0:c079:6:00:00 +0:c200:13:1d:23 + +wiz: +wizt: +wizta: +0:c01e:32:00:43 + +xexexa: +xexex: +xexexj: +orius: +0:85000:63:00:1c +0:80057:3:00:30 + +xmen: +xmen2p: +xmenj: +xmen2pj: +xmen6pu: +xmen6p: +xmen2pa: +xmen2pe: +xmene: +xmena: +xmenaa: +xmen2pu: +0:113300:168:00:10 + +xybots: +0:ffac22:ca:00:a4 + +10yard: +10yardj: +vs10yard: +vs10yardj: +10yard85: +vs10yardu: +0:e600:8a:00:4a +0:e008:3:00:03 + +yiear: +0:5520:8c:00:10 +0:521c:3:00:40 + +yiear2: +0:5520:8c:00:10 +0:521c:3:00:70 + +yieartf: +0:2d20:8c:00:10 +0:2a1c:3:00:40 + +jackrabt: +jackrabt2: +jackrabts: +0:73ba:48:0a:00 +0:727d:3:00:00 +0:605e:1:00:00 +0:607e:1:00:00 +0:609e:1:ff:ff +0:60be:1:ff:ff +0:60de:1:ff:ff +0:60fe:1:ff:ff + +zaxxon: +zaxxon2: +zaxxonb: +szaxxon: +zaxxonj: +zaxxon3: +0:6100:7e:90:81 +0:6038:3:00:00 + +futspy: +0:6419:3c:00:41 + +razmataz: +0:66a4:1e:00:00 +0:6739:3c:25:3e + +spiders: +spiders2: +0:1c13:3:0:0 +0:1e42:f:0:0 + +spiders3: +0:1c12:3:00:00 +0:1e41:f:00:00 + +zerozone: +0:c17cd:77:53:00 +0:c23da:6:00:00 + +zodiack: +0:5857:37:00:24 +0:b2df:1:00:00 +0:b2ff:1:00:00 +0:b31f:1:01:01 +0:b33f:1:02:02 +0:b35f:1:08:08 +0:b37f:1:00:00 +0:b39f:1:00:00 diff --git a/bios/Arcade/MAME/mame2003-plus/artwork/dotron.zip b/bios/Arcade/MAME/mame2003-plus/artwork/dotron.zip new file mode 100644 index 00000000..dcef1631 Binary files /dev/null and b/bios/Arcade/MAME/mame2003-plus/artwork/dotron.zip differ diff --git a/bios/Epic MegaGames/Jazz Jackrabbit 2/jazz2/Source/Plus.j2d b/bios/Epic MegaGames/Jazz Jackrabbit 2/jazz2/Source/Plus.j2d new file mode 100644 index 00000000..f9c47677 Binary files /dev/null and b/bios/Epic MegaGames/Jazz Jackrabbit 2/jazz2/Source/Plus.j2d differ diff --git a/emulators/2600-emu.yml b/emulators/2600-emu.yml index 654b1669..100178e3 100644 --- a/emulators/2600-emu.yml +++ b/emulators/2600-emu.yml @@ -5,7 +5,7 @@ source: "https://github.com/Rakashazi/emu-ex-plus-alpha" upstream: "https://github.com/stella-emu/stella" profiled_date: "2026-08-11" source_commit: "1c12fac5ce49badaadff2e2f210dcc30b89f4943" -upstream_commit: "d55b1aec0d067a4c901a6dcdf81cb8f579685659" +upstream_commit: "2c3d7023e9136f75c789803b44f119d8749dc104" core_version: "1.5.85" display_name: "Atari - 2600 (2600.emu)" mode: standalone diff --git a/emulators/a7800.yml b/emulators/a7800.yml index 6d01e419..57220562 100644 --- a/emulators/a7800.yml +++ b/emulators/a7800.yml @@ -5,6 +5,7 @@ source: "https://github.com/7800-devtools/a7800" upstream: "https://github.com/mamedev/mame" profiled_date: "2026-08-08" source_commit: "7a2afdc1ea08fc331b16b750d8c1f02d4ef62fc8" +upstream_commit: "61a222977fd29f22ce11fbea3f7c290fd7ced091" core_version: "5.2" display_name: "Atari - 7800 (A7800)" cores: diff --git a/emulators/advanced_drastic.yml b/emulators/advanced_drastic.yml index 53d58b56..541d8251 100644 --- a/emulators/advanced_drastic.yml +++ b/emulators/advanced_drastic.yml @@ -6,6 +6,7 @@ upstream: closed-source author: "trngaje (hooks), Exophase (DraStic)" profiled_date: "2026-10-22" source_commit: "eaf41ab9bc8adcc15c010bf9517bc94c38e7bffd" +pin_frozen: "KNULLI, the only platform that ships it, builds this revision (KNULLI package/emulators/advanced_drastic/advanced_drastic.mk:7 at tag 20260511). Later commits are not part of that build." core_version: "r2.5.2.0" display_name: "Nintendo - DS (advanced_drastic)" cores: diff --git a/emulators/advancemame.yml b/emulators/advancemame.yml index c7acd188..68ab36d1 100644 --- a/emulators/advancemame.yml +++ b/emulators/advancemame.yml @@ -3,8 +3,8 @@ type: standalone core_classification: enhanced_fork source: "https://github.com/amadvance/advancemame" upstream: "https://www.mamedev.org" -profiled_date: "2026-08-08" -source_commit: "21f8f6f79d8a9abe9f23b1a070841963774cf65d" +profiled_date: "2026-10-23" +source_commit: "ebe8322f87f699f0426757f542720f7b30e305cd" core_version: "5.0" mame_version: "0.106" display_name: "Arcade (AdvanceMAME)" @@ -36,6 +36,7 @@ systems: - atlus-zn1 - atari-zn1 - acclaim-zn1 + - videosystem-zn1 - hyper-neogeo64 - arcadia-systems - exidy-maxaflex @@ -46,12 +47,12 @@ systems: notes: | MAME 0.106 core (src/version.c:12) carrying its own video layer and driver - backports from later MAME releases. Twenty-six BIOS root sets, each a - NOT_A_DRIVER entry (src/driver.h:180) registered in src/mamedriv.c. - src/drivers/macs.c:613 declares a twenty-seventh, macs2bios, that + backports from later MAME releases. Twenty-seven BIOS root sets, each a + NOT_A_DRIVER entry (src/driver.h:180) registered in src/mamedriv.c, release + 5.0 having all but coh1002v, which came with the Video System PSX driver. + src/drivers/macs.c:613 declares a twenty-eighth, macs2bios, that src/mamedriv.c never registers, so no build reaches it and the five MACS - games all parent to macsbios. The set is unchanged between release 5.0 and - the profiled commit. + games all parent to macsbios. ROM archives are searched under dir_rom, defaulting to $home/rom:$data/rom on Linux and Mac OS X and to rom on DOS and Windows, in the forms @@ -78,17 +79,17 @@ notes: | The support files sit directly in $home or $data (advance/osd/fileio.c:81,88-90, advance/linux/file.c:249-256). A language file is read too, under whatever name misc_languagefile carries - (advance/osd/glue.c:715-716). The project ships none, English being built + (advance/osd/glue.c:855-856). The project ships none, English being built into the binary (src/ui_text.c:263-265). Samples and artwork are per-game archives under dir_sample and dir_artwork, ZIP only, named after the driver: WAV members for samples - (src/sound/samples.c:198-200), a .art layout and its PNGs for + (src/sound/samples.c:226-228), a .art layout and its PNGs for artwork (src/artwork.c:2119,2224). misc_historyfile and misc_infofile were retired and are discarded when found in a configuration file (advance/osd/emu.c:517-518), leaving history.dat and mameinfo.dat unread. options.controller is pinned to zero - (advance/osd/glue.c:708), so no controller file is read either. blitmax.dat, + (advance/osd/glue.c:848), so no controller file is read either. blitmax.dat, startup.dat and help.dat are compiled into the binary (advance/osd/video.c:1787,1795, advance/osd/ui.c:1575). @@ -105,9 +106,9 @@ files: source_ref: "src/hiscore.c:28,133-147,313, src/mame.c:1105-1106" note: >- High score definitions, selected by misc_hiscorefile - (advance/osd/glue.c:800,3293). Absent, hiscore_open matches no entry and + (advance/osd/glue.c:940,3473). Absent, hiscore_open matches no entry and no high score is restored or saved. support/hiscore.dat, installed by - MAME_INSTALL_DATAFILES (advance/advance.mak:29-31). is_mem_range reads + MAME_INSTALL_DATAFILES (advance/advance.mak:30-32). is_mem_range reads only "cpu:addr:len:start:end" lines under a "gamename:" header. - name: cheat.dat @@ -121,7 +122,7 @@ files: source_ref: "src/cheat.c:8682,8751" note: >- Cheat definitions, selected by misc_cheatfile - (advance/osd/glue.c:799,3291) and read only when misc_cheat is on, which + (advance/osd/glue.c:939,3471) and read only when misc_cheat is on, which it is not by default. Absent, the cheat menu reads "cheat database not found" (src/cheat.c:2536). Installed beside hiscore.dat by MAME_INSTALL_DATAFILES, and shipped in the 5.0 Windows zip and .deb. @@ -214,7 +215,7 @@ files: required: true category: bios_zip system: igs-pgm - source_ref: "src/drivers/pgm.c:3708-3719,5487" + source_ref: "src/drivers/pgm.c:4413-4424, src/drivers/pgm.c:6902" contents: - name: pgm_p01s.rom description: 68000 BIOS @@ -539,7 +540,7 @@ files: required: true category: bios_zip system: capcom-zn1 - source_ref: "src/drivers/zn.c:3127-3129,4513" + source_ref: "src/drivers/zn.c:3179-3181, src/drivers/zn.c:4607" contents: - name: coh-1000c.353 size: 524288 @@ -551,7 +552,7 @@ files: required: true category: bios_zip system: capcom-zn2 - source_ref: "src/drivers/zn.c:3362-3364,4531" + source_ref: "src/drivers/zn.c:3414-3416, src/drivers/zn.c:4625" contents: - name: coh-3002c.353 size: 524288 @@ -563,7 +564,7 @@ files: required: true category: bios_zip system: tecmo-tps - source_ref: "src/drivers/zn.c:3805-3807,4578" + source_ref: "src/drivers/zn.c:3857-3859, src/drivers/zn.c:4672" contents: - name: coh-1002m.353 size: 524288 @@ -575,7 +576,7 @@ files: required: true category: bios_zip system: taito-fx1 - source_ref: "src/drivers/zn.c:4040-4042,4603" + source_ref: "src/drivers/zn.c:4134-4136, src/drivers/zn.c:4703" contents: - name: coh-1000t.353 size: 524288 @@ -587,7 +588,7 @@ files: required: true category: bios_zip system: eighting-zn1 - source_ref: "src/drivers/zn.c:4312-4314,4630" + source_ref: "src/drivers/zn.c:4406-4408, src/drivers/zn.c:4730" contents: - name: coh-1002e.353 size: 524288 @@ -599,7 +600,7 @@ files: required: true category: bios_zip system: atlus-zn1 - source_ref: "src/drivers/zn.c:4483-4485,4642" + source_ref: "src/drivers/zn.c:4577-4579, src/drivers/zn.c:4742" contents: - name: coh-1001l.353 size: 524288 @@ -611,7 +612,7 @@ files: required: true category: bios_zip system: atari-zn1 - source_ref: "src/drivers/zn.c:4398-4400,4558" + source_ref: "src/drivers/zn.c:4492-4494, src/drivers/zn.c:4652" contents: - name: coh-1000w.353 size: 524288 @@ -623,13 +624,25 @@ files: required: true category: bios_zip system: acclaim-zn1 - source_ref: "src/drivers/zn.c:4421-4423,4567" + source_ref: "src/drivers/zn.c:4515-4517, src/drivers/zn.c:4661" contents: - name: coh-1000a.353 size: 524288 crc32: "8d8d0764" sha1: "7ee83d317190bb1cef2f8f01c81eaaae47150ebb" + # Video System PSX + - name: coh1002v.zip + required: true + category: bios_zip + system: videosystem-zn1 + source_ref: "src/drivers/zn.c:4062-4068, src/drivers/zn.c:4692" + contents: + - name: coh-1002v.ic353 + size: 524288 + crc32: "5ff165f3" + sha1: "8f59314c1093446b9bcb06d232244da6df78e206" + # SNK Hyper Neo Geo 64 - name: hng64.zip required: true diff --git a/emulators/aethersx2.yml b/emulators/aethersx2.yml index 1fc014b5..7655a4e2 100644 --- a/emulators/aethersx2.yml +++ b/emulators/aethersx2.yml @@ -6,6 +6,7 @@ source: "https://github.com/Trixarian/AetherSX2" upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-08-11" source_commit: "1d1f795dfc70e38da67724c7298779260f513889" +upstream_commit: "7fe1e5525a2c219c119aa9586cee4ceae2f54ce1" core_version: "1.5-3939" display_name: "Sony - PlayStation 2 (AetherSX2)" cores: diff --git a/emulators/alephone.yml b/emulators/alephone.yml index 00c887d3..a44938d6 100644 --- a/emulators/alephone.yml +++ b/emulators/alephone.yml @@ -5,6 +5,7 @@ source: "https://github.com/Aleph-One-Marathon/alephone" upstream: "https://github.com/Aleph-One-Marathon/alephone" profiled_date: "2026-10-20" source_commit: "07a9c36aff403d143a0608815f725631a01e382c" +pin_frozen: "RetroPie, the only platform that ships it, builds the release-20250829 tag at this commit (scriptmodules/ports/alephone.sh, _get_branch_alephone). Debian 10 and older get release-20250302." core_version: "1.11 (20250829)" display_name: "Marathon (Aleph One)" cores: diff --git a/emulators/amiarcadia.yml b/emulators/amiarcadia.yml index 65ddf6e4..cf8d683e 100644 --- a/emulators/amiarcadia.yml +++ b/emulators/amiarcadia.yml @@ -3,9 +3,9 @@ type: libretro core_classification: official_port source: "https://github.com/warmenhoven/amiarcadia" upstream: "https://amigan.1emu.net/releases/" -profiled_date: "2026-03-22" -source_commit: "4b84422985457b53dcc22ab46f525d7c34d3e51f" -core_version: "4.42" +profiled_date: "2026-10-23" +source_commit: "8ca27c925833fe0021475155512c7f467924f647" +core_version: "4.60" display_name: "Arcadia 2001 / Interton VC 4000 (AmiArcadia)" cores: - amiarcadia @@ -25,8 +25,8 @@ systems: # ROMs by CRC32 via games.h lookup table. # # source_ref: src/libretro.c:497-624 (retro_load_game, no file I/O) -# source_ref: DroidArcadia/app/src/main/cpp/android.c:893-1052 (parse_bytes, ROM-only) -# source_ref: DroidArcadia/app/src/main/cpp/da.h:3-5 (version 4.42) +# source_ref: DroidArcadia/app/src/main/cpp/android.c:906-1065 (parse_bytes, ROM-only) +# source_ref: DroidArcadia/app/src/main/cpp/da.h:3-5 (version 4.60) # source_ref: amiarcadia_libretro.info (firmware_count=0) notes: | diff --git a/emulators/amiberry.yml b/emulators/amiberry.yml index 74429573..6527a699 100644 --- a/emulators/amiberry.yml +++ b/emulators/amiberry.yml @@ -3,8 +3,8 @@ type: standalone + libretro core_classification: official_port source: "https://github.com/BlitterStudio/amiberry" upstream: "https://github.com/tonioni/WinUAE" -profiled_date: "2026-10-21" -source_commit: "2de3bf82280be045ea81dd0c55407061dfdbaa3e" +profiled_date: "2026-10-23" +source_commit: "376b22c99e99bf03d861ed054c7e184b60e2f206" core_version: "v8.4.2" display_name: "Commodore - Amiga (Amiberry)" cores: [amiberry, "AMIBERRY"] @@ -36,12 +36,20 @@ notes: | no hash check. When the main ROM is not found there, the fallback order is {home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom, ../System/rom/kick.rom, then ROM database guess. - ref: src/cfgfile.cpp:6442-6443, src/memory.cpp:1833-1856, + ref: src/cfgfile.cpp:6645-6646, src/memory.cpp:1833-1856, src/memory.cpp:2106-2148 ROM identification uses SHA1 against the WinUAE ROM database but does not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key. - ref: src/rommgr.cpp:121-1109,1742-1815 + ref: src/rommgr.cpp:122-1110,1743-1816 + + WITH_CPUBOARD is always defined, so expansion boards, freezer cartridges + and CPU boards read their ROMs from the same database. A CPU board whose + ROM is missing does not start, and the quickstart configs that select one + (A1200 configs 2-5, A4000 config 2) count as not installed without it. + ref: src/osdep/sysconfig.h:191-192, src/cpuboard.cpp:2887-2944, + src/cfgfile.cpp:9993-10003, src/cfgfile.cpp:10240-10327, + src/osdep/settings/settings_presets.cpp:398-415 Munt MT-32/CM-32L emulation compiled in (WITH_MIDIEMU). ROMs loaded from mt32-roms/ subdirectory of the ROM path. Split ROM pairs supported @@ -158,11 +166,12 @@ files: # --- Kickstart ROMs found by the standalone ROM scan --- # The scan opens every file under the ROM path whose extension is rom, bin, - # a1000, a500, a600, a1200, a3000, a4000, cdtv, cd32 or roz and names it by - # the ROM database. A model then takes the first ROM id on its list that - # the scan found. - # ref: src/osdep/amiberry_gui.cpp:219-242, src/osdep/amiberry_gui.cpp:276-298, - # src/osdep/amiberry_gui.cpp:422-457, src/rommgr.cpp:3175-3244 + # a1000, a500, a600, a1200, a3000, a4000, cdtv, cd32, roz or U followed by a + # digit and names it by the SHA-1 the ROM database lists. A model then takes + # the first ROM id on its list that the scan found. + # ref: src/osdep/amiberry_gui.cpp:229-255, src/osdep/amiberry_gui.cpp:286-308, + # src/osdep/amiberry_gui.cpp:432-470, src/rommgr.cpp:3186-3256, + # src/rommgr.cpp:1668-1681 - name: amiga-os-310.rom mode: standalone @@ -175,7 +184,3215 @@ files: note: > Identified as KS ROM v3.1 (A4000)(Cloanto), ROM id 31, whatever the file is called. The A4000 model takes id 16 first and id 31 after it. - source_ref: "source src/rommgr.cpp:203-204, source src/cfgfile.cpp:9749-9754, source src/cfgfile.cpp:9807" + source_ref: "source src/rommgr.cpp:204-205, source src/cfgfile.cpp:9960-9968, source src/cfgfile.cpp:10021-10022" + + # --- CD32 and CDTV ROMs found by the standalone ROM scan --- + # configure_rom() writes a CD32 Kickstart to the Kickstart setting and a + # CD32 or CDTV extended ROM to the extended ROM setting. + # ref: src/rommgr.cpp:2532-2596 + + - name: "amiga-os-310-cd32.rom" + mode: standalone + system: commodore-cd32 + required: false + size: 524288 + crc32: "1e62d4a5" + sha1: "3525be8887f79b5929e017b42380a79edfee542d" + validation: [sha1] + found_by: content + note: > + CD32 KS ROM v3.1, ROM id 18. Loaded as the Kickstart. The CD32 quickstart + takes ROM id 64, else ROM ids 18 and 19. + source_ref: "source src/rommgr.cpp:334-335, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857, source src/cfgfile.cpp:10202-10211" + + - name: "amiga-ext-310-cd32.rom" + mode: standalone + system: commodore-cd32 + required: false + size: 524288 + crc32: "87746be2" + sha1: "5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f" + validation: [sha1] + found_by: content + note: > + CD32 extended ROM, ROM id 19. Loaded as the extended ROM. The CD32 + quickstart takes ROM id 64, else ROM ids 18 and 19. + source_ref: "source src/rommgr.cpp:336-339, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857, source src/cfgfile.cpp:10202-10211" + + - name: "cd32-rom-ks-plus-extended.rom" + mode: standalone + system: commodore-cd32 + required: false + size: 1048576 + crc32: "f5d4f3c8" + sha1: "9fa14825c40a2475a2eba5cf325bd483c447e7c1" + validation: [sha1] + found_by: content + note: > + CD32 ROM (KS + extended), ROM id 64. Kickstart and extended ROM in one + image, loaded as the Kickstart. The CD32 quickstart takes ROM id 64, else + ROM ids 18 and 19. A second dump of the same image, listed after it in the + table, is also accepted. + source_ref: "source src/rommgr.cpp:340-343, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857, source src/cfgfile.cpp:10202-10211" + + - name: "amiga-ext-130-cdtv.rom" + mode: standalone + system: commodore-cdtv + required: false + size: 262144 + crc32: "42baa124" + sha1: "7ba40ffa17e500ed9fed041f3424bd81d9c907be" + validation: [sha1] + found_by: content + note: > + CDTV extended ROM v1.0, ROM id 20. Loaded as the extended ROM. The CDTV + quickstart asks for ROM id 20, then 21, then 22. The two chip halves the + table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:350-353, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857, source src/cfgfile.cpp:10177-10182" + + - name: "cdtv-extended-rom-v2.7.rom" + mode: standalone + system: commodore-cdtv + required: false + size: 262144 + crc32: "ceae68d2" + sha1: "5bc114bba29f60a614a311745b3e2464bfa06846" + validation: [sha1] + found_by: content + note: > + CDTV extended ROM v2.7, ROM id 22. Loaded as the extended ROM. The CDTV + quickstart asks for ROM id 20, then 21, then 22. The two chip halves the + table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:354-357, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857, source src/cfgfile.cpp:10177-10182" + + - name: "cdtv-a570-extended-rom-v2.30.rom" + mode: standalone + system: commodore-cdtv + required: false + size: 262144 + crc32: "30b54232" + sha1: "ed7e461d1fff3cda321631ae42b80e3cd4fa5ebb" + validation: [sha1] + found_by: content + note: > + CDTV/A570 extended ROM v2.30, ROM id 21. Loaded as the extended ROM. The + CDTV quickstart asks for ROM id 20, then 21, then 22. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:358-361, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857, source src/cfgfile.cpp:10177-10182" + + - name: "cdtv-extended-rom-v47.1.rom" + mode: standalone + system: commodore-cdtv + required: false + size: 262144 + crc32: "ab6274e7" + sha1: "cfc16f8e930badcb9c3e7f889a57d645571fa86a" + validation: [sha1] + found_by: content + note: > + CDTV extended ROM v47.1, ROM id 297. Loaded as the extended ROM. The two + chip halves the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:362-365, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857" + + - name: "cdtv-cr-extended-rom-v3.32.rom" + mode: standalone + system: commodore-cdtv + required: false + size: 262144 + crc32: "581a85cf" + sha1: "d6b8d3f2854eba9b2d5145799529e8b33b85e0b4" + validation: [sha1] + found_by: content + note: > + CDTV-CR extended ROM v3.32, ROM id 107. Loaded as the extended ROM. The + CDTV-CR quickstart asks for ROM id 108, then 107. + source_ref: "source src/rommgr.cpp:367-368, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857, source src/cfgfile.cpp:10138-10142" + + - name: "cdtv-cr-extended-rom-v3.44.rom" + mode: standalone + system: commodore-cdtv + required: false + size: 262144 + crc32: "0b7bd64f" + sha1: "3b160c5abe79f10ae69243328004bb9e3162b648" + validation: [sha1] + found_by: content + note: > + CDTV-CR extended ROM v3.44, ROM id 108. Loaded as the extended ROM. The + CDTV-CR quickstart asks for ROM id 108, then 107. + source_ref: "source src/rommgr.cpp:369-370, source src/rommgr.cpp:2565-2568, source src/memory.cpp:1833-1857, source src/cfgfile.cpp:10138-10142" + + # --- Expansion ROMs found by the ROM scan --- + # A board, freezer cartridge or accelerator takes the file its configuration + # names, else the first ROM of its type or ROM id in the scanned ROM list. + # The standalone scan reads the ROM path root. The libretro scan reads the + # system directory root for kick, cd32, cdtv, amiga-os- and amiga-ext- names + # only, and every ROM file under system/roms and system/Kickstarts. Split + # chip dumps the table lists are identified one by one and merged. + # ref: src/rommgr.cpp:1869-1889, src/rommgr.cpp:2806-2822, + # src/rommgr.cpp:2171-2336, libretro/libretro_stubs.cpp:499-512, + # libretro/libretro_stubs.cpp:731-778 + + # CD32 FMV cartridge + + - name: "cd32fmv.rom" + path: "roms/cd32fmv.rom" + standalone_path: "cd32fmv.rom" + system: commodore-cd32 + required: false + size: 262144 + crc32: "c35c37bf" + sha1: "03ca81c7a7b259cf64bc9582863eca0f6529f435" + validation: [sha1] + found_by: content + note: > + CD32 Full Motion Video Cartridge ROM, ROM id 23. Mapped when the CD32 FMV + board is enabled. The CD32 quickstart config 1 (FMV) asks for ROM id 74, + then 23. + source_ref: "source src/rommgr.cpp:345-346, source src/expansion.cpp:5416-5421, source src/cd32_fmv.cpp:1566, source src/cfgfile.cpp:10217-10224" + + - name: "cd32fmv-391777-01.rom" + path: "roms/cd32fmv-391777-01.rom" + standalone_path: "cd32fmv-391777-01.rom" + system: commodore-cd32 + required: false + size: 262144 + crc32: "f11158eb" + sha1: "94e469a76030dcb299ebc7520aaeef9db54284cf" + validation: [sha1] + found_by: content + note: > + CD32 Full Motion Video Cartridge ROM, ROM id 74. Mapped when the CD32 FMV + board is enabled. The CD32 quickstart config 1 (FMV) asks for ROM id 74, + then 23. + source_ref: "source src/rommgr.cpp:347-348, source src/expansion.cpp:5416-5421, source src/cd32_fmv.cpp:1566, source src/cfgfile.cpp:10217-10224" + + # Freezer cartridges + + - name: "action-replay-mk-i-v1.00.rom" + path: "roms/action-replay-mk-i-v1.00.rom" + standalone_path: "action-replay-mk-i-v1.00.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "2d921771" + sha1: "1ead9dda2dad29146441f5ef7218375022e01248" + validation: [sha1] + found_by: content + note: > + Action Replay Mk I v1.00, ROM id 52. Freezer cartridge, loaded from the + cartridge setting. Without it no cartridge is mapped. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:381-384, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "action-replay-mk-i-v1.50.rom" + path: "roms/action-replay-mk-i-v1.50.rom" + standalone_path: "action-replay-mk-i-v1.50.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "f82c4258" + sha1: "843b433b2c56640e045d5fdc854dc6b1a4964e7c" + validation: [sha1] + found_by: content + note: > + Action Replay Mk I v1.50, ROM id 25. Freezer cartridge, loaded from the + cartridge setting. Without it no cartridge is mapped. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:385-388, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "action-replay-mk-ii-v2.05.rom" + path: "roms/action-replay-mk-ii-v2.05.rom" + standalone_path: "action-replay-mk-ii-v2.05.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "1287301f" + sha1: "f6601de8888f005072bf562b9f533bbcaf1b0074" + validation: [sha1] + found_by: content + note: > + Action Replay Mk II v2.05, ROM id 26. Freezer cartridge, loaded from the + cartridge setting. Without it no cartridge is mapped. + source_ref: "source src/rommgr.cpp:389-390, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "action-replay-mk-ii-v2.12.rom" + path: "roms/action-replay-mk-ii-v2.12.rom" + standalone_path: "action-replay-mk-ii-v2.12.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "804d0361" + sha1: "3194a07a0a82d8b5f2b6aefa3ca581d68ba8762b" + validation: [sha1] + found_by: content + note: > + Action Replay Mk II v2.12, ROM id 27. Freezer cartridge, loaded from the + cartridge setting. Without it no cartridge is mapped. + source_ref: "source src/rommgr.cpp:391-392, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "action-replay-mk-ii-v2.14.rom" + path: "roms/action-replay-mk-ii-v2.14.rom" + standalone_path: "action-replay-mk-ii-v2.14.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "49650e4f" + sha1: "255d6df63a4eab0a838eb1a16a267b0959dff634" + validation: [sha1] + found_by: content + note: > + Action Replay Mk II v2.14, ROM id 28. Freezer cartridge, loaded from the + cartridge setting. Without it no cartridge is mapped. + source_ref: "source src/rommgr.cpp:393-394, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "action-replay-mk-iii-v3.09.rom" + path: "roms/action-replay-mk-iii-v3.09.rom" + standalone_path: "action-replay-mk-iii-v3.09.rom" + system: commodore-amiga + required: false + size: 262144 + crc32: "0ed9b5aa" + sha1: "0ff3170abbf0ca64c9dd93d6ec0c7a01b5436824" + validation: [sha1] + found_by: content + note: > + Action Replay Mk III v3.09, ROM id 29. Freezer cartridge, loaded from the + cartridge setting. Without it no cartridge is mapped. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:395-398, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "action-replay-mk-iii-v3.17.rom" + path: "roms/action-replay-mk-iii-v3.17.rom" + standalone_path: "action-replay-mk-iii-v3.17.rom" + system: commodore-amiga + required: false + size: 262144 + crc32: "c8a16406" + sha1: "5d4987c2e3ffea8b1b02e31430ef190f2db76542" + validation: [sha1] + found_by: content + note: > + Action Replay Mk III v3.17, ROM id 30. Freezer cartridge, loaded from the + cartridge setting. Without it no cartridge is mapped. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:399-402, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "action-replay-1200.rom" + path: "roms/action-replay-1200.rom" + standalone_path: "action-replay-1200.rom" + system: commodore-amiga + required: false + size: 262144 + crc32: "8d760101" + sha1: "0f6ab8342810094ac0642f62ba42f78bc0b07e6a" + validation: [sha1] + found_by: content + note: > + Action Replay 1200, ROM id 47. Freezer cartridge, loaded from the cartridge + setting. Without it no cartridge is mapped. + source_ref: "source src/rommgr.cpp:403-404, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "action-cartridge-super-iv-pro-rom-v4.3.rom" + path: "roms/action-cartridge-super-iv-pro-rom-v4.3.rom" + standalone_path: "action-cartridge-super-iv-pro-rom-v4.3.rom" + system: commodore-amiga + required: false + size: 170368 + crc32: "e668a0be" + sha1: "633a6e65a93580b8ddb0be9c9a64d4a17d4b4801" + validation: [sha1] + found_by: content + note: > + Action Cart. Super IV Pro (+ROM v4.3), ROM id 60. Freezer cartridge, loaded + from the cartridge setting. Without it no cartridge is mapped. + source_ref: "source src/rommgr.cpp:408-409, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "x-power-professional-500-v1.2.rom" + path: "roms/x-power-professional-500-v1.2.rom" + standalone_path: "x-power-professional-500-v1.2.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "9e70c231" + sha1: "a2977a1c41a8ca7d4af4a168726da542179d5963" + validation: [sha1] + found_by: content + note: > + X-Power Professional 500 v1.2, ROM id 65. Freezer cartridge, loaded from + the cartridge setting. Without it no cartridge is mapped. The two chip + halves the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:410-413, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "x-power-professional-500-v1.3.rom" + path: "roms/x-power-professional-500-v1.3.rom" + standalone_path: "x-power-professional-500-v1.3.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "31e057f0" + sha1: "84650266465d18597fd71dee00775930b7e450ee" + validation: [sha1] + found_by: content + note: > + X-Power Professional 500 v1.3, ROM id 68. Freezer cartridge, loaded from + the cartridge setting. Without it no cartridge is mapped. The two chip + halves the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:414-417, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "nordic-power-v1.5.rom" + path: "roms/nordic-power-v1.5.rom" + standalone_path: "nordic-power-v1.5.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "83b4b21c" + sha1: "c56ced25506a5aab3fa138134fc9e5ae0f9d3709" + validation: [sha1] + found_by: content + note: > + Nordic Power v1.5, ROM id 69. Freezer cartridge, loaded from the cartridge + setting. Without it no cartridge is mapped. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:418-421, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "nordic-power-v2.0.rom" + path: "roms/nordic-power-v2.0.rom" + standalone_path: "nordic-power-v2.0.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "a4db2906" + sha1: "0aec68f725470c896b699ff46623dec5c777466e" + validation: [sha1] + found_by: content + note: > + Nordic Power v2.0, ROM id 67. Freezer cartridge, loaded from the cartridge + setting. Without it no cartridge is mapped. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:422-425, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "nordic-power-v3.0.rom" + path: "roms/nordic-power-v3.0.rom" + standalone_path: "nordic-power-v3.0.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "72850aef" + sha1: "59c91d1fa8f118f90bdba05a9ae788d77a6cc7c9" + validation: [sha1] + found_by: content + note: > + Nordic Power v3.0, ROM id 70. Freezer cartridge, loaded from the cartridge + setting. Without it no cartridge is mapped. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:426-429, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "nordic-power-v3.2.rom" + path: "roms/nordic-power-v3.2.rom" + standalone_path: "nordic-power-v3.2.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "46158b6e" + sha1: "d8c3f5af5f109c615f6acb3868fe6c06580041b5" + validation: [sha1] + found_by: content + note: > + Nordic Power v3.2, ROM id 115. Freezer cartridge, loaded from the cartridge + setting. Without it no cartridge is mapped. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:430-433, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + - name: "pro-access-v2.17.rom" + path: "roms/pro-access-v2.17.rom" + standalone_path: "pro-access-v2.17.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "c4c265cd" + sha1: "6a5c0d9969a624dc1b437aec5dbcd4c72ce9064a" + validation: [sha1] + found_by: content + note: > + Pro Access v2.17, ROM id 116. Freezer cartridge, loaded from the cartridge + setting. Without it no cartridge is mapped. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:434-437, source src/rommgr.cpp:2575-2579, source src/ar.cpp:1667-1720" + + # CPU and accelerator boards + + - name: "draco-boot-rom-v1.3.rom" + mode: standalone + system: commodore-amiga + required: false + size: 131072 + crc32: "0e9c5899" + sha1: "821513240120755460c8a0684793ec183f744d74" + validation: [sha1] + found_by: content + note: > + DraCo Boot ROM v1.3, ROM id 234. DraCo boot ROM, read from the CPU board + ROM setting. Built only with PCem (USE_PCEM), which the CMake build enables + and the libretro Makefile leaves off. The DraCo quickstart asks for ROM id + 234, then 311. + source_ref: "source src/rommgr.cpp:329-330, source src/expansion.cpp:6903-6905, source src/draco.cpp:1521-1527, source src/cfgfile.cpp:10635-10640" + + - name: "draco-boot-rom-v1.5.rom" + mode: standalone + system: commodore-amiga + required: false + size: 131072 + crc32: "7b4cdd4a" + sha1: "4d383adb85c681a3b625dcda7a229a176af4d161" + validation: [sha1] + found_by: content + note: > + DraCo Boot ROM v1.5, ROM id 311. DraCo boot ROM, read from the CPU board + ROM setting. Built only with PCem (USE_PCEM), which the CMake build enables + and the libretro Makefile leaves off. The DraCo quickstart asks for ROM id + 234, then 311. + source_ref: "source src/rommgr.cpp:331-332, source src/expansion.cpp:6903-6905, source src/draco.cpp:1521-1527, source src/cfgfile.cpp:10635-10640" + + - name: "blizzard-1230-i-ii.rom" + path: "roms/blizzard-1230-i-ii.rom" + standalone_path: "blizzard-1230-i-ii.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "f307cd34" + sha1: "d2f0bfe56e84e9f22dc1158330702fd7d59584ee" + validation: [sha1] + found_by: content + note: > + Blizzard 1230-I/II, ROM id 163. Board ROM of the Blizzard 1230 I/II + accelerator. Without it the board does not start. + source_ref: "source src/rommgr.cpp:519-520, source src/expansion.cpp:6739-6741, source src/cpuboard.cpp:2887-2943" + + - name: "blizzard-1230-iii.rom" + path: "roms/blizzard-1230-iii.rom" + standalone_path: "blizzard-1230-iii.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "8412a22c" + sha1: "3a4c55f3daf62084d947e418137db019f13efc7d" + validation: [sha1] + found_by: content + note: > + Blizzard 1230-III, ROM id 162. Board ROM of the Blizzard 1230 III + accelerator. Without it the board does not start. + source_ref: "source src/rommgr.cpp:521-522, source src/expansion.cpp:6751-6753, source src/cpuboard.cpp:2887-2943" + + - name: "blizzard-1230-iv.rom" + path: "roms/blizzard-1230-iv.rom" + standalone_path: "blizzard-1230-iv.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "3078dbdc" + sha1: "4d3e7fd0a1a4c3aee17c5de3cbe1af03447aff92" + validation: [sha1] + found_by: content + note: > + Blizzard 1230-IV, ROM id 89. Board ROM of the Blizzard 1230 IV accelerator. + Without it the board does not start. The A1200 quickstart config 2 selects + this board and this ROM. + source_ref: "source src/rommgr.cpp:523-524, source src/expansion.cpp:6762-6764, source src/cpuboard.cpp:2887-2943, source src/cfgfile.cpp:10273-10280" + + - name: "blizzard-1240-1260.rom" + path: "roms/blizzard-1240-1260.rom" + standalone_path: "blizzard-1240-1260.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "f88ae0f1" + sha1: "f69aca4bb13e338904676f0c8616f8db074c313d" + validation: [sha1] + found_by: content + note: > + Blizzard 1240/1260, ROM id 90. Board ROM of the Blizzard 1260 accelerator. + Without it the board does not start. The A1200 quickstart configs 3 and 4 + select this board and this ROM. + source_ref: "source src/rommgr.cpp:525-526, source src/expansion.cpp:6773-6775, source src/cpuboard.cpp:2887-2943, source src/cfgfile.cpp:10281-10298" + + - name: "blizzard-2060-v7.25.rom" + path: "roms/blizzard-2060-v7.25.rom" + standalone_path: "blizzard-2060-v7.25.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "17c8dcbe" + sha1: "a39a6d232cb9a81b5f3694d3688737825ad581bc" + validation: [sha1] + found_by: content + note: > + Blizzard 2060 v7.25, ROM id 237. Board ROM of the Blizzard 2060 + accelerator. Without it the board does not start. The two chip halves the + table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:528-531, source src/expansion.cpp:6785-6787, source src/cpuboard.cpp:2887-2943" + + - name: "blizzard-2060-v8.2.rom" + path: "roms/blizzard-2060-v8.2.rom" + standalone_path: "blizzard-2060-v8.2.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "2f42af81" + sha1: "003577b84e1f2e593add6c9ffd65a7b42abaa933" + validation: [sha1] + found_by: content + note: > + Blizzard 2060 v8.2, ROM id 168. Board ROM of the Blizzard 2060 accelerator. + Without it the board does not start. The two chip halves the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:532-535, source src/expansion.cpp:6785-6787, source src/cpuboard.cpp:2887-2943" + + - name: "blizzard-2060-v8.5.rom" + path: "roms/blizzard-2060-v8.5.rom" + standalone_path: "blizzard-2060-v8.5.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "ce270bc0" + sha1: "e043c1aa3bb06e06d4dabff30a8c6317abfef2bb" + validation: [sha1] + found_by: content + note: > + Blizzard 2060 v8.5, ROM id 92. Board ROM of the Blizzard 2060 accelerator. + Without it the board does not start. The two chip halves the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:536-539, source src/expansion.cpp:6785-6787, source src/cpuboard.cpp:2887-2943" + + - name: "blizzard-scsi-kit-iii.rom" + path: "roms/blizzard-scsi-kit-iii.rom" + standalone_path: "blizzard-scsi-kit-iii.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "fd2c772f" + sha1: "1411c24872f7cb8decbe4744f0b8d12a1aaaad44" + validation: [sha1] + found_by: content + note: > + Blizzard SCSI Kit III, ROM id 167. SCSI module ROM of the Blizzard 1230-III + board, read when the module is enabled. + source_ref: "source src/rommgr.cpp:541-542, source src/expansion.cpp:5563-5568, source src/cpuboard.cpp:2838, source src/cpuboard.cpp:2605-2620" + + - name: "blizzard-scsi-kit-iv.rom" + path: "roms/blizzard-scsi-kit-iv.rom" + standalone_path: "blizzard-scsi-kit-iv.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "f53a0fca" + sha1: "efe17ca588c44a7f0f8c62be20f23278cfe06727" + validation: [sha1] + found_by: content + note: > + Blizzard SCSI Kit IV, ROM id 94. SCSI module ROM of the Blizzard 1230-IV + and 1260 board, read when the module is enabled. + source_ref: "source src/rommgr.cpp:543-544, source src/expansion.cpp:5569-5574, source src/cpuboard.cpp:2842, source src/cpuboard.cpp:2605-2620" + + - name: "warp-engine.rom" + path: "roms/warp-engine.rom" + standalone_path: "warp-engine.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "4deb574a" + sha1: "6e6c95ffe8448391d36c5b68c9065cb0702a7d27" + validation: [sha1] + found_by: content + note: > + Warp Engine, ROM id 93. Boot ROM of the Warp Engine A4000 accelerator SCSI + or IDE port. Without it the port has no boot ROM. + source_ref: "source src/rommgr.cpp:549-550, source src/expansion.cpp:6882-6884, source src/ncr_scsi.cpp:922-933" + + - name: "tekmagic2060.rom" + path: "roms/tekmagic2060.rom" + standalone_path: "tekmagic2060.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "9e9781d5" + sha1: "f65b60d14300c50f2ed17cf44dcfdef916697bc9" + validation: [sha1] + found_by: content + note: > + TekMagic 2060 v1.0, ROM id 104. Board ROM of the Tek Magic 2040/2060 + accelerator. Without it the board does not start. The two chip halves the + table lists are also accepted and merged. The code also opens it by the + name tekmagic2060.rom. + source_ref: "source src/rommgr.cpp:552-555, source src/expansion.cpp:6678-6680, source src/cpuboard.cpp:2887-2943" + + - name: "tekmagic2040.rom" + path: "roms/tekmagic2040.rom" + standalone_path: "tekmagic2040.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "ff60cfe3" + sha1: "ea2089345e2602cfc715b2fc50a392ddd751823a" + validation: [sha1] + found_by: content + note: > + TekMagic 2040 v1.1, ROM id 303. Board ROM of the Tek Magic 2040/2060 + accelerator. Without it the board does not start. The two chip halves the + table lists are also accepted and merged. The code also opens it by the + name tekmagic2040.rom. + source_ref: "source src/rommgr.cpp:556-559, source src/expansion.cpp:6678-6680, source src/cpuboard.cpp:2887-2943" + + - name: "gvp-t-rex-ii-v1.0.rom" + path: "roms/gvp-t-rex-ii-v1.0.rom" + standalone_path: "gvp-t-rex-ii-v1.0.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "d908947a" + sha1: "888b53f0b7f064e5f068279f855dba0e5a42249f" + validation: [sha1] + found_by: content + note: > + GVP T-Rex II v1.0, ROM id 317. Board ROM of the GVP T-Rex II accelerator, + read from the CPU board ROM setting. Without it the board does not start. + source_ref: "source src/rommgr.cpp:560-561, source src/expansion.cpp:6724-6726, source src/cpuboard.cpp:2905-2943, source src/cpuboard.cpp:3056-3063" + + - name: "zeus-040.rom" + path: "roms/zeus-040.rom" + standalone_path: "zeus-040.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "2c609194" + sha1: "9a91cf456816067a943c18f1bd30effe482d4aaf" + validation: [sha1] + found_by: content + note: > + Zeus 040, ROM id 225. Boot ROM of the Zeus 040 accelerator SCSI or IDE + port. Without it the port has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:563-566, source src/expansion.cpp:7125-7127, source src/ncr_scsi.cpp:1032" + + - name: "csa-magnum-040.rom" + path: "roms/csa-magnum-040.rom" + standalone_path: "csa-magnum-040.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "b94e805b" + sha1: "4c1859ba7ea2cedbf5251bedfbb76e6c0617300e" + validation: [sha1] + found_by: content + note: > + CSA Magnum 040, ROM id 226. Boot ROM of the Magnum 40/4 accelerator SCSI or + IDE port. Without it the port has no boot ROM. + source_ref: "source src/rommgr.cpp:567-568, source src/expansion.cpp:7145-7147, source src/ncr_scsi.cpp:1044-1065" + + - name: "csa-twelve-gauge.rom" + path: "roms/csa-twelve-gauge.rom" + standalone_path: "csa-twelve-gauge.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "2a74074d" + sha1: "c1f29093491339cddc81f9940f0965dfa3a193f2" + validation: [sha1] + found_by: content + note: > + CSA Twelve Gauge, ROM id 241. Boot ROM of the Twelve Gauge accelerator SCSI + or IDE port. Without it the port has no boot ROM. + source_ref: "source src/rommgr.cpp:569-570, source src/expansion.cpp:7157-7159, source src/scsi.cpp:5294-5305" + + - name: "hardital-tqm.rom" + path: "roms/hardital-tqm.rom" + standalone_path: "hardital-tqm.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "3bc9b90c" + sha1: "24fa6ab85ca64ae643851a85a473ff0c5a48f272" + validation: [sha1] + found_by: content + note: > + Hardital TQM, ROM id 228. Board ROM of the TQM accelerator. Without it the + board does not start. + source_ref: "source src/rommgr.cpp:571-572, source src/expansion.cpp:7061-7063, source src/cpuboard.cpp:2887-2943" + + - name: "macrosystem-falcon-040-no-scsi.rom" + path: "roms/macrosystem-falcon-040-no-scsi.rom" + standalone_path: "macrosystem-falcon-040-no-scsi.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "a2ba67d1" + sha1: "2015685faadfbaf68b19b07e5f4e888f738b99d7" + validation: [sha1] + found_by: content + note: > + MacroSystem Falcon 040 (No SCSI), ROM id 229. Board ROM of the Falcon 040 + accelerator. Without it the board does not start. + source_ref: "source src/rommgr.cpp:573-574, source src/expansion.cpp:6894-6896, source src/cpuboard.cpp:2887-2943" + + - name: "gvp-a1230-turboplus-series-ii-v5.0.rom" + path: "roms/gvp-a1230-turboplus-series-ii-v5.0.rom" + standalone_path: "gvp-a1230-turboplus-series-ii-v5.0.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "96bd351f" + sha1: "b7648daf52d0732d897548f329ebf624101474d5" + validation: [sha1] + found_by: content + note: > + GVP A1230 Turbo+ Series II v5.0, ROM id 230. Boot ROM of the GVP A1230 + Turbo+ Series II accelerator SCSI port. + source_ref: "source src/rommgr.cpp:575-576, source src/expansion.cpp:6695-6697, source src/a2091.cpp:4433-4440, source src/a2091.cpp:4489" + + - name: "gvp-a1230-turboplus-series-ii-v5.3.rom" + path: "roms/gvp-a1230-turboplus-series-ii-v5.3.rom" + standalone_path: "gvp-a1230-turboplus-series-ii-v5.3.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "0a3bb4b1" + sha1: "f870116f699ec8002a1b31bb0f412e27c5d01266" + validation: [sha1] + found_by: content + note: > + GVP A1230 Turbo+ Series II v5.3, ROM id 312. Boot ROM of the GVP A1230 + Turbo+ Series II accelerator SCSI port. + source_ref: "source src/rommgr.cpp:577-578, source src/expansion.cpp:6695-6697, source src/a2091.cpp:4433-4440, source src/a2091.cpp:4489" + + - name: "gvp-a1230-turboplus.rom" + path: "roms/gvp-a1230-turboplus.rom" + standalone_path: "gvp-a1230-turboplus.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "3f0b8d7a" + sha1: "258c6ee75d8dfee57871c5be79a83fa3ca53a1a9" + validation: [sha1] + found_by: content + note: > + GVP A1230 Turbo+, ROM id 260. Board ROM of the A1230 Turbo+ accelerator. + Without it the board does not start. + source_ref: "source src/rommgr.cpp:579-580, source src/expansion.cpp:6687-6689, source src/cpuboard.cpp:2887-2943" + + - name: "harms-3000-professional.rom" + path: "roms/harms-3000-professional.rom" + standalone_path: "harms-3000-professional.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "80da32b5" + sha1: "0a3ded8820a24238d3e43baf7163226c861e2d88" + validation: [sha1] + found_by: content + note: > + Harms 3000 Professional, ROM id 248. Board ROM of the Professional 3000 + accelerator. Without it the board does not start. The two chip halves the + table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:581-584, source src/expansion.cpp:7263-7265, source src/cpuboard.cpp:2887-2943" + + - name: "a2620-a2630-07.rom" + path: "roms/a2620-a2630-07.rom" + standalone_path: "a2620-a2630-07.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "169d80e9" + sha1: "41f518cb41c1dc1fcc63638320676af54969010c" + validation: [sha1] + found_by: content + note: > + A2620/A2630 -07, ROM id 105. Board ROM of the A2620/A2630 accelerator. + Without it the board does not start. The two chip halves the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:586-589, source src/expansion.cpp:7004-7006, source src/cpuboard.cpp:2887-2943" + + - name: "a2620-a2630-06.rom" + path: "roms/a2620-a2630-06.rom" + standalone_path: "a2620-a2630-06.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "eb31fd9e" + sha1: "2d6a5c681040f98d7e63ad0890da9e832b5c704d" + validation: [sha1] + found_by: content + note: > + A2620/A2630 -06, ROM id 106. Board ROM of the A2620/A2630 accelerator. + Without it the board does not start. The two chip halves the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:590-593, source src/expansion.cpp:7004-7006, source src/cpuboard.cpp:2887-2943" + + - name: "a2620-a2630-04.rom" + path: "roms/a2620-a2630-04.rom" + standalone_path: "a2620-a2630-04.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "d4666ae9" + sha1: "93cbd77542843f6d8234c271ab86030406a1ae0a" + validation: [sha1] + found_by: content + note: > + A2620/A2630 -04, ROM id 165. Board ROM of the A2620/A2630 accelerator. + Without it the board does not start. The two chip halves the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:594-597, source src/expansion.cpp:7004-7006, source src/cpuboard.cpp:2887-2943" + + - name: "a2620-a2630-03.rom" + path: "roms/a2620-a2630-03.rom" + standalone_path: "a2620-a2630-03.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "4f771c97" + sha1: "a6e2eec1c31a88d8da4828345f8f50fea9151374" + validation: [sha1] + found_by: content + note: > + A2620/A2630 -03, ROM id 216. Board ROM of the A2620/A2630 accelerator. + Without it the board does not start. The two chip halves the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:598-601, source src/expansion.cpp:7004-7006, source src/cpuboard.cpp:2887-2943" + + - name: "a2620-a2630-02.rom" + path: "roms/a2620-a2630-02.rom" + standalone_path: "a2620-a2630-02.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "a846b93b" + sha1: "c9a8d8249a301da8fadf2b45fc62ecffb7242267" + validation: [sha1] + found_by: content + note: > + A2620/A2630 -02, ROM id 210. Board ROM of the A2620/A2630 accelerator. + Without it the board does not start. The two chip halves the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:602-605, source src/expansion.cpp:7004-7006, source src/cpuboard.cpp:2887-2943" + + - name: "a2620-a2630-01.rom" + path: "roms/a2620-a2630-01.rom" + standalone_path: "a2620-a2630-01.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "6ee2ecdd" + sha1: "4c82e3ba2d2dd1d382f01098c26681b8ff62f36d" + validation: [sha1] + found_by: content + note: > + A2620/A2630 -01, ROM id 164. Board ROM of the A2620/A2630 accelerator. + Without it the board does not start. The two chip halves the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:606-609, source src/expansion.cpp:7004-7006, source src/cpuboard.cpp:2887-2943" + + - name: "dkb-1230-1240-cobra.rom" + path: "roms/dkb-1230-1240-cobra.rom" + standalone_path: "dkb-1230-1240-cobra.rom" + system: commodore-amiga + required: false + size: 1460 + crc32: "15ac5257" + sha1: "f0431d02ac0f83d345db18c023f0cefb33d17217" + validation: [sha1] + found_by: content + note: > + DKB 1230/1240/Cobra, ROM id 112. Boot ROM of the 1230/1240/Cobra + accelerator SCSI or IDE port. Without it the port has no boot ROM. + source_ref: "source src/rommgr.cpp:610-611, source src/expansion.cpp:7032-7034, source src/ncr9x_scsi.cpp:2227" + + - name: "dkb-1230-1240-cobra-plus-ferret-v1.23.rom" + path: "roms/dkb-1230-1240-cobra-plus-ferret-v1.23.rom" + standalone_path: "dkb-1230-1240-cobra-plus-ferret-v1.23.rom" + system: commodore-amiga + required: false + size: 12060 + crc32: "da878913" + sha1: "b62a68efb9378d740be174521ad07d2ea461a313" + validation: [sha1] + found_by: content + note: > + DKB 1230/1240/Cobra + Ferret v1.23, ROM id 208. Boot ROM of the + 1230/1240/Cobra accelerator SCSI or IDE port. Without it the port has no + boot ROM. + source_ref: "source src/rommgr.cpp:612-613, source src/expansion.cpp:7032-7034, source src/ncr9x_scsi.cpp:2227" + + - name: "fusion-forty.rom" + path: "roms/fusion-forty.rom" + standalone_path: "fusion-forty.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "48fcb5fd" + sha1: "15674dac90b6d8dbdda3a175997184c2a423d733" + validation: [sha1] + found_by: content + note: > + Fusion Forty, ROM id 113. Board ROM of the Fusion Forty accelerator. + Without it the board does not start. The four chip dumps the table lists + are also accepted and merged. + source_ref: "source src/rommgr.cpp:616-621, source src/expansion.cpp:7075-7077, source src/cpuboard.cpp:2887-2943" + + - name: "apollo-1240-1260.rom" + path: "roms/apollo-1240-1260.rom" + standalone_path: "apollo-1240-1260.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "cd009ad9" + sha1: "1c3b4851c5a221e3a7ca24fcc1df4a5b9f2343ad" + validation: [sha1] + found_by: content + note: > + Apollo 1240/1260, ROM id 119. Board ROM of the Apollo 1240/1260 + accelerator. Without it the board does not start. + source_ref: "source src/rommgr.cpp:622-623, source src/expansion.cpp:7197-7199, source src/cpuboard.cpp:2887-2943" + + - name: "apollo-630.rom" + path: "roms/apollo-630.rom" + standalone_path: "apollo-630.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "286cf453" + sha1: "e0597cb65a6471b3fd674e7bc9e2423d43e51ffc" + validation: [sha1] + found_by: content + note: > + Apollo 630, ROM id 313. Board ROM of the Apollo 630 accelerator. Without it + the board does not start. + source_ref: "source src/rommgr.cpp:624-625, source src/expansion.cpp:7208-7210, source src/cpuboard.cpp:2887-2943" + + - name: "gvp-a3001-series-i.rom" + path: "roms/gvp-a3001-series-i.rom" + standalone_path: "gvp-a3001-series-i.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "aaff7c65" + sha1: "424cf3dacc9da7940ba7444669dd169144ae87ee" + validation: [sha1] + found_by: content + note: > + GVP A3001 Series I, ROM id 114. Boot ROM of the A3001 Series I accelerator + SCSI or IDE port. Without it the port has no boot ROM. + source_ref: "source src/rommgr.cpp:626-627, source src/expansion.cpp:6625-6627, source src/idecontrollers.cpp:2410" + + - name: "kupke-golem-030.rom" + path: "roms/kupke-golem-030.rom" + standalone_path: "kupke-golem-030.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "05d473f4" + sha1: "574ec567cc67e06f91dcecb98c2043995fe2a09f" + validation: [sha1] + found_by: content + note: > + Kupke Golem 030, ROM id 126. Board ROM of the Golem 030 accelerator. + Without it the board does not start. + source_ref: "source src/rommgr.cpp:628-629, source src/expansion.cpp:7224-7226, source src/cpuboard.cpp:2887-2943" + + - name: "dkb-wildfire-v1.0.rom" + path: "roms/dkb-wildfire-v1.0.rom" + standalone_path: "dkb-wildfire-v1.0.rom" + system: commodore-amiga + required: false + size: 18016 + crc32: "08fc84f6" + sha1: "ec27aab50cdd0db96ddd9db3eff92183cbaf3f78" + validation: [sha1] + found_by: content + note: > + DKB WildFire v1.0, ROM id 318. Board ROM of the Wildfire accelerator. + Without it the board does not start. + source_ref: "source src/rommgr.cpp:630-631, source src/expansion.cpp:7044-7046, source src/cpuboard.cpp:2887-2943" + + - name: "dkb-wildfire-v1.1.rom" + path: "roms/dkb-wildfire-v1.1.rom" + standalone_path: "dkb-wildfire-v1.1.rom" + system: commodore-amiga + required: false + size: 18352 + crc32: "b2dae8c4" + sha1: "cdfe2d96e44d4f8d3833a5e8b6c832fdc7b341a9" + validation: [sha1] + found_by: content + note: > + DKB WildFire v1.1, ROM id 143. Board ROM of the Wildfire accelerator. + Without it the board does not start. + source_ref: "source src/rommgr.cpp:632-633, source src/expansion.cpp:7044-7046, source src/cpuboard.cpp:2887-2943" + + - name: "m-tec-e-matrix-530.rom" + path: "roms/m-tec-e-matrix-530.rom" + standalone_path: "m-tec-e-matrix-530.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "3942d827" + sha1: "5aaf118f61fc30831435b87c8bdab6a459b4ee22" + validation: [sha1] + found_by: content + note: > + M-Tec E-Matrix 530, ROM id 144. Board ROM of the E-Matrix 530 accelerator. + Without it the board does not start. + source_ref: "source src/rommgr.cpp:634-635, source src/expansion.cpp:6940-6942, source src/cpuboard.cpp:2887-2943" + + - name: "typhoon-mk2.rom" + path: "roms/typhoon-mk2.rom" + standalone_path: "typhoon-mk2.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "f5edf7e2" + sha1: "f62bab24eaa91a1607d838af7b5fef4d05c58edc" + validation: [sha1] + found_by: content + note: > + Typhoon MK2, ROM id 236. Board ROM of the Typhoon MK2 accelerator. Without + it the board does not start. + source_ref: "source src/rommgr.cpp:636-637, source src/expansion.cpp:7246-7248, source src/cpuboard.cpp:2887-2943" + + - name: "sx32-pro.rom" + path: "roms/sx32-pro.rom" + standalone_path: "sx32-pro.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "bfd68a88" + sha1: "84a5088076917549adf33b168a869adb9e5a6fac" + validation: [sha1] + found_by: content + note: > + SX32 Pro, ROM id 160. Board ROM of the SX32 Pro accelerator. Without it the + board does not start. + source_ref: "source src/rommgr.cpp:638-639, source src/expansion.cpp:7237-7239, source src/cpuboard.cpp:2887-2943" + + - name: "ivs-vector-4.14.rom" + path: "roms/ivs-vector-4.14.rom" + standalone_path: "ivs-vector-4.14.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "3befa0c0" + sha1: "4414673ca52f78a0ae656824fd08b54fa1de237c" + validation: [sha1] + found_by: content + note: > + IVS Vector 4.14, ROM id 166. Boot ROM of the Vector accelerator SCSI or IDE + port. Without it the port has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:640-643, source src/expansion.cpp:7088-7090, source src/scsi.cpp:5323-5333" + + - name: "quikpak-4060-xp-v2.1.rom" + path: "roms/quikpak-4060-xp-v2.1.rom" + standalone_path: "quikpak-4060-xp-v2.1.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "3a8eb518" + sha1: "902dd0ba56c2afd0bb425bf5264fbc6290ad2c4e" + validation: [sha1] + found_by: content + note: > + QuikPak 4060 XP v2.1, ROM id 239. Board ROM of the QuikPak XP accelerator. + Without it the board does not start. + source_ref: "source src/rommgr.cpp:644-645, source src/expansion.cpp:6716-6718, source src/cpuboard.cpp:2887-2943" + + - name: "quikpak-4060-xp-v2.2.rom" + path: "roms/quikpak-4060-xp-v2.2.rom" + standalone_path: "quikpak-4060-xp-v2.2.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "47009144" + sha1: "547fd232d774e87237a83d30eb06e3d6b88456c2" + validation: [sha1] + found_by: content + note: > + QuikPak 4060 XP v2.2, ROM id 319. Board ROM of the QuikPak XP accelerator. + Without it the board does not start. + source_ref: "source src/rommgr.cpp:646-647, source src/expansion.cpp:6716-6718, source src/cpuboard.cpp:2887-2943" + + - name: "quikpak-4060.rom" + path: "roms/quikpak-4060.rom" + standalone_path: "quikpak-4060.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "2b12aa6d" + sha1: "023cd8a57f24a99212d64c9369da614a3f6d0932" + validation: [sha1] + found_by: content + note: > + QuikPak 4060, ROM id 320. Board ROM of the QuikPak accelerator. Without it + the board does not start. + source_ref: "source src/rommgr.cpp:648-649, source src/expansion.cpp:6707-6709, source src/cpuboard.cpp:2887-2943" + + - name: "cyberstorm-mk-i-68060-support.rom" + path: "roms/cyberstorm-mk-i-68060-support.rom" + standalone_path: "cyberstorm-mk-i-68060-support.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "33a8ff3a" + sha1: "8f4bdda010338a4851e4a2fbb4aa6d6e202fe98e" + validation: [sha1] + found_by: content + note: > + CyberStorm MK I 68060 Support, ROM id 95. 68060 support ROM of the + CyberStorm MK I board. The board starts without it. + source_ref: "source src/rommgr.cpp:843-844, source src/expansion.cpp:6810-6812, source src/cpuboard.cpp:2810-2813, source src/cpuboard.cpp:2932-2944" + + - name: "cyberstorm-mk-i-cyberscsi-module.rom" + path: "roms/cyberstorm-mk-i-cyberscsi-module.rom" + standalone_path: "cyberstorm-mk-i-cyberscsi-module.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "4e71ec63" + sha1: "8e95bc8da06050fcb596b5b4c8cf91021ff4aeb3" + validation: [sha1] + found_by: content + note: > + CyberStorm MK I CyberSCSI Module, ROM id 101. SCSI module ROM of the + CyberStorm MK I board, read when the module is enabled. + source_ref: "source src/rommgr.cpp:845-846, source src/expansion.cpp:5575-5580, source src/cpuboard.cpp:2812, source src/cpuboard.cpp:2605-2620" + + - name: "cyberstormmk2.rom" + path: "roms/cyberstormmk2.rom" + standalone_path: "cyberstormmk2.rom" + system: commodore-amiga + required: false + size: 131072 + found_by: content + note: > + CyberStorm MK II, ROM id 96. Flash ROM of the CyberStorm MK II board, + copied to the NVRAM directory on first use. Without it the board does not + start. The code also opens it by the name cyberstormmk2.rom. + source_ref: "source src/rommgr.cpp:847-848, source src/expansion.cpp:6822-6824, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184" + + - name: "cyberstormmk3.rom" + path: "roms/cyberstormmk3.rom" + standalone_path: "cyberstormmk3.rom" + system: commodore-amiga + required: false + size: 131072 + found_by: content + note: > + CyberStorm MK III v44.67, ROM id 97. Flash ROM of the CyberStorm MK III + board, copied to the NVRAM directory on first use. Without it the board + does not start. The scan hashes the first 0x1c000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. The code + also opens it by the name cyberstormmk3.rom. + source_ref: "source src/rommgr.cpp:850-851, source src/expansion.cpp:6830-6832, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/rommgr.cpp:1797-1810" + + - name: "cyberstorm-mk-iii-v44.69.rom" + path: "roms/cyberstorm-mk-iii-v44.69.rom" + standalone_path: "cyberstorm-mk-iii-v44.69.rom" + system: commodore-amiga + required: false + size: 131072 + found_by: content + note: > + CyberStorm MK III v44.69, ROM id 324. Flash ROM of the CyberStorm MK III + board, copied to the NVRAM directory on first use. Without it the board + does not start. The scan hashes the first 0x1c000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. + source_ref: "source src/rommgr.cpp:852-853, source src/expansion.cpp:6830-6832, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/rommgr.cpp:1797-1810" + + - name: "cyberstorm-mk-iii-v44.71.rom" + path: "roms/cyberstorm-mk-iii-v44.71.rom" + standalone_path: "cyberstorm-mk-iii-v44.71.rom" + system: commodore-amiga + required: false + size: 131072 + found_by: content + note: > + CyberStorm MK III v44.71, ROM id 325. Flash ROM of the CyberStorm MK III + board, copied to the NVRAM directory on first use. Without it the board + does not start. The scan hashes the first 0x1c000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. + source_ref: "source src/rommgr.cpp:854-855, source src/expansion.cpp:6830-6832, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/rommgr.cpp:1797-1810" + + - name: "cyberstormppc.rom" + path: "roms/cyberstormppc.rom" + standalone_path: "cyberstormppc.rom" + system: commodore-amiga + required: false + size: 131072 + found_by: content + note: > + CyberStorm PPC v44.67, ROM id 98. Flash ROM of the CyberStorm PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The A4000 quickstart config 2 asks for ROM id 98, then 326, then + 327. The scan hashes the first 0x1c000 bytes with bytes 0x10-0x2f cleared, + so the table SHA-1 is not the hash of the file. The code also opens it by + the name cyberstormppc.rom. + source_ref: "source src/rommgr.cpp:856-857, source src/expansion.cpp:6838-6840, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/cfgfile.cpp:9993-10003, source src/rommgr.cpp:1797-1810" + + - name: "cyberstorm-ppc-v44.69.rom" + path: "roms/cyberstorm-ppc-v44.69.rom" + standalone_path: "cyberstorm-ppc-v44.69.rom" + system: commodore-amiga + required: false + size: 131072 + found_by: content + note: > + CyberStorm PPC v44.69, ROM id 326. Flash ROM of the CyberStorm PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The A4000 quickstart config 2 asks for ROM id 98, then 326, then + 327. The scan hashes the first 0x1c000 bytes with bytes 0x10-0x2f cleared, + so the table SHA-1 is not the hash of the file. + source_ref: "source src/rommgr.cpp:858-859, source src/expansion.cpp:6838-6840, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/cfgfile.cpp:9993-10003, source src/rommgr.cpp:1797-1810" + + - name: "cyberstorm-ppc-v44.71.rom" + path: "roms/cyberstorm-ppc-v44.71.rom" + standalone_path: "cyberstorm-ppc-v44.71.rom" + system: commodore-amiga + required: false + size: 131072 + found_by: content + note: > + CyberStorm PPC v44.71, ROM id 327. Flash ROM of the CyberStorm PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The A4000 quickstart config 2 asks for ROM id 98, then 326, then + 327. The scan hashes the first 0x1c000 bytes with bytes 0x10-0x2f cleared, + so the table SHA-1 is not the hash of the file. + source_ref: "source src/rommgr.cpp:860-861, source src/expansion.cpp:6838-6840, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/cfgfile.cpp:9993-10003, source src/rommgr.cpp:1797-1810" + + - name: "blizzardppc_040.rom" + path: "roms/blizzardppc_040.rom" + standalone_path: "blizzardppc_040.rom" + system: commodore-amiga + required: false + size: 524288 + found_by: content + note: > + Blizzard PPC 68040 v44.67, ROM id 99. Flash ROM of the Blizzard PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The scan hashes the first 0x1c000 or 0x50000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. The code + also opens it by the name blizzardppc_040.rom. + source_ref: "source src/rommgr.cpp:862-863, source src/expansion.cpp:6796-6798, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/rommgr.cpp:1797-1810" + + - name: "blizzardppc_060.rom" + path: "roms/blizzardppc_060.rom" + standalone_path: "blizzardppc_060.rom" + system: commodore-amiga + required: false + size: 524288 + found_by: content + note: > + Blizzard PPC 68060 v44.67, ROM id 100. Flash ROM of the Blizzard PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The A1200 quickstart config 5 asks for ROM id 100, then 329, then + 330. The scan hashes the first 0x1c000 or 0x50000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. The code + also opens it by the name blizzardppc_060.rom. + source_ref: "source src/rommgr.cpp:864-865, source src/expansion.cpp:6796-6798, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/cfgfile.cpp:10300-10314, source src/rommgr.cpp:1797-1810" + + - name: "blizzard-ppc-68040-v44.69.rom" + path: "roms/blizzard-ppc-68040-v44.69.rom" + standalone_path: "blizzard-ppc-68040-v44.69.rom" + system: commodore-amiga + required: false + size: 524288 + found_by: content + note: > + Blizzard PPC 68040 v44.69, ROM id 328. Flash ROM of the Blizzard PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The scan hashes the first 0x1c000 or 0x50000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. + source_ref: "source src/rommgr.cpp:866-867, source src/expansion.cpp:6796-6798, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/rommgr.cpp:1797-1810" + + - name: "blizzard-ppc-68060-v44.69.rom" + path: "roms/blizzard-ppc-68060-v44.69.rom" + standalone_path: "blizzard-ppc-68060-v44.69.rom" + system: commodore-amiga + required: false + size: 524288 + found_by: content + note: > + Blizzard PPC 68060 v44.69, ROM id 329. Flash ROM of the Blizzard PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The A1200 quickstart config 5 asks for ROM id 100, then 329, then + 330. The scan hashes the first 0x1c000 or 0x50000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. + source_ref: "source src/rommgr.cpp:868-869, source src/expansion.cpp:6796-6798, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/cfgfile.cpp:10300-10314, source src/rommgr.cpp:1797-1810" + + - name: "blizzard-ppc-68040-v44.71.rom" + path: "roms/blizzard-ppc-68040-v44.71.rom" + standalone_path: "blizzard-ppc-68040-v44.71.rom" + system: commodore-amiga + required: false + size: 524288 + found_by: content + note: > + Blizzard PPC 68040 v44.71, ROM id 330. Flash ROM of the Blizzard PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The A1200 quickstart config 5 asks for ROM id 100, then 329, then + 330. The scan hashes the first 0x1c000 or 0x50000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. + source_ref: "source src/rommgr.cpp:870-871, source src/expansion.cpp:6796-6798, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/cfgfile.cpp:10300-10314, source src/rommgr.cpp:1797-1810" + + - name: "blizzard-ppc-68060-v44.71.rom" + path: "roms/blizzard-ppc-68060-v44.71.rom" + standalone_path: "blizzard-ppc-68060-v44.71.rom" + system: commodore-amiga + required: false + size: 524288 + found_by: content + note: > + Blizzard PPC 68060 v44.71, ROM id 331. Flash ROM of the Blizzard PPC board, + copied to the NVRAM directory on first use. Without it the board does not + start. The scan hashes the first 0x1c000 or 0x50000 bytes with bytes + 0x10-0x2f cleared, so the table SHA-1 is not the hash of the file. + source_ref: "source src/rommgr.cpp:872-873, source src/expansion.cpp:6796-6798, source src/cpuboard.cpp:2887-2943, source src/rommgr.cpp:3152-3184, source src/rommgr.cpp:1797-1810" + + # SCSI and IDE controllers + + - name: "a2090a.rom" + path: "roms/a2090a.rom" + standalone_path: "a2090a.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "73fe45a7" + sha1: "77ce90914be5a3bf6f26b343062b5bd8c63c3754" + validation: [sha1] + found_by: content + note: > + A2090A, ROM id 122. Boot ROM of the A2090a controller. Without it the + controller has no boot ROM. The two chip halves the table lists are also + accepted and merged. + source_ref: "source src/rommgr.cpp:446-449, source src/expansion.cpp:5639-5646, source src/a2091.cpp:4319" + + - name: "a2090a-combitec-turbo.rom" + path: "roms/a2090a-combitec-turbo.rom" + standalone_path: "a2090a-combitec-turbo.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "6a0190cd" + sha1: "b2aac2cfbb0a5e13969cc64b747a7f3c71c33932" + validation: [sha1] + found_by: content + note: > + A2090A Combitec Turbo, ROM id 212. Boot ROM of the A2090a controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:450-453, source src/expansion.cpp:5639-5646, source src/a2091.cpp:4319" + + - name: "a2090b-combitec.rom" + path: "roms/a2090b-combitec.rom" + standalone_path: "a2090b-combitec.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "dc1d45a9" + sha1: "3e99c413665826a6647e9c7a9354a0c2908f4593" + validation: [sha1] + found_by: content + note: > + A2090B Combitec, ROM id 213. Boot ROM of the A2090 Combitec controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:454-457, source src/expansion.cpp:5647-5654, source src/a2091.cpp:4358" + + - name: "a2090b-combitec-turbo.rom" + path: "roms/a2090b-combitec-turbo.rom" + standalone_path: "a2090b-combitec-turbo.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "5aa840fb" + sha1: "497da06beacbda16bbb600543ade47b91453e6d4" + validation: [sha1] + found_by: content + note: > + A2090B Combitec Turbo, ROM id 214. Boot ROM of the A2090 Combitec + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:458-461, source src/expansion.cpp:5647-5654, source src/a2091.cpp:4358" + + - name: "a2090b-macrosystem.rom" + path: "roms/a2090b-macrosystem.rom" + standalone_path: "a2090b-macrosystem.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "df1744ed" + sha1: "0f16f5b0482ab3aaba8679456a9d050d57c42682" + validation: [sha1] + found_by: content + note: > + A2090B MacroSystem, ROM id 217. Boot ROM of the A2090 Combitec controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:462-465, source src/expansion.cpp:5647-5654, source src/a2091.cpp:4358" + + - name: "a590-a2091-v4.4.rom" + path: "roms/a590-a2091-v4.4.rom" + standalone_path: "a590-a2091-v4.4.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "9fd5c76b" + sha1: "0e4190ed156b65cf57aba1e78513355cf5e0b366" + validation: [sha1] + found_by: content + note: > + A590/A2091 v4.4, ROM id 268. Boot ROM of the A590/A2091 controller. Without + it the controller has no boot ROM. The two chip halves the table lists are + also accepted and merged. + source_ref: "source src/rommgr.cpp:467-470, source src/expansion.cpp:5655-5661, source src/a2091.cpp:4232" + + - name: "a590-a2091-v4.6.rom" + path: "roms/a590-a2091-v4.6.rom" + standalone_path: "a590-a2091-v4.6.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "00a38212" + sha1: "a029a4de56e5539d0ee00588c2634f1329f06269" + validation: [sha1] + found_by: content + note: > + A590/A2091 v4.6, ROM id 202. Boot ROM of the A590/A2091 controller. Without + it the controller has no boot ROM. The two chip halves the table lists are + also accepted and merged. + source_ref: "source src/rommgr.cpp:471-474, source src/expansion.cpp:5655-5661, source src/a2091.cpp:4232" + + - name: "a590-a2091-v5.92.rom" + path: "roms/a590-a2091-v5.92.rom" + standalone_path: "a590-a2091-v5.92.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "0d39b8d9" + sha1: "f8bd7c20f2d0e7a5f344228c94bc8841cbf8e042" + validation: [sha1] + found_by: content + note: > + A590/A2091 v5.92, ROM id 215. Boot ROM of the A590/A2091 controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:475-478, source src/expansion.cpp:5655-5661, source src/a2091.cpp:4232" + + - name: "a590-a2091-v6.0.rom" + path: "roms/a590-a2091-v6.0.rom" + standalone_path: "a590-a2091-v6.0.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "8396cf4e" + sha1: "5e03bc618c862abe7bf79723b4eef4d21859a0f2" + validation: [sha1] + found_by: content + note: > + A590/A2091 v6.0, ROM id 53. Boot ROM of the A590/A2091 controller. Without + it the controller has no boot ROM. The two chip halves the table lists are + also accepted and merged. + source_ref: "source src/rommgr.cpp:479-482, source src/expansion.cpp:5655-5661, source src/a2091.cpp:4232" + + - name: "a590-a2091-v6.1.rom" + path: "roms/a590-a2091-v6.1.rom" + standalone_path: "a590-a2091-v6.1.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "accf6452" + sha1: "f56061ab3776828194d89729802ee7ae1de9df90" + validation: [sha1] + found_by: content + note: > + A590/A2091 v6.1, ROM id 206. Boot ROM of the A590/A2091 controller. Without + it the controller has no boot ROM. The two chip halves the table lists are + also accepted and merged. + source_ref: "source src/rommgr.cpp:483-486, source src/expansion.cpp:5655-5661, source src/a2091.cpp:4232" + + - name: "a590-a2091-v6.6.rom" + path: "roms/a590-a2091-v6.6.rom" + standalone_path: "a590-a2091-v6.6.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "33e00a7a" + sha1: "739bb828e874f0649360f59d26b5ed3fbc99bb66" + validation: [sha1] + found_by: content + note: > + A590/A2091 v6.6, ROM id 54. Boot ROM of the A590/A2091 controller. Without + it the controller has no boot ROM. The two chip halves the table lists are + also accepted and merged. + source_ref: "source src/rommgr.cpp:487-490, source src/expansion.cpp:5655-5661, source src/a2091.cpp:4232" + + - name: "a590-a2091-v7.0.rom" + path: "roms/a590-a2091-v7.0.rom" + standalone_path: "a590-a2091-v7.0.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "714a97a2" + sha1: "e50f01baf28998928554786372a82c333c91276e" + validation: [sha1] + found_by: content + note: > + A590/A2091 v7.0, ROM id 55. Boot ROM of the A590/A2091 controller. Without + it the controller has no boot ROM. The two chip halves the table lists are + also accepted and merged. + source_ref: "source src/rommgr.cpp:491-494, source src/expansion.cpp:5655-5661, source src/a2091.cpp:4232" + + - name: "a590-a2091-guru-rom-v6.14.rom" + path: "roms/a590-a2091-guru-rom-v6.14.rom" + standalone_path: "a590-a2091-guru-rom-v6.14.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "04e52f93" + sha1: "6da21b6f5e8f8837d64507cd8a4d5cdcac4f426b" + validation: [sha1] + found_by: content + note: > + A590/A2091 Guru ROM v6.14, ROM id 56. Boot ROM of the A590/A2091 + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:496-497, source src/expansion.cpp:5655-5661, source src/a2091.cpp:4232" + + - name: "a4091-v40.4.rom" + path: "roms/a4091-v40.4.rom" + standalone_path: "a4091-v40.4.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "9ba7e7dc" + sha1: "18985b7ec95239da21a242a4fc42f13496434534" + validation: [sha1] + found_by: content + note: > + A4091 v40.4, ROM id 240. Boot ROM of the A4091 controller. Without it the + controller has no boot ROM. + source_ref: "source src/rommgr.cpp:499-500, source src/expansion.cpp:5663-5670, source src/ncr_scsi.cpp:944" + + - name: "a4091-v40.9.rom" + path: "roms/a4091-v40.9.rom" + standalone_path: "a4091-v40.9.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "7e12a120" + sha1: "a411d5726801dc443d41428f382ae3d56f44ef27" + validation: [sha1] + found_by: content + note: > + A4091 v40.9, ROM id 57. Boot ROM of the A4091 controller. Without it the + controller has no boot ROM. + source_ref: "source src/rommgr.cpp:501-502, source src/expansion.cpp:5663-5670, source src/ncr_scsi.cpp:944" + + - name: "a4091-v40.13.rom" + path: "roms/a4091-v40.13.rom" + standalone_path: "a4091-v40.13.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "54cb9e85" + sha1: "3ce66919f6fd67974923a12d91b730f1ffb4a7ba" + validation: [sha1] + found_by: content + note: > + A4091 v40.13, ROM id 58. Boot ROM of the A4091 controller. Without it the + controller has no boot ROM. + source_ref: "source src/rommgr.cpp:503-504, source src/expansion.cpp:5663-5670, source src/ncr_scsi.cpp:944" + + - name: "supradrive-amab6.rom" + path: "roms/supradrive-amab6.rom" + standalone_path: "supradrive-amab6.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "7ce693c2" + sha1: "2f220f99f4c61a81915f04cc8464d8d2a15c65bc" + validation: [sha1] + found_by: content + note: > + SupraDrive AMAB6, ROM id 121. Boot ROM of the SupraDrive controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:506-507, source src/expansion.cpp:6027-6032, source src/scsi.cpp:4385" + + - name: "supradrive-amab5.rom" + path: "roms/supradrive-amab5.rom" + standalone_path: "supradrive-amab5.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "fac9a231" + sha1: "a52290fb56873c55667c608e8fe330eddefa1669" + validation: [sha1] + found_by: content + note: > + SupraDrive AMAB5, ROM id 134. Boot ROM of the SupraDrive controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:508-509, source src/expansion.cpp:6027-6032, source src/scsi.cpp:4385" + + - name: "supradrive-amab4.rom" + path: "roms/supradrive-amab4.rom" + standalone_path: "supradrive-amab4.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "de7f3f1c" + sha1: "c0acbfc86641a6c1024870cc519f8c4cbdfe8c64" + validation: [sha1] + found_by: content + note: > + SupraDrive AMAB4, ROM id 135. Boot ROM of the SupraDrive controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:510-511, source src/expansion.cpp:6027-6032, source src/scsi.cpp:4385" + + - name: "supradrive-amab3.rom" + path: "roms/supradrive-amab3.rom" + standalone_path: "supradrive-amab3.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "3ead39aa" + sha1: "02fe79eeef423098ec6add8cb92f849fc64bcd41" + validation: [sha1] + found_by: content + note: > + SupraDrive AMAB3, ROM id 136. Boot ROM of the SupraDrive controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:512-513, source src/expansion.cpp:6027-6032, source src/scsi.cpp:4385" + + - name: "supradrive-amab2.rom" + path: "roms/supradrive-amab2.rom" + standalone_path: "supradrive-amab2.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "297c99f3" + sha1: "8e5e8ea9a203c3ad6dd35e57b1b01f389b31edda" + validation: [sha1] + found_by: content + note: > + SupraDrive AMAB2, ROM id 299. Boot ROM of the SupraDrive controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:514-515, source src/expansion.cpp:6027-6032, source src/scsi.cpp:4385" + + - name: "supradrive-2000dma-44-25b.rom" + path: "roms/supradrive-2000dma-44-25b.rom" + standalone_path: "supradrive-2000dma-44-25b.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "0f040976" + sha1: "9faa3201d09e57bfb0e95b454fff3b90df219105" + validation: [sha1] + found_by: content + note: > + SupraDrive 2000DMA (44-25B), ROM id 298. Boot ROM of the SupraDrive + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:516-517, source src/expansion.cpp:6027-6032, source src/scsi.cpp:4385" + + - name: "fastlane.rom" + path: "roms/fastlane.rom" + standalone_path: "fastlane.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "00447765" + sha1: "2644e7cbba5cc54e880b4b4249fd1dd12eb4a3bc" + validation: [sha1] + found_by: content + note: > + Fastlane, ROM id 102. Boot ROM of the Fastlane controller. Without it the + controller has no boot ROM. + source_ref: "source src/rommgr.cpp:545-546, source src/expansion.cpp:5975-5981, source src/ncr9x_scsi.cpp:2003" + + - name: "oktagon-2008.rom" + path: "roms/oktagon-2008.rom" + standalone_path: "oktagon-2008.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "bb0d2f6a" + sha1: "56c441fa37d193393081b2e8ceae823bc7e97e49" + validation: [sha1] + found_by: content + note: > + Oktagon 2008, ROM id 103. Boot ROM of the Oktagon 2008 controller. Without + it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:547-548, source src/expansion.cpp:5591-5596, source src/ncr9x_scsi.cpp:2093" + + - name: "dkb-rapidfire-spitfire-v1.31.rom" + path: "roms/dkb-rapidfire-spitfire-v1.31.rom" + standalone_path: "dkb-rapidfire-spitfire-v1.31.rom" + system: commodore-amiga + required: false + size: 11284 + crc32: "68725e50" + sha1: "a66f8ef6901e0e41f8b72bba12165788a452cf01" + validation: [sha1] + found_by: content + note: > + DKB Rapidfire/Spitfire v1.31, ROM id 207. Boot ROM of the + RapidFire/SpitFire controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:614-615, source src/expansion.cpp:5681-5689, source src/ncr9x_scsi.cpp:2436" + + - name: "preferred-technologies-nexus.rom" + path: "roms/preferred-technologies-nexus.rom" + standalone_path: "preferred-technologies-nexus.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "f495879a" + sha1: "a3bd0202e14aa5b649d3ce88229759506500dbc2" + validation: [sha1] + found_by: content + note: > + Preferred Technologies Nexus, ROM id 139. Boot ROM of the Nexus controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:651-652, source src/expansion.cpp:5989-5997, source src/scsi.cpp:4815" + + - name: "icd-adscsi-2000-v1.6-icddisk-v1.0.rom" + path: "roms/icd-adscsi-2000-v1.6-icddisk-v1.0.rom" + standalone_path: "icd-adscsi-2000-v1.6-icddisk-v1.0.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "7dba3e1f" + sha1: "1e05f284d59a1e5d4e4de44e6f075175625cd6c0" + validation: [sha1] + found_by: content + note: > + ICD AdSCSI 2000 v1.6 (icddisk v1.0), ROM id 133. Boot ROM of the AdSCSI + Advantage 2000/2080 controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:653-654, source src/expansion.cpp:5788-5795, source src/scsi.cpp:4604, source src/scsi.cpp:4612" + + - name: "icd-adscsi-2000-v2.01-icddisk-v32.1.rom" + path: "roms/icd-adscsi-2000-v2.01-icddisk-v32.1.rom" + standalone_path: "icd-adscsi-2000-v2.01-icddisk-v32.1.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "0860a46d" + sha1: "f6bd052006d504494efd48dae6a58d7b774c9eef" + validation: [sha1] + found_by: content + note: > + ICD AdSCSI 2000 v2.01 (icddisk v32.1), ROM id 309. Boot ROM of the AdSCSI + Advantage 2000/2080 controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:655-656, source src/expansion.cpp:5788-5795, source src/scsi.cpp:4604, source src/scsi.cpp:4612" + + - name: "icd-adscsi-2000-v2.1-icddisk-v33.0.rom" + path: "roms/icd-adscsi-2000-v2.1-icddisk-v33.0.rom" + standalone_path: "icd-adscsi-2000-v2.1-icddisk-v33.0.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "3184ec04" + sha1: "f8ab84b04853404f840085ce5fe992e35dc443da" + validation: [sha1] + found_by: content + note: > + ICD AdSCSI 2000 v2.1 (icddisk v33.0), ROM id 232. Boot ROM of the AdSCSI + Advantage 2000/2080 controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:657-658, source src/expansion.cpp:5788-5795, source src/scsi.cpp:4604, source src/scsi.cpp:4612" + + - name: "icd-adscsi-2000-v2.2-icddisk-v34.0.rom" + path: "roms/icd-adscsi-2000-v2.2-icddisk-v34.0.rom" + standalone_path: "icd-adscsi-2000-v2.2-icddisk-v34.0.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "6881cd2f" + sha1: "482fab24df39446ba8662c7e67f11854895a46d9" + validation: [sha1] + found_by: content + note: > + ICD AdSCSI 2000 v2.2 (icddisk v34.0), ROM id 233. Boot ROM of the AdSCSI + Advantage 2000/2080 controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:659-660, source src/expansion.cpp:5788-5795, source src/scsi.cpp:4604, source src/scsi.cpp:4612" + + - name: "archos-add-500.rom" + path: "roms/archos-add-500.rom" + standalone_path: "archos-add-500.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "3f4e4a74" + sha1: "9ed96fc0d6381dc33192b0afdfae4b74576c3a69" + validation: [sha1] + found_by: content + note: > + Archos ADD-500, ROM id 132. Boot ROM of the ADD-500 controller. Without it + the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:661-662, source src/expansion.cpp:5540-5546, source src/scsi.cpp:4535, source src/scsi.cpp:4543" + + - name: "protar-a500hd.rom" + path: "roms/protar-a500hd.rom" + standalone_path: "protar-a500hd.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "10c1b22c" + sha1: "2b800cde79fd559eebd5e432d711af3d0b8ea7e9" + validation: [sha1] + found_by: content + note: > + Protar A500HD, ROM id 131. Boot ROM of the A500 HD controller. Without it + the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:663-664, source src/expansion.cpp:6004-6010, source src/scsi.cpp:4512, source src/scsi.cpp:4520" + + - name: "m-tec-at500-v1.33w.rom" + path: "roms/m-tec-at500-v1.33w.rom" + standalone_path: "m-tec-at500-v1.33w.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "38b6b6b0" + sha1: "8bb1093ad592e7df99c48f83b9f842b2b1a6e618" + validation: [sha1] + found_by: content + note: > + M-Tec AT500 v1.33w, ROM id 130. Boot ROM of the AT 500 controller. Without + it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:665-666, source src/expansion.cpp:5918-5923, source src/idecontrollers.cpp:2779" + + - name: "adide-40-44-v33.rom" + path: "roms/adide-40-44-v33.rom" + standalone_path: "adide-40-44-v33.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "330254ce" + sha1: "c91dd3b53f1986bd94fba150e753c2da4dee78e7" + validation: [sha1] + found_by: content + note: > + AdIDE 40/44 v33, ROM id 141. Boot ROM of the AdIDE controller. Without it + the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:667-668, source src/expansion.cpp:5782-5787, source src/idecontrollers.cpp:2757" + + - name: "adide-40-44-v34.rom" + path: "roms/adide-40-44-v34.rom" + standalone_path: "adide-40-44-v34.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "edf84cbe" + sha1: "abdbc01daa0b3aaee4401ad7e65525a96bfa2b27" + validation: [sha1] + found_by: content + note: > + AdIDE 40/44 v34, ROM id 129. Boot ROM of the AdIDE controller. Without it + the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:669-670, source src/expansion.cpp:5782-5787, source src/idecontrollers.cpp:2757" + + - name: "vector-falcon-8000-v7.1.rom" + path: "roms/vector-falcon-8000-v7.1.rom" + standalone_path: "vector-falcon-8000-v7.1.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "a8120c55" + sha1: "248935abf4d74036efdafdbb7817e232fc13e0fa" + validation: [sha1] + found_by: content + note: > + Vector Falcon 8000 v7.1, ROM id 128. Boot ROM of the Vector Falcon 8000 + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:671-674, source src/expansion.cpp:5770-5775, source src/scsi.cpp:4479, source src/scsi.cpp:4495" + + - name: "vector-falcon-8000-v7.6.rom" + path: "roms/vector-falcon-8000-v7.6.rom" + standalone_path: "vector-falcon-8000-v7.6.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "2177a145" + sha1: "8a7e617fed566bb8b33f640905d9b946cee6d4bf" + validation: [sha1] + found_by: content + note: > + Vector Falcon 8000 v7.6, ROM id 172. Boot ROM of the Vector Falcon 8000 + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:675-678, source src/expansion.cpp:5770-5775, source src/scsi.cpp:4479, source src/scsi.cpp:4495" + + - name: "kommos-a500-a2000-v1.8.rom" + path: "roms/kommos-a500-a2000-v1.8.rom" + standalone_path: "kommos-a500-a2000-v1.8.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "c1a5c848" + sha1: "291310f125455f2d8e114bcde104ca4c9db51747" + validation: [sha1] + found_by: content + note: > + Kommos A500/A2000 v1.8, ROM id 127. Boot ROM of the Kommos A500/A2000 SCSI + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:679-682, source src/expansion.cpp:5841-5846, source src/scsi.cpp:4460" + + - name: "kommos-a500-a2000-v1.7.rom" + path: "roms/kommos-a500-a2000-v1.7.rom" + standalone_path: "kommos-a500-a2000-v1.7.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "025d7835" + sha1: "8205ad6e08dbf5a69ba17956b5237ffe768de5a4" + validation: [sha1] + found_by: content + note: > + Kommos A500/A2000 v1.7, ROM id 140. Boot ROM of the Kommos A500/A2000 SCSI + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:683-686, source src/expansion.cpp:5841-5846, source src/scsi.cpp:4460" + + - name: "kupke-golem-v3.9.rom" + path: "roms/kupke-golem-v3.9.rom" + standalone_path: "kupke-golem-v3.9.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "49157dd0" + sha1: "03b615c92befa474a37303cadc3e830d3c0d9a9f" + validation: [sha1] + found_by: content + note: > + Kupke Golem v3.9, ROM id 124. Boot ROM of the Golem SCSI II controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:687-690, source src/expansion.cpp:5853-5859, source src/scsi.cpp:4400, source src/scsi.cpp:4410" + + - name: "gvp-series-i-v1.0.rom" + path: "roms/gvp-series-i-v1.0.rom" + standalone_path: "gvp-series-i-v1.0.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "1a4c20aa" + sha1: "b9a3377e2d9b516328693c6319ffb65b40ae3618" + validation: [sha1] + found_by: content + note: > + GVP Series I v1.0, ROM id 123. Boot ROM of the GVP Series I controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:691-694, source src/expansion.cpp:5737-5742, source src/a2091.cpp:4489" + + - name: "gvp-series-i-v3.7.rom" + path: "roms/gvp-series-i-v3.7.rom" + standalone_path: "gvp-series-i-v3.7.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "5dcddce0" + sha1: "d73964220bd963643101d00f5fe94c6058fe7578" + validation: [sha1] + found_by: content + note: > + GVP Series I v3.7, ROM id 222. Boot ROM of the GVP Series I controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:695-698, source src/expansion.cpp:5737-5742, source src/a2091.cpp:4489" + + - name: "gvp-series-i-ii-v3.15.rom" + path: "roms/gvp-series-i-ii-v3.15.rom" + standalone_path: "gvp-series-i-ii-v3.15.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "f99c6f11" + sha1: "77098a9e35acaef211a546f0c564cdacf52836c4" + validation: [sha1] + found_by: content + note: > + GVP Series I/II v3.15, ROM id 111. Boot ROM that both the GVP Series I and + the GVP Series II controllers accept. Without it the controller has no boot + ROM. + source_ref: "source src/rommgr.cpp:700-701, source src/expansion.cpp:5737-5749, source src/a2091.cpp:4489" + + - name: "gvp-series-i-ii-v3.7.rom" + path: "roms/gvp-series-i-ii-v3.7.rom" + standalone_path: "gvp-series-i-ii-v3.7.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "e136b9c4" + sha1: "abcc0b52a99dba6fc2eb842863c7c805b7f4d770" + validation: [sha1] + found_by: content + note: > + GVP Series I/II v3.7, ROM id 238. Boot ROM that both the GVP Series I and + the GVP Series II controllers accept. Without it the controller has no boot + ROM. + source_ref: "source src/rommgr.cpp:702-703, source src/expansion.cpp:5737-5749, source src/a2091.cpp:4489" + + - name: "gvp-series-ii-v4.13.rom" + path: "roms/gvp-series-ii-v4.13.rom" + standalone_path: "gvp-series-ii-v4.13.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "fc20b5e2" + sha1: "85c050ba894ced53359fd7d6730250e74c4b66bf" + validation: [sha1] + found_by: content + note: > + GVP Series II v4.13, ROM id 263. Boot ROM of the GVP Series II controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:704-705, source src/expansion.cpp:5743-5749, source src/a2091.cpp:4489" + + - name: "gvp-series-ii-v4.15.rom" + path: "roms/gvp-series-ii-v4.15.rom" + standalone_path: "gvp-series-ii-v4.15.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "f89f44d6" + sha1: "bf10c12cc72dd040549ea17c24947633e3773297" + validation: [sha1] + found_by: content + note: > + GVP Series II v4.15, ROM id 109. Boot ROM of the GVP Series II controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:706-707, source src/expansion.cpp:5743-5749, source src/a2091.cpp:4489" + + - name: "gvp-series-ii-guru-rom.rom" + path: "roms/gvp-series-ii-guru-rom.rom" + standalone_path: "gvp-series-ii-guru-rom.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "756103b1" + sha1: "7f1335eaf5b7ce73c5231173261da5aae7249645" + validation: [sha1] + found_by: content + note: > + GVP Series II Guru ROM, ROM id 110. Boot ROM of the GVP Series II + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:708-709, source src/expansion.cpp:5743-5749, source src/a2091.cpp:4489" + + - name: "alfapower-v6.10.rom" + path: "roms/alfapower-v6.10.rom" + standalone_path: "alfapower-v6.10.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "1cfb0a0b" + sha1: "c7275eda547d66645c4eb7a03b5cef37a498365a" + validation: [sha1] + found_by: content + note: > + AlfaPower v6.10, ROM id 117. Boot ROM of the AlfaPower/AT-Bus 2008 + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:710-711, source src/expansion.cpp:5598-5604, source src/idecontrollers.cpp:2487" + + - name: "alfapower-v8.2.rom" + path: "roms/alfapower-v8.2.rom" + standalone_path: "alfapower-v8.2.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "42b570db" + sha1: "f7d3f6bf83ef13f9438bf0d3790d2f69c26dcabe" + validation: [sha1] + found_by: content + note: > + AlfaPower v8.2, ROM id 310. Boot ROM of the AlfaPower Plus controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:712-713, source src/expansion.cpp:5605-5611, source src/idecontrollers.cpp:2487" + + - name: "alfapower-v8.3.rom" + path: "roms/alfapower-v8.3.rom" + standalone_path: "alfapower-v8.3.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "e8201bad" + sha1: "defea015596fce3211e8439723046a315a7726dc" + validation: [sha1] + found_by: content + note: > + AlfaPower v8.3, ROM id 118. Boot ROM of the AlfaPower Plus controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:714-715, source src/expansion.cpp:5605-5611, source src/idecontrollers.cpp:2487" + + - name: "masoboshi-mc-702-v2.204.rom" + path: "roms/masoboshi-mc-702-v2.204.rom" + standalone_path: "masoboshi-mc-702-v2.204.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "0748c752" + sha1: "6795c29947d2d665a6f698b0c033752c27d0a5b1" + validation: [sha1] + found_by: content + note: > + Masoboshi MC-702 v2.204, ROM id 338. Boot ROM of the MasterCard controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:716-717, source src/expansion.cpp:5932-5937, source src/idecontrollers.cpp:2616" + + - name: "masoboshi-mc-702-v2.202.rom" + path: "roms/masoboshi-mc-702-v2.202.rom" + standalone_path: "masoboshi-mc-702-v2.202.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "07746315" + sha1: "ba388102d070538e7a8c15556830c653130b902c" + validation: [sha1] + found_by: content + note: > + Masoboshi MC-702 v2.202, ROM id 339. Boot ROM of the MasterCard controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:718-719, source src/expansion.cpp:5932-5937, source src/idecontrollers.cpp:2616" + + - name: "masoboshi-mc-702-v2.201.rom" + path: "roms/masoboshi-mc-702-v2.201.rom" + standalone_path: "masoboshi-mc-702-v2.201.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "cd99b98a" + sha1: "3897e46a66d5833f849b8e8130acb3cb319a2fa0" + validation: [sha1] + found_by: content + note: > + Masoboshi MC-702 v2.201, ROM id 120. Boot ROM of the MasterCard controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:720-721, source src/expansion.cpp:5932-5937, source src/idecontrollers.cpp:2616" + + - name: "masoboshi-mc-702-v2.197.rom" + path: "roms/masoboshi-mc-702-v2.197.rom" + standalone_path: "masoboshi-mc-702-v2.197.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "534e170c" + sha1: "cf7c6c511c767f68934aa897b08b70bccf2a367f" + validation: [sha1] + found_by: content + note: > + Masoboshi MC-702 v2.197, ROM id 316. Boot ROM of the MasterCard controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:722-723, source src/expansion.cpp:5932-5937, source src/idecontrollers.cpp:2616" + + - name: "roctec-rochard-rh800c-v1.rom" + path: "roms/roctec-rochard-rh800c-v1.rom" + standalone_path: "roctec-rochard-rh800c-v1.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "0e980aec" + sha1: "bcafa14de80576cbe3e0c6381ca90379e078a8bd" + validation: [sha1] + found_by: content + note: > + Roctec RocHard RH800C v1, ROM id 138. Boot ROM of the RocHard RH800C + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:724-727, source src/expansion.cpp:6011-6018, source src/idecontrollers.cpp:2812, source src/idecontrollers.cpp:2826" + + - name: "roctec-rochard-rh800c-v2.rom" + path: "roms/roctec-rochard-rh800c-v2.rom" + standalone_path: "roctec-rochard-rh800c-v2.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "5c27be3f" + sha1: "acdb8bc764493f659da4c1e83005ceebced73dbc" + validation: [sha1] + found_by: content + note: > + Roctec RocHard RH800C v2, ROM id 146. Boot ROM of the RocHard RH800C + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:728-731, source src/expansion.cpp:6011-6018, source src/idecontrollers.cpp:2812, source src/idecontrollers.cpp:2826" + + - name: "apollo-500-2000.rom" + path: "roms/apollo-500-2000.rom" + standalone_path: "apollo-500-2000.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "931bad25" + sha1: "24b4ee4c129c7a93f83ad57066afd80c4179f39c" + validation: [sha1] + found_by: content + note: > + Apollo 500/2000, ROM id 145. Boot ROM of the Apollo 500/2000 controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:732-733, source src/expansion.cpp:5533-5539, source src/idecontrollers.cpp:2590" + + - name: "multi-evolution-500-2000-v2.2.rom" + path: "roms/multi-evolution-500-2000-v2.2.rom" + standalone_path: "multi-evolution-500-2000-v2.2.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "8fbe3fc5" + sha1: "367ad3a37d1c9d61e92915d3b8121402372b6aa1" + validation: [sha1] + found_by: content + note: > + Multi Evolution 500/2000 v2.2, ROM id 245. Boot ROM of the Multi Evolution + 500/2000 controller. Without it the controller has no boot ROM. The two + chip halves the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:734-737, source src/expansion.cpp:5869-5875, source src/ncr9x_scsi.cpp:1993" + + - name: "multi-evolution-500-2000-v3.0.rom" + path: "roms/multi-evolution-500-2000-v3.0.rom" + standalone_path: "multi-evolution-500-2000-v3.0.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "d13a2c89" + sha1: "f9e38c4bf5c6499d486946ba7b7636b80845265b" + validation: [sha1] + found_by: content + note: > + Multi Evolution 500/2000 v3.0, ROM id 156. Boot ROM of the Multi Evolution + 500/2000 controller. Without it the controller has no boot ROM. The two + chip halves the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:738-741, source src/expansion.cpp:5869-5875, source src/ncr9x_scsi.cpp:1993" + + - name: "multi-evolution-500-2000-v3.4.rom" + path: "roms/multi-evolution-500-2000-v3.4.rom" + standalone_path: "multi-evolution-500-2000-v3.4.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "99516e5d" + sha1: "036bd049b661996b1b4ab62116bfaf73b12a2202" + validation: [sha1] + found_by: content + note: > + Multi Evolution 500/2000 v3.4, ROM id 244. Boot ROM of the Multi Evolution + 500/2000 controller. Without it the controller has no boot ROM. The two + chip halves the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:742-745, source src/expansion.cpp:5869-5875, source src/ncr9x_scsi.cpp:1993" + + - name: "kupke-golem-v4.2.rom" + path: "roms/kupke-golem-v4.2.rom" + standalone_path: "kupke-golem-v4.2.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "5e94ee56" + sha1: "f83dae5549f9b73552d5c6e041da4c6c995a7f47" + validation: [sha1] + found_by: content + note: > + Kupke Golem v4.2, ROM id 157. Boot ROM of the Golem Fast SCSI/IDE + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:746-749, source src/expansion.cpp:5860-5867, source src/idecontrollers.cpp:2905" + + - name: "phoenix-board-scsi-vj.rom" + path: "roms/phoenix-board-scsi-vj.rom" + standalone_path: "phoenix-board-scsi-vj.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "1f672e4b" + sha1: "b20d50b831ec9823fa732fc6522ecc6aae36ec33" + validation: [sha1] + found_by: content + note: > + Phoenix Board SCSI v.J, ROM id 159. Boot ROM of the Phoenix Board SCSI + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:750-751, source src/expansion.cpp:5983-5988, source src/scsi.cpp:5262, source src/scsi.cpp:5271, source src/scsi.cpp:5272" + + - name: "ivs-grandslam-trumpcard-pro-v4.9.rom" + path: "roms/ivs-grandslam-trumpcard-pro-v4.9.rom" + standalone_path: "ivs-grandslam-trumpcard-pro-v4.9.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "4a15f224" + sha1: "29500b47289e84ac575e3c7d82199b45605d8fc9" + validation: [sha1] + found_by: content + note: > + IVS GrandSlam/Trumpcard Pro v4.9, ROM id 161. Boot ROM of the Grand Slam + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:752-753, source src/expansion.cpp:5823-5831, source src/scsi.cpp:4692" + + - name: "ivs-trumpcard-v4.9.rom" + path: "roms/ivs-trumpcard-v4.9.rom" + standalone_path: "ivs-trumpcard-v4.9.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "5282febc" + sha1: "9d69a53460529d6613b64723b0c8dfa580274048" + validation: [sha1] + found_by: content + note: > + IVS Trumpcard v4.9, ROM id 249. Boot ROM of the Trumpcard controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:754-755, source src/expansion.cpp:5814-5822, source src/scsi.cpp:4719" + + - name: "ivs-trumpcard-v3.1.rom" + path: "roms/ivs-trumpcard-v3.1.rom" + standalone_path: "ivs-trumpcard-v3.1.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "fe48dd5d" + sha1: "03e6c1b1f3300c944cc176eab3082e91e75d5e62" + validation: [sha1] + found_by: content + note: > + IVS Trumpcard v3.1, ROM id 261. Boot ROM of the Trumpcard controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:756-757, source src/expansion.cpp:5814-5822, source src/scsi.cpp:4719" + + - name: "ivs-trumpcard-v1.5.rom" + path: "roms/ivs-trumpcard-v1.5.rom" + standalone_path: "ivs-trumpcard-v1.5.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "6f37eb74" + sha1: "bf510c231c2134d7ed4b4158ba4acf14a34824d2" + validation: [sha1] + found_by: content + note: > + IVS Trumpcard v1.5, ROM id 262. Boot ROM of the Trumpcard controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:758-759, source src/expansion.cpp:5814-5822, source src/scsi.cpp:4719" + + - name: "expansion-systems-dataflyerplus-v1.5.rom" + path: "roms/expansion-systems-dataflyerplus-v1.5.rom" + standalone_path: "expansion-systems-dataflyerplus-v1.5.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "00888f19" + sha1: "54b73354b359269159a809090bdb67df8ac22aa9" + validation: [sha1] + found_by: content + note: > + Expansion Systems Dataflyer+ v1.5, ROM id 170. Boot ROM of the DataFlyer + Plus controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:760-761, source src/expansion.cpp:5720-5727, source src/idecontrollers.cpp:2957" + + - name: "expansion-systems-dataflyerplus-v1.7.rom" + path: "roms/expansion-systems-dataflyerplus-v1.7.rom" + standalone_path: "expansion-systems-dataflyerplus-v1.7.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "b0814aca" + sha1: "b817672c1beb86c6840aa4bdf46408351ed103f4" + validation: [sha1] + found_by: content + note: > + Expansion Systems Dataflyer+ v1.7, ROM id 171. Boot ROM of the DataFlyer + Plus controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:762-763, source src/expansion.cpp:5720-5727, source src/idecontrollers.cpp:2957" + + - name: "expansion-systems-dataflyerplus-v2.0.rom" + path: "roms/expansion-systems-dataflyerplus-v2.0.rom" + standalone_path: "expansion-systems-dataflyerplus-v2.0.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "8b35c0d0" + sha1: "31237f26399a9de40a48871fffa1bd91c881fde7" + validation: [sha1] + found_by: content + note: > + Expansion Systems Dataflyer+ v2.0, ROM id 211. Boot ROM of the DataFlyer + Plus controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:764-765, source src/expansion.cpp:5720-5727, source src/idecontrollers.cpp:2957" + + - name: "expansion-systems-dataflyerplus-v2.1.rom" + path: "roms/expansion-systems-dataflyerplus-v2.1.rom" + standalone_path: "expansion-systems-dataflyerplus-v2.1.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "c49daa65" + sha1: "20275716dc7eb00e5dc53680b5c8a90a7c00e390" + validation: [sha1] + found_by: content + note: > + Expansion Systems Dataflyer+ v2.1, ROM id 169. Boot ROM of the DataFlyer + Plus controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:766-767, source src/expansion.cpp:5720-5727, source src/idecontrollers.cpp:2957" + + - name: "microbotics-hardframe-v1.5.rom" + path: "roms/microbotics-hardframe-v1.5.rom" + standalone_path: "microbotics-hardframe-v1.5.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "8d144212" + sha1: "c5a4f4975216c1b1e08760d00bd579efea226354" + validation: [sha1] + found_by: content + note: > + Microbotics HardFrame v1.5, ROM id 173. Boot ROM of the HardFrame + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:768-769, source src/expansion.cpp:5938-5945, source src/scsi.cpp:5427, source src/scsi.cpp:5435" + + - name: "microbotics-hardframe-v1.8.rom" + path: "roms/microbotics-hardframe-v1.8.rom" + standalone_path: "microbotics-hardframe-v1.8.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "10de5e2d" + sha1: "3e25af59e6bb0d69d925f07b200b1b0e45e57d33" + validation: [sha1] + found_by: content + note: > + Microbotics HardFrame v1.8, ROM id 258. Boot ROM of the HardFrame + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:770-771, source src/expansion.cpp:5938-5945, source src/scsi.cpp:5427, source src/scsi.cpp:5435" + + - name: "microbotics-hardframe-v1.9.rom" + path: "roms/microbotics-hardframe-v1.9.rom" + standalone_path: "microbotics-hardframe-v1.9.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "948a3de8" + sha1: "c34cb0efa0ebdd719d604d38625a160d9e2ca95d" + validation: [sha1] + found_by: content + note: > + Microbotics HardFrame v1.9, ROM id 256. Boot ROM of the HardFrame + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:772-773, source src/expansion.cpp:5938-5945, source src/scsi.cpp:5427, source src/scsi.cpp:5435" + + - name: "mainhattan-data-a-team-v1.8.rom" + path: "roms/mainhattan-data-a-team-v1.8.rom" + standalone_path: "mainhattan-data-a-team-v1.8.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "4fe08a5d" + sha1: "007e5c614048f5986d14011d23a414355e0a2259" + validation: [sha1] + found_by: content + note: > + Mainhattan Data A-Team v1.8, ROM id 174. Boot ROM of the A-Team controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:774-775, source src/expansion.cpp:5912-5917, source src/idecontrollers.cpp:3009" + + - name: "m-tec-at500-megabody-v1.33.rom" + path: "roms/m-tec-at500-megabody-v1.33.rom" + standalone_path: "m-tec-at500-megabody-v1.33.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "19715a2f" + sha1: "124f9d1019f1b28516f33f4e2bf03ca02f9ad772" + validation: [sha1] + found_by: content + note: > + M-Tec AT500 Megabody v1.33, ROM id 199. Boot ROM of the AT 500 controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:776-777, source src/expansion.cpp:5918-5923, source src/idecontrollers.cpp:2779" + + - name: "comspec-sa-series-v34.805.rom" + path: "roms/comspec-sa-series-v34.805.rom" + standalone_path: "comspec-sa-series-v34.805.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "44458e28" + sha1: "048b8232fe54252bb81e0d0683c9e92d880f3cbf" + validation: [sha1] + found_by: content + note: > + Comspec SA series v34.805, ROM id 200. Boot ROM of the SA series + controller. Without it the controller has no boot ROM. The two chip halves + the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:778-781, source src/expansion.cpp:5672-5679, source src/a2091.cpp:4651" + + - name: "california-access-malibu-v1.0.rom" + path: "roms/california-access-malibu-v1.0.rom" + standalone_path: "california-access-malibu-v1.0.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "e60b1ce6" + sha1: "a7c4b709494f403442b8ec11090dc1d018098ebc" + validation: [sha1] + found_by: content + note: > + California Access Malibu v1.0, ROM id 201. Boot ROM of the Malibu + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:782-783, source src/expansion.cpp:5621-5629, source src/scsi.cpp:5484" + + - name: "ashcom-design-addhard-v2.0.rom" + path: "roms/ashcom-design-addhard-v2.0.rom" + standalone_path: "ashcom-design-addhard-v2.0.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "e9ad804a" + sha1: "9ebabbebc1e5ce9ed8e43870dd810524770ba6b4" + validation: [sha1] + found_by: content + note: > + Ashcom Design AddHard v2.0, ROM id 209. Boot ROM of the AddHard controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:784-785, source src/expansion.cpp:5553-5561, source src/scsi.cpp:5513" + + - name: "spirit-technology-inmate.rom" + path: "roms/spirit-technology-inmate.rom" + standalone_path: "spirit-technology-inmate.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "a2e0cfb8" + sha1: "fa7199d2ea343b014b0f6eb6992d2e9540fce61b" + validation: [sha1] + found_by: content + note: > + Spirit Technology InMate, ROM id 218. Boot ROM of the InMate controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:786-787, source src/expansion.cpp:6019-6026, source src/scsi.cpp:5452, source src/scsi.cpp:5460" + + - name: "vortex-system-2000.rom" + path: "roms/vortex-system-2000.rom" + standalone_path: "vortex-system-2000.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "053097c3" + sha1: "ee87f26cf858b63ad6bff74b802cea0397281fad" + validation: [sha1] + found_by: content + note: > + Vortex System 2000, ROM id 219. Boot ROM of the System 2000 controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:788-789, source src/expansion.cpp:6104-6109, source src/scsi.cpp:5187" + + - name: "kupke-golem-hd3000-v1.4.rom" + path: "roms/kupke-golem-hd3000-v1.4.rom" + standalone_path: "kupke-golem-hd3000-v1.4.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "93ba65c7" + sha1: "33ba9d1e27e9c210a27ee6d3855d3feb1649ddc2" + validation: [sha1] + found_by: content + note: > + Kupke Golem HD3000 v1.4, ROM id 220. Boot ROM of the HD3000 controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:790-793, source src/expansion.cpp:5847-5852, source src/scsi.cpp:5561, source src/scsi.cpp:5569" + + - name: "evesham-micros-reference.rom" + path: "roms/evesham-micros-reference.rom" + standalone_path: "evesham-micros-reference.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "b0225f48" + sha1: "2b170b402f60d28c344fc4637e99915f92e0e8f1" + validation: [sha1] + found_by: content + note: > + Evesham Micros Reference, ROM id 221. Boot ROM of the Reference 40/100 + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:794-795, source src/expansion.cpp:5707-5713, source src/scsi.cpp:5584, source src/scsi.cpp:5592" + + - name: "profex-electronics-hd-3300.rom" + path: "roms/profex-electronics-hd-3300.rom" + standalone_path: "profex-electronics-hd-3300.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "fe4bf404" + sha1: "c6c1e465c05e4794ee76c9e294def44d1c7560a1" + validation: [sha1] + found_by: content + note: > + Profex Electronics HD 3300, ROM id 223. Boot ROM of the HD 3300 controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:796-797, source src/expansion.cpp:5998-6003, source src/scsi.cpp:5609, source src/scsi.cpp:5619" + + - name: "elsat-mega-ram-hd.rom" + path: "roms/elsat-mega-ram-hd.rom" + standalone_path: "elsat-mega-ram-hd.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "1b854f6b" + sha1: "c39d6202ccb65f1763d1835e19d5b63d28f1b6a3" + validation: [sha1] + found_by: content + note: > + Elsat Mega Ram HD, ROM id 224. Boot ROM of the Mega Ram HD controller. + Without it the controller has no boot ROM. The two chip halves the table + lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:798-801, source src/expansion.cpp:5700-5706, source src/idecontrollers.cpp:3131" + + - name: "xetec-fasttrak.rom" + path: "roms/xetec-fasttrak.rom" + standalone_path: "xetec-fasttrak.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "c5ae45d4" + sha1: "8d682bc172bd2d354ba2db5c9f6745a48937782c" + validation: [sha1] + found_by: content + note: > + Xetec FastTrak, ROM id 227. Boot ROM of the FastTrak controller. Without it + the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:802-803, source src/expansion.cpp:6134-6140, source src/scsi.cpp:5641, source src/scsi.cpp:5649" + + - name: "c-ltd-kronos.rom" + path: "roms/c-ltd-kronos.rom" + standalone_path: "c-ltd-kronos.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "9366d357" + sha1: "7113add04c782ed7a56a74ba3378d55c5605eaf6" + validation: [sha1] + found_by: content + note: > + C-Ltd Kronos, ROM id 235. Boot ROM of the Kronos controller. Without it the + controller has no boot ROM. + source_ref: "source src/rommgr.cpp:804-805, source src/expansion.cpp:6116-6124, source src/scsi.cpp:4590" + + - name: "accessx-500-v2.1.rom" + path: "roms/accessx-500-v2.1.rom" + standalone_path: "accessx-500-v2.1.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "039a14a7" + sha1: "1a710b94cc1bd217b0c310af4b0f6d0a1125b05a" + validation: [sha1] + found_by: content + note: > + AccessX 500 v2.1, ROM id 242. Boot ROM of the AccessX controller. Without + it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:806-807, source src/expansion.cpp:5582-5589, source src/idecontrollers.cpp:3170" + + - name: "accessx-2000-v2.1.rom" + path: "roms/accessx-2000-v2.1.rom" + standalone_path: "accessx-2000-v2.1.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "d1b7ab32" + sha1: "09da8da31231025642f761dac2af7f4984db4c31" + validation: [sha1] + found_by: content + note: > + AccessX 2000 v2.1, ROM id 255. Boot ROM of the AccessX controller. Without + it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:808-809, source src/expansion.cpp:5582-5589, source src/idecontrollers.cpp:3170" + + - name: "accessx-500-2000-v2.1-descrambled.rom" + path: "roms/accessx-500-2000-v2.1-descrambled.rom" + standalone_path: "accessx-500-2000-v2.1-descrambled.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "415a5cae" + sha1: "15c8c15f3700e867d1dbe2eecbb7c7cd245555fa" + validation: [sha1] + found_by: content + note: > + AccessX 500/2000 v2.1 (descrambled), ROM id 243. Boot ROM of the AccessX + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:810-811, source src/expansion.cpp:5582-5589, source src/idecontrollers.cpp:3170" + + - name: "pacific-peripherals-overdrive-v1.5.rom" + path: "roms/pacific-peripherals-overdrive-v1.5.rom" + standalone_path: "pacific-peripherals-overdrive-v1.5.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "86e2716b" + sha1: "075b50cb166e00ac4016ef7f02532e86e73b7711" + validation: [sha1] + found_by: content + note: > + Pacific Peripherals Overdrive v1.5, ROM id 246. Boot ROM of the Overdrive + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:812-813, source src/expansion.cpp:5965-5973, source src/scsi.cpp:5673" + + - name: "pacific-peripherals-overdrive-v2.0.rom" + path: "roms/pacific-peripherals-overdrive-v2.0.rom" + standalone_path: "pacific-peripherals-overdrive-v2.0.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "ebe42aa6" + sha1: "dff761c2429d0d262151d83112746f833b8d36f0" + validation: [sha1] + found_by: content + note: > + Pacific Peripherals Overdrive v2.0, ROM id 247. Boot ROM of the Overdrive + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:814-815, source src/expansion.cpp:5965-5973, source src/scsi.cpp:5673" + + - name: "archos-overdrive-hd-v5.0.rom" + path: "roms/archos-overdrive-hd-v5.0.rom" + standalone_path: "archos-overdrive-hd-v5.0.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "30c0e3f9" + sha1: "90014e97700333a7931b382fe672b6e44b7b8acc" + validation: [sha1] + found_by: content + note: > + Archos Overdrive HD v5.0, ROM id 250. Boot ROM of the Overdrive HD + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:816-817, source src/expansion.cpp:5547-5552, source src/gayle.cpp:1619" + + - name: "archos-overdrive-hd-v3.0.rom" + path: "roms/archos-overdrive-hd-v3.0.rom" + standalone_path: "archos-overdrive-hd-v3.0.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "68c6dc4b" + sha1: "67a5df20f6d893a30ff130b4e4b9aaabf4be5e90" + validation: [sha1] + found_by: content + note: > + Archos Overdrive HD v3.0, ROM id 332. Boot ROM of the Overdrive HD + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:818-819, source src/expansion.cpp:5547-5552, source src/gayle.cpp:1619" + + - name: "trumpcard-500at-v1.1.rom" + path: "roms/trumpcard-500at-v1.1.rom" + standalone_path: "trumpcard-500at-v1.1.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "b6467cb8" + sha1: "bc1cd85f1601169132a2a8d62ee38666520d5cf1" + validation: [sha1] + found_by: content + note: > + Trumpcard 500AT v1.1, ROM id 251. Boot ROM of the Trumpcard 500AT + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:820-821, source src/expansion.cpp:5832-5840, source src/idecontrollers.cpp:3294" + + - name: "trumpcard-500at-v1.2.rom" + path: "roms/trumpcard-500at-v1.2.rom" + standalone_path: "trumpcard-500at-v1.2.rom" + system: commodore-amiga + required: false + size: 16384 + crc32: "3eb87eb3" + sha1: "ff41889e641114e55ec1f784d79216cee9a74a40" + validation: [sha1] + found_by: content + note: > + Trumpcard 500AT v1.2, ROM id 252. Boot ROM of the Trumpcard 500AT + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:822-823, source src/expansion.cpp:5832-5840, source src/idecontrollers.cpp:3294" + + - name: "trifecta-v4.31.rom" + path: "roms/trifecta-v4.31.rom" + standalone_path: "trifecta-v4.31.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "591c3cd4" + sha1: "681b8a673775dd0c8f13b6418852a51ef3a29da3" + validation: [sha1] + found_by: content + note: > + Trifecta v4.31, ROM id 253. Boot ROM of the Trifecta controller. Without it + the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:824-825, source src/expansion.cpp:5796-5804, source src/idecontrollers.cpp:2700" + + - name: "mastercard-v2.3.rom" + path: "roms/mastercard-v2.3.rom" + standalone_path: "mastercard-v2.3.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "4837cc3d" + sha1: "eea5e9abb3ffb4eddf09825c7e8de75d0d08c01f" + validation: [sha1] + found_by: content + note: > + Mastercard v2.3, ROM id 254. Boot ROM of the Mastercard controller. Without + it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:826-827, source src/expansion.cpp:5925-5930, source src/ncr9x_scsi.cpp:2375" + + - name: "hardital-dotto.rom" + path: "roms/hardital-dotto.rom" + standalone_path: "hardital-dotto.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "ee803484" + sha1: "62822cb90b095efa455496ead5b2274077d86375" + validation: [sha1] + found_by: content + note: > + Hardital Dotto, ROM id 257. Boot ROM of the Dotto controller. Without it + the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:828-829, source src/expansion.cpp:5757-5762, source src/idecontrollers.cpp:3347" + + - name: "alf-2.rom" + path: "roms/alf-2.rom" + standalone_path: "alf-2.rom" + system: commodore-amiga + required: false + size: 65536 + crc32: "9cf8a7b7" + sha1: "3df4667cd34363677896da659499476913bc6746" + validation: [sha1] + found_by: content + note: > + A.L.F. 2, ROM id 264. Boot ROM of the A.L.F.2 controller. Without it the + controller has no boot ROM. + source_ref: "source src/rommgr.cpp:830-831, source src/expansion.cpp:6069-6074, source src/scsi.cpp:5084" + + - name: "mast-fireball.rom" + path: "roms/mast-fireball.rom" + standalone_path: "mast-fireball.rom" + system: commodore-amiga + required: false + size: 8192 + crc32: "b475ff5f" + sha1: "6360955398b0681223ade9ac6ee313645375fce3" + validation: [sha1] + found_by: content + note: > + M.A.S.T. Fireball, ROM id 265. Boot ROM of the Fireball controller. Without + it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:832-833, source src/expansion.cpp:5877-5885, source src/scsi.cpp:4662" + + - name: "hardital-synthesis-v48.5.rom" + path: "roms/hardital-synthesis-v48.5.rom" + standalone_path: "hardital-synthesis-v48.5.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "9bd8065a" + sha1: "1e88663444d191eb268ac86a0f9fc99f3e91b9dc" + validation: [sha1] + found_by: content + note: > + Hardital Synthesis v48.5, ROM id 300. Boot ROM of the Synthesis controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:834-835, source src/expansion.cpp:5763-5769, source src/scsi.cpp:4627, source src/scsi.cpp:4635" + + - name: "hardital-synthesis-v53.1.rom" + path: "roms/hardital-synthesis-v53.1.rom" + standalone_path: "hardital-synthesis-v53.1.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "667c7616" + sha1: "0eb1cb383133f0707cb57944c516f236bad4d4f6" + validation: [sha1] + found_by: content + note: > + Hardital Synthesis v53.1, ROM id 266. Boot ROM of the Synthesis controller. + Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:836-837, source src/expansion.cpp:5763-5769, source src/scsi.cpp:4627, source src/scsi.cpp:4635" + + - name: "combitec-hd20a-hd40a.rom" + path: "roms/combitec-hd20a-hd40a.rom" + standalone_path: "combitec-hd20a-hd40a.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "0e7391b4" + sha1: "7c365adb3496c4795e94a166d834254a6112d91c" + validation: [sha1] + found_by: content + note: > + Combitec HD20A/HD40A, ROM id 267. Boot ROM of the HD 20 A/HD 40 A + controller. Without it the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:838-839, source src/expansion.cpp:6057-6062, source src/scsi.cpp:5115" + + - name: "buddha-v103.17.rom" + path: "roms/buddha-v103.17.rom" + standalone_path: "buddha-v103.17.rom" + system: commodore-amiga + required: false + size: 32768 + crc32: "2b7b24e0" + sha1: "ec17a58962c373a2892090ec9b1722d2c326d631" + validation: [sha1] + found_by: content + note: > + Buddha v103.17, ROM id 340. Boot ROM of the Buddha controller. Without it + the controller has no boot ROM. + source_ref: "source src/rommgr.cpp:840-841, source src/expansion.cpp:5805-5813, source src/idecontrollers.cpp:2845, source src/idecontrollers.cpp:2861" + + # Graphics card + + - name: "picasso_iv_flash.rom" + path: "roms/picasso_iv_flash.rom" + standalone_path: "picasso_iv_flash.rom" + system: commodore-amiga + required: false + size: 131072 + crc32: "a8133e7e" + sha1: "cafafb916f16b9f3ec9b49aa4b40eb4eeceb5b5b" + validation: [sha1] + found_by: content + note: > + Picasso IV, ROM id 91. Picasso IV flash ROM. Taken from the ROM list, else + the configured Picasso IV ROM file, else picasso_iv_flash.rom in the ROM + path. Without it the card has no flash ROM. + source_ref: "source src/rommgr.cpp:878-879, source src/expansion.cpp:6256-6261, source src/gfxboard.cpp:5103-5121" + + # x86 bridgeboards + + - name: "a1060-bios-2.05.rom" + mode: standalone + system: commodore-amiga + required: false + size: 16384 + crc32: "f5384f6a" + sha1: "a3bab2add955535364d6e5fc5bedac05e35fad0b" + validation: [sha1] + found_by: content + note: > + A1060 BIOS 2.05, ROM id 259. BIOS of the A1060 Sidecar bridgeboard. Without + it the bridgeboard does not start. Built only with PCem (USE_PCEM), which + the CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:881-882, source src/expansion.cpp:6202-6209, source src/x86.cpp:4075-4080" + + - name: "a1060-bios-2.06.rom" + mode: standalone + system: commodore-amiga + required: false + size: 16384 + crc32: "185f2bbd" + sha1: "eba74ad1000a5351a5d99179bf75f831ac2d2402" + validation: [sha1] + found_by: content + note: > + A1060 BIOS 2.06, ROM id 147. BIOS of the A1060 Sidecar bridgeboard. Without + it the bridgeboard does not start. Built only with PCem (USE_PCEM), which + the CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:883-884, source src/expansion.cpp:6202-6209, source src/x86.cpp:4075-4080" + + - name: "a1060-bios-2.07.rom" + mode: standalone + system: commodore-amiga + required: false + size: 16384 + crc32: "e44ac214" + sha1: "0990ea8c509ead367391741df2d4542ccb9d8fb7" + validation: [sha1] + found_by: content + note: > + A1060 BIOS 2.07, ROM id 341. BIOS of the A1060 Sidecar bridgeboard. Without + it the bridgeboard does not start. Built only with PCem (USE_PCEM), which + the CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:885-886, source src/expansion.cpp:6202-6209, source src/x86.cpp:4075-4080" + + - name: "a2088-bios-3.4.rom" + mode: standalone + system: commodore-amiga + required: false + size: 16384 + crc32: "05552160" + sha1: "d1defdee1c0eae4107d81e2674915cd29d352f2e" + validation: [sha1] + found_by: content + note: > + A2088 BIOS 3.4, ROM id 148. BIOS of the A2088 bridgeboard. Without it the + bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:887-888, source src/expansion.cpp:6210-6217, source src/x86.cpp:4075-4080" + + - name: "a2088-bios-3.5.rom" + mode: standalone + system: commodore-amiga + required: false + size: 16384 + crc32: "f8e1ad83" + sha1: "45a2b7db6e86fe805cfef63c65c331a716a6e9e8" + validation: [sha1] + found_by: content + note: > + A2088 BIOS 3.5, ROM id 158. BIOS of the A2088 bridgeboard. Without it the + bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:889-890, source src/expansion.cpp:6210-6217, source src/x86.cpp:4075-4080" + + - name: "a2088-bios-3.6.1.rom" + mode: standalone + system: commodore-amiga + required: false + size: 16384 + crc32: "5fd93e56" + sha1: "c1b707a8a62907d75299f10aa60efd1f44514b26" + validation: [sha1] + found_by: content + note: > + A2088 BIOS 3.6.1, ROM id 149. BIOS of the A2088 bridgeboard. Without it the + bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:891-892, source src/expansion.cpp:6210-6217, source src/x86.cpp:4075-4080" + + - name: "a2088t-bios-4.0-09-11-89.rom" + mode: standalone + system: commodore-amiga + required: false + size: 32768 + crc32: "12545545" + sha1: "54f7a99e2e5dbc3043f52001a4abb3b68e4832fd" + validation: [sha1] + found_by: content + note: > + A2088T BIOS 4.0 (09/11/89), ROM id 203. BIOS of the A2088T bridgeboard. + Without it the bridgeboard does not start. Built only with PCem (USE_PCEM), + which the CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:893-894, source src/expansion.cpp:6218-6225, source src/x86.cpp:4075-4080" + + - name: "a2088t-bios-4.0-14-11-89.rom" + mode: standalone + system: commodore-amiga + required: false + size: 32768 + crc32: "b6b3b6f7" + sha1: "7929a92f25203ceaad302ddd31db55cd49b3020a" + validation: [sha1] + found_by: content + note: > + A2088T BIOS 4.0 (14/11/89), ROM id 204. BIOS of the A2088T bridgeboard. + Without it the bridgeboard does not start. Built only with PCem (USE_PCEM), + which the CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:895-896, source src/expansion.cpp:6218-6225, source src/x86.cpp:4075-4080" + + - name: "a2088t-bios-4.10.rom" + mode: standalone + system: commodore-amiga + required: false + size: 32768 + crc32: "20c5d1a9" + sha1: "08e3fbb728dfc51424083313373ea7a5a2c3e965" + validation: [sha1] + found_by: content + note: > + A2088T BIOS 4.10, ROM id 150. BIOS of the A2088T bridgeboard. Without it + the bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:897-898, source src/expansion.cpp:6218-6225, source src/x86.cpp:4075-4080" + + - name: "a2088t-bios-4.11.rom" + mode: standalone + system: commodore-amiga + required: false + size: 32768 + crc32: "074bc9b0" + sha1: "2a3f56bce395f20346eb68c4ade7153e3e69f892" + validation: [sha1] + found_by: content + note: > + A2088T BIOS 4.11, ROM id 151. BIOS of the A2088T bridgeboard. Without it + the bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:899-900, source src/expansion.cpp:6218-6225, source src/x86.cpp:4075-4080" + + - name: "a2088t-bios-4.12.rom" + mode: standalone + system: commodore-amiga + required: false + size: 32768 + crc32: "92447176" + sha1: "582fa25473aa2679efcd41a5bdadf1a26a87a75f" + validation: [sha1] + found_by: content + note: > + A2088T BIOS 4.12, ROM id 152. BIOS of the A2088T bridgeboard. Without it + the bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:901-902, source src/expansion.cpp:6218-6225, source src/x86.cpp:4075-4080" + + - name: "a2286-bios-3.6.rom" + mode: standalone + system: commodore-amiga + required: false + size: 32768 + crc32: "63d75f70" + sha1: "9f5d6c78656d2fe736608644771b6d3031083264" + validation: [sha1] + found_by: content + note: > + A2286 BIOS 3.6, ROM id 153. BIOS of the A2286 bridgeboard. Without it the + bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. The two chip + halves the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:903-906, source src/expansion.cpp:6226-6233, source src/x86.cpp:4075-4080" + + - name: "a2286-bios-4.2.rom" + mode: standalone + system: commodore-amiga + required: false + size: 32768 + crc32: "d572e205" + sha1: "74fdf0f8325fbc412b98c72df5095804831c46b5" + validation: [sha1] + found_by: content + note: > + A2286 BIOS 4.2, ROM id 154. BIOS of the A2286 bridgeboard. Without it the + bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. The two chip + halves the table lists are also accepted and merged. + source_ref: "source src/rommgr.cpp:907-910, source src/expansion.cpp:6226-6233, source src/x86.cpp:4075-4080" + + - name: "a2386sx-bios-1.00.rom" + mode: standalone + system: commodore-amiga + required: false + size: 65536 + crc32: "37003e0c" + sha1: "2e127e9c8581d30c2e46404b21608e3ce935fa27" + validation: [sha1] + found_by: content + note: > + A2386SX BIOS 1.00, ROM id 155. BIOS of the A2386SX bridgeboard. Without it + the bridgeboard does not start. Built only with PCem (USE_PCEM), which the + CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:911-912, source src/expansion.cpp:6234-6241, source src/x86.cpp:4075-4080" + + - name: "a2386sx-bios-1.00.03.rom" + mode: standalone + system: commodore-amiga + required: false + size: 65536 + crc32: "41041761" + sha1: "78659be45755f8bd004a101b658ae75df142ddc9" + validation: [sha1] + found_by: content + note: > + A2386SX BIOS 1.00.03, ROM id 205. BIOS of the A2386SX bridgeboard. Without + it the bridgeboard does not start. Built only with PCem (USE_PCEM), which + the CMake build enables and the libretro Makefile leaves off. + source_ref: "source src/rommgr.cpp:913-914, source src/expansion.cpp:6234-6241, source src/x86.cpp:4075-4080" # --- AROS replacement ROMs --- # ref: src/memory.cpp:1925-1946 find_kickstart_replacement_directory, @@ -245,7 +3462,7 @@ files: system: commodore-amiga required: false note: "Decryption key for Cloanto Amiga Forever encrypted ROMs" - source_ref: "source src/rommgr.cpp:1444-1525" + source_ref: "source src/rommgr.cpp:1445-1526" # --- Keyboard MCU ROMs --- # Loaded when keyboard_mode is set to MCU emulation. @@ -257,21 +3474,21 @@ files: required: false size: 2048 note: "6500-1/6570-036 keyboard MCU ROM for A500/A600/A1000 models" - source_ref: "source src/kbmcu/keyboard_mcu_6500_1.cpp:385-408, source src/rommgr.cpp:136-137" + source_ref: "source src/kbmcu/keyboard_mcu_6500_1.cpp:385-408, source src/rommgr.cpp:137-138" - name: "68HC05.rom" system: commodore-amiga required: false size: 8192 note: "68HC05 keyboard MCU ROM for A1200" - source_ref: "source src/kbmcu/keyboard_mcu_6805.cpp:544-567, source src/rommgr.cpp:138-139" + source_ref: "source src/kbmcu/keyboard_mcu_6805.cpp:544-567, source src/rommgr.cpp:139-140" - name: "D8039HLC.rom" system: commodore-amiga required: false size: 2048 note: "D8039HLC keyboard MCU ROM for A2000" - source_ref: "source src/kbmcu/keyboard_mcu_d8039hlc.cpp:235-258, source src/rommgr.cpp:140-141" + source_ref: "source src/kbmcu/keyboard_mcu_d8039hlc.cpp:235-258, source src/rommgr.cpp:141-142" # --- Munt MT-32/CM-32L MIDI ROMs --- # Located in mt32-roms/ subdirectory of the ROM path. @@ -333,8 +3550,8 @@ files: # Both builds then replace game-data/whdload_db.json with the one at the # first candidate when its "generated" field is later, keeping the old file # as a backup. - # ref: src/osdep/amiberry.cpp:11801-11826, 12145-12179, 12205-12219, - # src/osdep/amiberry.cpp:12221-12287, 12289-12385, + # ref: src/osdep/amiberry.cpp:11903-11928, 12247-12281, 12307-12321, + # src/osdep/amiberry.cpp:12323-12389, 12391-12487, # libretro/libretro.cpp:1459-1475, cmake/linux/install.cmake:196-198 - name: "WHDLoad" @@ -349,7 +3566,7 @@ files: WHDLoad executable linked into C: of the boot drive the booter builds, unless JST is selected. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:1866-1875, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:1866-1875, source src/osdep/amiberry.cpp:12247-12281" - name: "JST" path: "whdboot/JST" @@ -363,7 +3580,7 @@ files: JST loader linked into C: in place of WHDLoad when the use_jst_instead_of_whd option is set. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:1866-1869, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:1866-1869, source src/osdep/amiberry.cpp:12247-12281" - name: "AmiQuit" path: "whdboot/AmiQuit" @@ -377,7 +3594,7 @@ files: Quit helper linked into C: and called at the end of the generated startup- sequence. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:1615, source src/osdep/amiberry_whdbooter.cpp:1875, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:1615, source src/osdep/amiberry_whdbooter.cpp:1875, source src/osdep/amiberry.cpp:12247-12281" - name: "boot-data.zip" path: "whdboot/boot-data.zip" @@ -391,7 +3608,7 @@ files: Boot volume mounted as DH3. A boot-data directory at the same place is used when the zip is absent. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:1652-1665, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:1652-1665, source src/osdep/amiberry.cpp:12247-12281" - name: "whdload_db.json" path: "whdboot/game-data/whdload_db.json" @@ -407,7 +3624,7 @@ files: whdload_db.xml in the same folder is read when the JSON is absent. With neither, the booter scans the archive for a .slave file. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:1804-1823, source src/osdep/amiberry_whdbooter.cpp:1061-1079, source src/osdep/amiberry_whdbooter.cpp:1826-1840, source src/osdep/amiberry.cpp:12145-12179, source src/osdep/amiberry.cpp:12289-12385" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:1804-1823, source src/osdep/amiberry_whdbooter.cpp:1061-1079, source src/osdep/amiberry_whdbooter.cpp:1826-1840, source src/osdep/amiberry.cpp:12247-12281, source src/osdep/amiberry.cpp:12391-12487" - name: "kick33180.A500.RTB" path: "whdboot/save-data/Kickstarts/kick33180.A500.RTB" @@ -423,7 +3640,7 @@ files: beside the image the booter links there. Part of the set the whdboot seed check requires. The core zip carries the library alone. The repository ships the same bytes as kick33192.A500.RTB. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12247-12281" - name: "kick34005.A500.RTB" path: "whdboot/save-data/Kickstarts/kick34005.A500.RTB" @@ -437,7 +3654,7 @@ files: WHDLoad relocation table for Kickstart 1.3, read from DEVS:Kickstarts beside the image the booter links there. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12247-12281" - name: "kick40063.A600.RTB" path: "whdboot/save-data/Kickstarts/kick40063.A600.RTB" @@ -451,7 +3668,7 @@ files: WHDLoad relocation table for Kickstart 3.1 A600, read from DEVS:Kickstarts beside the image the booter links there. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12247-12281" - name: "kick40068.A1200.RTB" path: "whdboot/save-data/Kickstarts/kick40068.A1200.RTB" @@ -465,7 +3682,7 @@ files: WHDLoad relocation table for Kickstart 3.1 A1200, read from DEVS:Kickstarts beside the image the booter links there. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12247-12281" - name: "kick40068.A4000.RTB" path: "whdboot/save-data/Kickstarts/kick40068.A4000.RTB" @@ -479,7 +3696,7 @@ files: WHDLoad relocation table for Kickstart 3.1 A4000, read from DEVS:Kickstarts beside the image the booter links there. Part of the set the whdboot seed check requires. The core zip carries the library alone. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12145-12179" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:331-352, source src/osdep/amiberry_whdbooter.cpp:1876, source src/osdep/amiberry.cpp:12247-12281" - name: "kick31034.A1000.RTB" path: "whdboot/save-data/Kickstarts/kick31034.A1000.RTB" @@ -567,7 +3784,7 @@ files: whdload_db.xml in the same folder is read when the JSON is absent. With neither, the booter scans the archive for a .slave file. Ships in whdboot/ of the installed build. - source_ref: "source src/osdep/amiberry_whdbooter.cpp:1804-1823, source src/osdep/amiberry_whdbooter.cpp:1061-1079, source src/osdep/amiberry_whdbooter.cpp:1826-1840, source src/osdep/amiberry.cpp:12289-12385" + source_ref: "source src/osdep/amiberry_whdbooter.cpp:1804-1823, source src/osdep/amiberry_whdbooter.cpp:1061-1079, source src/osdep/amiberry_whdbooter.cpp:1826-1840, source src/osdep/amiberry.cpp:12391-12487" - name: "kick33180.A500.RTB" path: "whdboot/save-data/Kickstarts/kick33180.A500.RTB" diff --git a/emulators/applewin.yml b/emulators/applewin.yml index fda1f0cc..9e6855d4 100644 --- a/emulators/applewin.yml +++ b/emulators/applewin.yml @@ -4,7 +4,8 @@ core_classification: community_fork source: "https://github.com/audetto/AppleWin" upstream: "https://github.com/AppleWin/AppleWin" profiled_date: "2026-03-23" -source_commit: "7062ae417896da6050e2e39030215062bb4672ee" +source_commit: "a1e20c0362f392dc25f1a3b218d2f84d4f1a25da" +upstream_commit: "35366c56439701b58ce9efd4039118e26d725c44" core_version: "1.31.0.1" display_name: "Apple II (AppleWin)" cores: diff --git a/emulators/aps3e.yml b/emulators/aps3e.yml index b9aafd37..ff1d36ff 100644 --- a/emulators/aps3e.yml +++ b/emulators/aps3e.yml @@ -24,14 +24,17 @@ notes: | app/src/main/cpp/rpcs3/rpcs3/rpcs3_version.cpp:29 Source drops land on successive branches, not on the default one. Release 2.43 - of 2026-10-05 is the commit titled 2.43 at the head of main4. The lightweight - tags 2.39 to 2.43 all sit on the head of main2, the default branch, an April - tree that predates every one of those releases and whose generated - git-version.h was never filled in. main4 is the tree read here. No versionName is usable either: - the only gradle file committed is app/build.gradle.bak, which carries the - placeholder 1.19a and is renamed and completed with the signing block at build - time. - ref: aps3e/README.md, app/build.gradle.bak:16 + of 2026-10-05 is the commit titled 2.43 at the head of main4, whose About + screen ends its changelog on 2.43(2026-10-05). The lightweight tags 2.39 to + 2.43 all sit on the head of main2, the default branch, an April tree whose + changelog stops at 1.38(2026-04-13) and whose generated git-version.h was + never filled in. The 2.43.apk asset carries the 2.43 changelog and the RPCS3 + version 20071-1f080485, so main4 is the tree read here. No versionName is + usable either: the only gradle file committed is app/build.gradle.bak, which + carries the placeholder 1.19a and is renamed and completed with the signing + block at build time. + ref: aps3e/README.md, app/src/main/java/aenu/aps3e/AboutActivity.java:227, + app/build.gradle.bak:16 Emulator paths derive from APS3E_DATA_DIR, set by the Java layer to the external files directory of the package. The config directory holds dev_flash, diff --git a/emulators/arcadeduck.yml b/emulators/arcadeduck.yml index a17dfe63..62733392 100644 --- a/emulators/arcadeduck.yml +++ b/emulators/arcadeduck.yml @@ -4,6 +4,7 @@ core_classification: community_fork source: "https://github.com/StillJC/ArcadeDuck" upstream: "https://github.com/stenzek/duckstation" source_commit: "26caf9cd27915a331fa32dc174489383b308ecad" +upstream_commit: "938c6d2a03e523d0e4275aa753f289a987bcb016" profiled_date: "2026-10-20" core_version: "latest (26caf9c)" display_name: "Arcade - Sony ZN-1, Namco System 11, Konami GV/GQ (ArcadeDuck)" diff --git a/emulators/ardens.yml b/emulators/ardens.yml index fa099f1a..f92f2163 100644 --- a/emulators/ardens.yml +++ b/emulators/ardens.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/tiberiusbrown/ardens" upstream: "https://github.com/tiberiusbrown/ardens" profiled_date: "2026-03-23" -source_commit: "ba7ad0dcfc196459859d304a8c483b38621c7cfa" +source_commit: "e811cc6be72c8a802bd3265a84daf4165c177b93" core_version: "Git" display_name: "Arduboy (Ardens)" cores: diff --git a/emulators/ares.yml b/emulators/ares.yml index 0bd66a8c..c8db95aa 100644 --- a/emulators/ares.yml +++ b/emulators/ares.yml @@ -2,9 +2,9 @@ emulator: ares type: standalone source: "https://github.com/ares-emulator/ares" upstream: "https://github.com/ares-emulator/ares" -profiled_date: "2026-03-26" -source_commit: "4cb8d92b441557cb6bcaf133c4cbc7f6819b1122" -core_version: "v147" +profiled_date: "2026-10-23" +source_commit: "c76aaffa6e69778baf9a66d1da04298ac2ed7d1d" +core_version: "v148" display_name: "ares" cores: [ares] mode: standalone @@ -92,7 +92,7 @@ notes: | signature makes a Sufami Turbo board, serial ZBSJ a BS-X board, serial 042J or cartridge type 0xE3 a Super Game Boy board. ref: desktop-ui/emulator/super-famicom.cpp:158-217, - desktop-ui/emulator/emulator.cpp:155-186, + desktop-ui/emulator/emulator.cpp:203-234, mia/medium/super-famicom.cpp:88-95, mia/medium/super-famicom.cpp:570-602 Systems with no firmware: Arcade, Atari 2600, Famicom, MyVision, PC Engine, @@ -152,7 +152,7 @@ files: sha256: "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50" validation: [sha256] description: "Master System BIOS (US)" - note: "Picked for NTSC-U, which the code gives every export cart outside its PAL list through the Boot/Prefer setting. The header does not tell US from Europe (mia/medium/master-system.cpp:54-63, desktop-ui/emulator/emulator.cpp:40-60)." + note: "Picked for NTSC-U, which the code gives every export cart outside its PAL list through the Boot/Prefer setting. The header does not tell US from Europe (mia/medium/master-system.cpp:54-63, desktop-ui/emulator/emulator.cpp:86-106)." source_ref: "desktop-ui/emulator/master-system.cpp:14, mia/system/master-system.cpp:8 (//optional)" - name: bios_J.sms @@ -171,7 +171,7 @@ files: sha256: "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50" validation: [sha256] description: "Master System BIOS (Europe), same binary as US" - note: "Picked for PAL, set by a hash list that also holds Korean and Australian releases or by the Boot/Prefer setting (mia/medium/master-system.cpp:54-275, desktop-ui/emulator/emulator.cpp:40-60)." + note: "Picked for PAL, set by a hash list that also holds Korean and Australian releases or by the Boot/Prefer setting (mia/medium/master-system.cpp:54-275, desktop-ui/emulator/emulator.cpp:86-106)." source_ref: "desktop-ui/emulator/master-system.cpp:16" # --- Mega CD --- @@ -377,7 +377,7 @@ files: sha256: "11052b6499e466bbf0a709b1f9cb6834a9418e66680387912451e971cf8a1fef" validation: [sha256] description: "PlayStation BIOS (US)" - note: "Picked for NTSC-U, set by both America licence strings and for an executable. A disc with no recognised licence offers NTSC-U and PAL, and the Boot/Prefer setting picks (mia/medium/playstation.cpp:66-73, 92, desktop-ui/emulator/playstation.cpp:85-92, desktop-ui/emulator/emulator.cpp:40-58)." + note: "Picked for NTSC-U, set by both America licence strings and for an executable. A disc with no recognised licence offers NTSC-U and PAL, and the Boot/Prefer setting picks (mia/medium/playstation.cpp:66-73, 92, desktop-ui/emulator/playstation.cpp:85-92, desktop-ui/emulator/emulator.cpp:86-104)." source_ref: "desktop-ui/emulator/playstation.cpp:18, desktop-ui/emulator/playstation.cpp:85-92, mia/medium/playstation.cpp:65-73" - name: scph5500.bin diff --git a/emulators/atari800.yml b/emulators/atari800.yml index 9fa6c1f5..6419902b 100644 --- a/emulators/atari800.yml +++ b/emulators/atari800.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/libretro-atari800" upstream: "https://github.com/atari800/atari800" profiled_date: "2026-03-23" source_commit: "4e7fbc73765c1a9670c7506616046ad1d4ccda51" +upstream_commit: "98cc2dc749867c9c7317a0271ba062a6c797f886" core_version: "3.1.0" display_name: "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)" cores: [atari800] diff --git a/emulators/azahar-sdl.yml b/emulators/azahar-sdl.yml index 584a3806..e37eba45 100644 --- a/emulators/azahar-sdl.yml +++ b/emulators/azahar-sdl.yml @@ -4,6 +4,7 @@ core_classification: community_fork source: "https://github.com/johndoe6345789/azahar_libretro" profiled_date: "2026-10-22" source_commit: "c8d39853c1ebacc5657e51d601713a09404ca8a7" +pin_frozen: "KNULLI, the only platform that ships it, builds this revision (KNULLI package/emulators/azahar/azahar.mk:7 at tag 20260511). Later commits are not part of that build." core_version: "Git" display_name: "Nintendo - 3DS (Azahar SDL2)" mode: standalone diff --git a/emulators/azaharplus.yml b/emulators/azaharplus.yml index 68941289..107d3f63 100644 --- a/emulators/azaharplus.yml +++ b/emulators/azaharplus.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/AzaharPlus/AzaharPlus" upstream: "https://github.com/AzaharPlus/AzaharPlus" profiled_date: "2026-08-08" -source_commit: "dab27d996555ca220b7dbd106a2e5f03b6af34ac" +source_commit: "cf9068844820f819a6eabbeeeb6a70d546e3e85a" core_version: "2126.0-A" display_name: "Nintendo - 3DS (AzaharPlus)" cores: @@ -23,7 +23,7 @@ notes: | keys.txt has an AES-encrypted key blob compiled into the binary, used when the file is absent. ENABLE_BUILTIN_KEYBLOB defaults to ON. - ref: src/core/hw/aes/key.cpp:483-611, CMakeLists.txt:153 + ref: src/core/hw/aes/key.cpp:483-611, CMakeLists.txt:160 1861 title seeds are compiled in and loaded before seeddb.bin is read. ref: src/core/file_sys/seed_db.cpp:50-52, src/core/file_sys/seed_db.cpp:218 @@ -32,17 +32,17 @@ notes: | open-source replacements embedded in the binary, and ClCertA falls back to an embedded certificate and key pair. ref: src/core/file_sys/archive_ncch.cpp:174-203, - src/core/hle/service/http/http_c.cpp:2107-2133 + src/core/hle/service/http/http_c.cpp:2262-2288 otp.bin, movable.sed, SecureInfo_A and LocalFriendCodeSeed_B are replaced by embedded dummy data when enable_required_online_lle_modules is set. That setting defaults to false, and every loader returns a not-found status without it. - ref: src/common/settings.h:492-493 + ref: src/common/settings.h:493-494 System titles are downloaded and installed in-app from the Nintendo CDN, so the NAND title tree is not user-supplied. - ref: src/core/nus_download.cpp:13, src/core/hle/service/am/am.cpp:1219-1242 + ref: src/core/nus_download.cpp:13, src/core/hle/service/am/am.cpp:1357-1380 sector0x96.bin is defined but read by no code path. ref: src/common/common_paths.h:86 diff --git a/emulators/bbkemu.yml b/emulators/bbkemu.yml index e8d44da3..ec9a4aeb 100644 --- a/emulators/bbkemu.yml +++ b/emulators/bbkemu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/BBKEmu" upstream: "https://github.com/AloysHF/BBKEmu" profiled_date: "2026-09-03" -source_commit: "09bc66de868c8d2d6e1e1a6339552baf0c778b34" +source_commit: "aef61bd59d5eb65780ace33e288086dd98f709c5" core_version: "0.1.0" display_name: "BBK - Electronic Dictionary (BBKEmu)" cores: diff --git a/emulators/beetle_psx.yml b/emulators/beetle_psx.yml index d2df9ecf..5461b7f5 100644 --- a/emulators/beetle_psx.yml +++ b/emulators/beetle_psx.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-psx-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-29" -source_commit: "5ec9909f2654fb2041315a13fac0b704c5065c0e" +source_commit: "9bcc75d0a3e8310a273afb8fac1409224ff42c29" core_version: "v0.9.44.1" display_name: "Sony - PlayStation (Beetle PSX)" cores: [beetle_psx, mednafen_psx, mednafen_psx_hw] @@ -13,18 +13,18 @@ notes: > Region-based BIOS selection: the core picks JP/NA/EU firmware based on disc region. SHA1 validated with warning on mismatch (does not block loading). SHA1 and alternate filenames sourced from MAME (mame src/mame/sony/psx.cpp). - The lists and the checksum search live in libretro.c:448-502,510-602. + The lists and the checksum search live in libretro.c:541-595,603-695. Override option allows using PSP, PS3, or OpenBIOS as region-free alternative. Embedded OpenBIOS (512KB) compiled into the binary serves as HLE fallback when no BIOS found. "Skip BIOS" option patches BIOS ROM but causes compatibility issues. Upstream Mednafen loads the same 3 region BIOS. Override BIOS and HLE fallback are libretro additions. Two BIOS geometries are accepted: the stock 512 KB kernel and the 1 MB SCPH-5903 part, - selected by file size at load time (libretro.c:3203-3217). A 1 MB image switches Video CD - from HLE to daughterboard emulation (libretro.c:6159). Reached through the BIOS path + selected by file size at load time (libretro.c:3386-3400). A 1 MB image switches Video CD + from HLE to daughterboard emulation (libretro.c:6515). Reached through the BIOS path override only: the region name lists carry no SCPH-5903 entry, and the firmware scan - compares against the region SHA1, so a 1 MB file never matches there (libretro.c:485-493). + compares against the region SHA1, so a 1 MB file never matches there (libretro.c:578-586). Mednafen rejects a BIOS that is not 524288 bytes (mednafen psx.cpp:1777), and the - fork keeps that geometry as BIOS_SIZE_STD (libretro.c:1126), so this geometry is + fork keeps that geometry as BIOS_SIZE_STD (libretro.c:1219), so this geometry is libretro only. files: @@ -40,19 +40,19 @@ files: md5: "8dd7d5296a650fac7319bce665a6a53c" validation: [sha1] mode: both - source_ref: "libretro.c:594-602" + source_ref: "libretro.c:687-695" aliases: ["SCPH5500.bin", "SCPH-5500.bin"] - name: "scph5903.bin" description: "SCPH-5903 (System ROM Version 2.2 12/04/95 J), Video CD daughterboard" required: false - note: "No code path opens this name: the Japanese name list and the SHA-1 scan look for scph5500.bin (libretro.c:594-602, 486-490). Copied as scph5500.bin it loads with a SHA-1 warning (libretro.c:680-687) and enables the Video CD daughterboard." + note: "No code path opens this name: the Japanese name list and the SHA-1 scan look for scph5500.bin (libretro.c:687-695, 579-583). Copied as scph5500.bin it loads with a SHA-1 warning (libretro.c:773-780) and enables the Video CD daughterboard." size: 1048576 sha1: "15c94da3cc5a38a582429575af4198c487fe893c" md5: "81328b966e6dcf7ea1e32e55e1c104bb" validation: [size, sha1] mode: libretro - source_ref: "libretro.c:604-611, libretro.c:3203-3217, libretro.c:3236-3238, libretro.c:6159" + source_ref: "libretro.c:697-704, libretro.c:3386-3400, libretro.c:3419-3421, libretro.c:6515" # -- Region: North America (REGION_NA) -- @@ -66,8 +66,8 @@ files: md5: "490f666e1afb15b7362b406ed1cea246" validation: [sha1] mode: both - note: "Picked for REGION_NA: a SYSTEM.CNF serial whose third letter is U (SCUS, SLUS), a licence string naming America, and content whose region cannot be read while the region option stays on auto (libretro.c:2172-2174, 2198, 2249-2254, 3171-3185, 4436)." - source_ref: "libretro.c:613-631" + note: "Picked for REGION_NA: a SYSTEM.CNF serial whose third letter is U (SCUS, SLUS), a licence string naming America, and content whose region cannot be read while the region option stays on auto (libretro.c:2355-2357, 2198, 2249-2254, 3171-3185, 4436)." + source_ref: "libretro.c:706-724" aliases: - "SCPH5501.bin" - "SCPH-5501.bin" @@ -90,7 +90,7 @@ files: md5: "32736f17079d0b2b7024407c39bd3050" validation: [sha1] mode: both - source_ref: "libretro.c:633-647" + source_ref: "libretro.c:726-740" aliases: - "SCPH5502.bin" - "SCPH-5502.bin" @@ -108,7 +108,7 @@ files: md5: "c53ca5908936d412331790f4426c6c33" validation: [sha1] mode: libretro - source_ref: "libretro.c:523-529" + source_ref: "libretro.c:616-622" aliases: ["PSXONPSP660.bin"] note: "override_bios=1. Tried as psxonpsp660.bin, PSXONPSP660.bin, then PSXONPSP660.BIN. Falls back to region BIOS if not found." @@ -119,7 +119,7 @@ files: md5: "81bbe60ba7a3d1cea1d48c14cbcc647b" validation: [sha1] mode: libretro - source_ref: "libretro.c:531-537" + source_ref: "libretro.c:624-630" aliases: ["PS1_ROM.bin"] note: "override_bios=2. Tried as ps1_rom.bin, PS1_ROM.bin, then PS1_ROM.BIN. Falls back to region BIOS if not found." @@ -128,6 +128,6 @@ files: required: false size: 524288 mode: libretro - source_ref: "libretro.c:539-545" + source_ref: "libretro.c:632-638" aliases: ["OPENBIOS.bin"] - note: "override_bios=3. No SHA1 validation. Falls back to region BIOS if not found. Also embedded in binary as HLE fallback (libretro.c:2264-2266)." + note: "override_bios=3. No SHA1 validation. Falls back to region BIOS if not found. Also embedded in binary as HLE fallback (libretro.c:2447-2449)." diff --git a/emulators/beetle_saturn.yml b/emulators/beetle_saturn.yml index 6f9b4123..e5446406 100644 --- a/emulators/beetle_saturn.yml +++ b/emulators/beetle_saturn.yml @@ -5,7 +5,7 @@ core: mednafen_saturn_libretro source: "https://github.com/libretro/beetle-saturn-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-10-05" -source_commit: "65f05fa66f83e65e33be83aa433d883b4fd9509a" +source_commit: "d0d841784845da0278a9a49554cc4cc01597ee2c" core_version: "v1.32.1" display_name: "Sega - Saturn (Beetle Saturn)" cores: @@ -17,46 +17,46 @@ systems: notes: | Libretro port of Mednafen's Saturn emulation module, converted to C and - reporting v1.32.1 (libretro.c:57). Every firmware file is read from the + reporting v1.32.1 (libretro.c:58). Every firmware file is read from the system directory: MDFN_MakeFName joins retro_base_directory and the bare - name for MDFNMKF_FIRMWARE (libretro.c:2267-2268), and the BIOS path is + name for MDFNMKF_FIRMWARE (libretro.c:2347-2348), and the BIOS path is built the same way (mednafen/ss/ss.c:1867-1869). Region comes from the disc header and the region table of - mednafen/ss/db.c (libretro.c:1147-1149) and can be forced by the - beetle_saturn_region option (libretro.c:488-510, libretro.c:1153-1154). + mednafen/ss/db.c (libretro.c:1113-1115) and can be forced by the + beetle_saturn_region option (libretro.c:454-476, libretro.c:1119-1120). With no content loaded the region defaults to North America - (libretro.c:1103, libretro.c:1300-1301). The BIOS filename is hard-coded + (libretro.c:1069, libretro.c:1266-1267). The BIOS filename is hard-coded per region (mednafen/ss/ss.c:1845-1848): sega_101.bin for Japan and Asia NTSC, mpr-17933.bin for every other area. The file must be exactly 524288 bytes and InitCommon returns false when it is absent, of another size or short on read (mednafen/ss/ss.c:1943-1947, mednafen/ss/ss.c:1961-1984). The sha256 of the loaded image is kept only to refuse a save state made - under another BIOS (mednafen/ss/ss.c:1988, mednafen/ss/ss.c:2589-2608). + under another BIOS (mednafen/ss/ss.c:1988, mednafen/ss/ss.c:2594-2613). ss.bios_sanity answers true (mednafen/settings.c:50-51) but nothing in the port reads it: the name and hash table that upstream checks under that setting is not carried over. The cartridge is chosen by the game table of mednafen/ss/db.c or by the - beetle_saturn_cart option (libretro.c:512-530, libretro.c:1157-1158). The + beetle_saturn_cart option (libretro.c:478-496, libretro.c:1123-1124). The KOF95 and Ultraman ROM carts are opened from the system directory under the names of mednafen/settings.c:62-65 (mednafen/ss/cart.c:197-216). An absent file leaves the cart slot on the dummy handlers and the load goes on (mednafen/ss/cart.c:209). ST-V content is a game ZIP or a bare ROM matched against the ST-V game - table (libretro.c:1207-1227, libretro.c:1261-1281). The cabinet region of + table (libretro.c:1173-1193, libretro.c:1227-1247). The cabinet region of the matched game selects one of three ST-V BIOS images (mednafen/ss/ss.c:1829-1843), and the beetle_saturn_region option is not - applied on that path (libretro.c:1217, libretro.c:1275). The image is read + applied on that path (libretro.c:1183, libretro.c:1241). The image is read as a bare file from the system directory or, when that file is absent, as the member of the same name in stvbios.zip there, matched without regard - to case (mednafen/ss/ss.c:1875-1949, zip_reader.c:358-365). Either form + to case (mednafen/ss/ss.c:1875-1949, zip_reader.c:350-357). Either form may be 131072 or 524288 bytes (mednafen/ss/ss.c:1911-1912, mednafen/ss/ss.c:1962). The Video CD Card is driven through the CD block. With the - beetle_saturn_mpeg_card option enabled (libretro.c:578-586, default + beetle_saturn_mpeg_card option enabled (libretro.c:544-552, default disabled), CDB_Init opens mpeg_card.bin in the system directory and MPEG_Init keeps up to 0x80000 bytes of it (mednafen/settings.c:52-53, mednafen/settings.c:68-69, mednafen/ss/cdb.c:1315-1332, @@ -86,7 +86,7 @@ files: validation: {core: [size], upstream: [size, sha256]} sha256: "96e106f740ab448cf89f0dd49dfbac7fe5391cb6bd6e14ad5e3061c13330266f" note: "Saturn BIOS v1.00a (North America and Europe), loaded for every area other than Japan and Asia NTSC, and when no content is loaded. Disc area E maps to EU_PAL and the code has no Oceania area (disc.c:162-165). The port checks the size only. The sha256 is the value upstream Mednafen 1.32.1 holds for this filename in its ss.bios_sanity table (src/ss/ss.cpp, BIOSDB)." - source_ref: "mednafen/ss/ss.c:1847-1848 (region filename), mednafen/ss/ss.c:1867-1873 (open), mednafen/ss/ss.c:1961-1984 (size check, read), mednafen/ss/ss.c:1988 (sha256 for save states), libretro.c:1103 (default area)" + source_ref: "mednafen/ss/ss.c:1847-1848 (region filename), mednafen/ss/ss.c:1867-1873 (open), mednafen/ss/ss.c:1961-1984 (size check, read), mednafen/ss/ss.c:1988 (sha256 for save states), libretro.c:1069 (default area)" - name: "mpr-18811-mx.ic1" system: sega-saturn @@ -94,7 +94,7 @@ files: min_size: 2097152 validation: [size] note: "King of Fighters '95 ROM cart. Selected by the game table for MK-81088 and T-3101G or by the beetle_saturn_cart option. The first 0x200000 bytes are read. A shorter file installs a zeroed cart, an absent file leaves the slot empty." - source_ref: "mednafen/settings.c:62-63 (filename), mednafen/ss/cart.c:197-216 (open), mednafen/ss/cart/rom.c:67-68 (read), mednafen/ss/db.c:90-91 (game table), libretro.c:527 (option)" + source_ref: "mednafen/settings.c:62-63 (filename), mednafen/ss/cart.c:197-216 (open), mednafen/ss/cart/rom.c:67-68 (read), mednafen/ss/db.c:90-91 (game table), libretro.c:493 (option)" - name: "mpr-19367-mx.ic1" system: sega-saturn @@ -102,7 +102,7 @@ files: min_size: 2097152 validation: [size] note: "Ultraman: Hikari no Kyojin Densetsu ROM cart. Selected by the game table for T-13308G or by the beetle_saturn_cart option. The first 0x200000 bytes are read. A shorter file installs a zeroed cart, an absent file leaves the slot empty." - source_ref: "mednafen/settings.c:64-65 (filename), mednafen/ss/cart.c:197-216 (open), mednafen/ss/cart/rom.c:67-68 (read), mednafen/ss/db.c:92 (game table), libretro.c:529 (option)" + source_ref: "mednafen/settings.c:64-65 (filename), mednafen/ss/cart.c:197-216 (open), mednafen/ss/cart/rom.c:67-68 (read), mednafen/ss/db.c:92 (game table), libretro.c:495 (option)" - name: "epr-20091.ic8" system: sega-stv @@ -137,7 +137,7 @@ files: required: false description: "ST-V BIOS archive" note: "Opened only when the bare ST-V BIOS file for the cabinet region is absent. The member of the same name is matched without regard to case and must be 131072 or 524288 bytes. No hash is checked." - source_ref: "mednafen/ss/ss.c:1888-1941 (open, member lookup, size check, extract), zip_reader.c:358-365 (case-insensitive lookup)" + source_ref: "mednafen/ss/ss.c:1888-1941 (open, member lookup, size check, extract), zip_reader.c:350-357 (case-insensitive lookup)" contents: - name: "epr-20091.ic8" description: "Japan and Asia NTSC" @@ -158,5 +158,5 @@ files: required: false min_size: 262144 validation: [size] - note: "Action Replay 4M Plus firmware. The first 0x40000 bytes are read as big-endian words and a shorter file leaves the cart slot empty. No hash is checked. Unfinished in source (mednafen/ss/cart/ar4mp.c:22-24), needs CPU UBC emulation. Neither the beetle_saturn_cart option (libretro.c:512-530) nor the game table of mednafen/ss/db.c yields CART_AR4MP, so the case is not reached." + note: "Action Replay 4M Plus firmware. The first 0x40000 bytes are read as big-endian words and a shorter file leaves the cart slot empty. No hash is checked. Unfinished in source (mednafen/ss/cart/ar4mp.c:22-24), needs CPU UBC emulation. Neither the beetle_saturn_cart option (libretro.c:478-496) nor the game table of mednafen/ss/db.c yields CART_AR4MP, so the case is not reached." source_ref: "mednafen/settings.c:66-67 (filename), mednafen/ss/cart.c:218-236 (CART_AR4MP case), mednafen/ss/cart/ar4mp.c:181 (0x40000-byte read)" diff --git a/emulators/beetle_vb.yml b/emulators/beetle_vb.yml index f263ec8d..138ba9bc 100644 --- a/emulators/beetle_vb.yml +++ b/emulators/beetle_vb.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-vb-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-24" -source_commit: "83ed42608601fb7b01d41e4f8fb2007a37b8c84e" +source_commit: "d5ae54c8e23b573a3b34e888b2d48a588027e92c" core_version: "v0.9.36.1" display_name: "Nintendo - Virtual Boy (Beetle VB)" cores: [mednafen_vb, vb] @@ -14,7 +14,7 @@ notes: | Libretro port of Mednafen's Virtual Boy emulation module. No external BIOS or firmware files. The Virtual Boy has no boot ROM: the V810 CPU executes directly from the game ROM mapped at - 0x07000000. Load() in libretro.cpp:1810 takes only ROM data. + 0x07000000. Load() in libretro.cpp:490 takes only ROM data. Upstream Mednafen supports an optional vb.pal palette file (Documentation/vb.html), while the libretro port handles palette via core options instead. diff --git a/emulators/bennugd.yml b/emulators/bennugd.yml index 32eaa25c..0f1e2d8c 100644 --- a/emulators/bennugd.yml +++ b/emulators/bennugd.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/diekleinekuh/BennuGD_libretro" upstream: "https://github.com/SplinterGU/BennuGD" profiled_date: "2026-03-23" -source_commit: "a78319991d62520bed4e873d3538657ad0ae2ca7" +source_commit: "5fba764ac709545d4b0d3b28deff2ec0c7d1a91b" core_version: "git" display_name: "Bennu Game Development" cores: @@ -12,7 +12,7 @@ cores: systems: - bennugd -# .info firmware_count: 0. Code verified: retro_load_game() (libretro.c:887-910) +# .info firmware_count: 0. Code verified: retro_load_game() (libretro/libretro.c:887-910) # uses RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY only as save directory fallback. # bgdi_main() (core/bgdi/src/main.c:80-371) loads .dcb/.dat bytecode content # directly. No files read from system directory. diff --git a/emulators/blastem.yml b/emulators/blastem.yml index fa5d09a8..38fa80bb 100644 --- a/emulators/blastem.yml +++ b/emulators/blastem.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/blastem" upstream: "https://www.retrodev.com/blastem/" profiled_date: "2026-10-20" -source_commit: "1e0de94dc7e669c0925a22c0fccf6cdc837af0a0" +source_commit: "ab743653ed110eeb7b1fe64d00cc5f9279c2bfec" prose_written_at: "1e0de94dc7e669c0925a22c0fccf6cdc837af0a0" core_version: "1.0.1-pre" display_name: "Sega - Mega Drive - Genesis (BlastEm)" diff --git a/emulators/boom3.yml b/emulators/boom3.yml index 13eadc68..dc69cd87 100644 --- a/emulators/boom3.yml +++ b/emulators/boom3.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/libretro/boom3" upstream: "https://github.com/dhewm/dhewm3" profiled_date: "2026-03-23" -source_commit: "132dfddbc216af8b5196a61e815219b531f7c1b4" +source_commit: "efe140ce8fdf8793f5a6fbba062fb34df7f55a81" core_version: "git" display_name: "Doom 3 (boom3)" cores: [boom3, boom3_xp] @@ -14,18 +14,47 @@ notes: > Doom 3 source port based on dhewm3 (GPL Doom 3 engine). The core accepts .pk4 extensions (retro_get_system_info sets valid_extensions = "pk4"). Content is loaded directly from the .pk4 file path - the engine extracts - the grandparent directory as fs_basepath (libretro.cpp:2381,2449-2450 + the grandparent directory as fs_basepath (neo/sys/libretro/libretro.cpp:4242,4310-4311 via extract_directory called twice on info->path) and expects the standard Doom 3 directory layout with base/ containing pak000.pk4 through pak008.pk4. - BASE_GAMEDIR is hardcoded to "base" (Licensee.h:58). One binary serves both + BASE_GAMEDIR is "base" (neo/framework/Licensee.h:58), and content in a + directory under another name is mounted in its place through fs_gamedirname + (neo/sys/libretro/libretro.cpp:3248-3262). One binary serves both games: content in a directory named d3xp, or the doom_game core option, - passes "+set fs_game d3xp" (libretro.cpp:1635-1643, 2384-2405) to load the + passes "+set fs_game d3xp" (neo/sys/libretro/libretro.cpp:3238-3246,4245-4271) to load the Resurrection of Evil expansion from a d3xp/ subdirectory alongside base/. - The filesystem code (FileSystem.cpp:2207) + The filesystem code (neo/framework/FileSystem.cpp:2318) scans for .pk4 files in the game directory and loads them in order, with higher-numbered paks overriding lower ones. The core requires OpenGL - (RETRO_ENVIRONMENT_SET_HW_RENDER) and XRGB8888 pixel format. All required - files are commercial Doom 3 game data, not engine firmware. No BIOS or + (RETRO_ENVIRONMENT_SET_HW_RENDER) and XRGB8888 pixel format. The game + data is the commercial Doom 3 release, not engine firmware. No BIOS or system files are needed in the RetroArch system directory. -files: [] + Builds made with HAVE_VR=1 (the Windows x64, Linux x64 and Linux arm64 + jobs, .gitlab-ci.yml:87, 101, 109) offer the boom3_vr_enable option. With it + on, the core passes "+set fs_vr 1" and the filesystem mounts base_vr/ over + base/ and d3xp_vr/ over d3xp/ (neo/sys/libretro/libretro.cpp:3264-3272, + neo/framework/FileSystem.cpp:2440-2472). These replacement packs carry the + hand and weapon models of Doom3Quest and ship in the core's repository under + tools/vr_paks/compiled. + +files: + - name: "pak399.pk4" + path: "base_vr/pak399.pk4" + system: doom3 + category: game_data + load_from: content_dir + required: false + description: "VR hand and weapon models (Doom3Quest), mounted over base/" + source_ref: "neo/sys/libretro/libretro.cpp:4313-4335, neo/framework/FileSystem.cpp:2440-2450" + note: "Read in VR builds with boom3_vr_enable on. base_vr/ sits beside base/, one level above the loaded .pk4. When the file is absent the core shows a notification and the game still starts." + + - name: "pak399roe.pk4" + path: "d3xp_vr/pak399roe.pk4" + system: doom3 + category: game_data + load_from: content_dir + required: false + description: "VR replacement pack for Resurrection of Evil, mounted over d3xp/" + source_ref: "neo/framework/FileSystem.cpp:2465-2472" + note: "Mounted in VR builds when fs_game is d3xp. The code reads every .pk4 in d3xp_vr/ and names none, this is the pack the core's repository ships for it." diff --git a/emulators/boytacean.yml b/emulators/boytacean.yml index e2c7ac6b..c1e2a6de 100644 --- a/emulators/boytacean.yml +++ b/emulators/boytacean.yml @@ -4,8 +4,8 @@ core_classification: official_port source: "https://github.com/joamag/boytacean" upstream: "https://github.com/joamag/boytacean" profiled_date: "2026-03-23" -source_commit: "2eb66337ad1732087c26076ec5bd7d08fe9f6e93" -core_version: "0.11.5" +source_commit: "4d806d0770f117cc8e6ac0fe75b95aa9dc39fc4f" +core_version: "0.13.2" display_name: "Nintendo - Game Boy / Color (Boytacean)" cores: - boytacean @@ -19,12 +19,12 @@ notes: | Libretro: all boot ROMs compiled into binary as static byte arrays in src/data.rs. load_boot_static() copies from arrays. No filesystem access, no RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No external files. - ref: frontends/libretro/src/core.rs:402 instance.load(true) -> src/gb.rs:1427 -> load_boot_static + ref: frontends/libretro/src/core.rs:402 instance.load(true) -> src/gb.rs:1377 -> load_boot_static at src/gb.rs:1414 Standalone (SDL): also defaults to embedded boot ROMs via load(true). User can override via --boot-rom-path CLI argument with any boot ROM - file. load_boot_file() with hardcoded ./res/boot/*.bin paths exists in - src/gb.rs:1477 but is not called from any frontend. + file (frontends/sdl/src/main.rs:1138-1143). load_boot_file() with hardcoded ./res/boot/*.bin paths exists in + src/gb.rs:1427 but is not called from any frontend. Boot ROM defaults: DmgBootix (DMG), CgbBoytacean (CGB), both open-source. diff --git a/emulators/bsnes-jg.yml b/emulators/bsnes-jg.yml index 448f33dc..882dd7b1 100644 --- a/emulators/bsnes-jg.yml +++ b/emulators/bsnes-jg.yml @@ -4,8 +4,8 @@ core_classification: community_fork source: "https://github.com/libretro/bsnes-jg" upstream: "https://gitlab.com/jgemu/bsnes" profiled_date: "2026-03-23" -source_commit: "aa11568fff267fca3424cbdfa6da788ddc42e468" -core_version: "2.1.0" +source_commit: "4aef191fef72be539ccc07ada21c6e0a65360eb7" +core_version: "2.1.2" display_name: "Nintendo - SNES / SFC (bsnes-jg)" cores: [bsnes-jg, bsnes_jg] systems: @@ -24,10 +24,10 @@ notes: | BML game databases embedded as C++ string literals. ref: libretro/libretro.cpp:420-502 fileOpenV firmware loading callback - ref: src/cartridge.cpp:761-836 uPD7725 (DSP1-4) LLE/HLE dispatch - ref: src/cartridge.cpp:838-908 uPD96050 (ST010/ST011) LLE/HLE dispatch - ref: src/cartridge.cpp:622-677 ARM6 (ST018) firmware loading - ref: src/cartridge.cpp:679-759 HG51BS169 (HitachiDSP/CX4) embedded ROM + HLE + ref: src/cartridge.cpp:762-837 uPD7725 (DSP1-4) LLE/HLE dispatch + ref: src/cartridge.cpp:839-909 uPD96050 (ST010/ST011) LLE/HLE dispatch + ref: src/cartridge.cpp:623-678 ARM6 (ST018) firmware loading + ref: src/cartridge.cpp:680-760 HG51BS169 (HitachiDSP/CX4) embedded ROM + HLE ref: src/coprocessor/icd.cpp:249,260 SGB1/SGB2 boot ROMs embedded ref: src/cartridge.cpp:64 hitachidspStaticDataROM embedded ref: libretro/libretro.cpp:30-33 BML databases embedded @@ -40,59 +40,59 @@ files: system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:429, source src/cartridge.cpp:781, source src/cartridge.cpp:805-811" + source_ref: "source libretro/libretro.cpp:429, source src/cartridge.cpp:782, source src/cartridge.cpp:806-812" - name: dsp1.data.rom system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:432, source src/cartridge.cpp:793, source src/cartridge.cpp:805-811" + source_ref: "source libretro/libretro.cpp:432, source src/cartridge.cpp:794, source src/cartridge.cpp:806-812" - name: dsp1b.program.rom system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:435, source src/cartridge.cpp:781, source src/cartridge.cpp:805-811" + source_ref: "source libretro/libretro.cpp:435, source src/cartridge.cpp:782, source src/cartridge.cpp:806-812" - name: dsp1b.data.rom system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:438, source src/cartridge.cpp:793, source src/cartridge.cpp:805-811" + source_ref: "source libretro/libretro.cpp:438, source src/cartridge.cpp:794, source src/cartridge.cpp:806-812" - name: dsp2.program.rom system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:441, source src/cartridge.cpp:781, source src/cartridge.cpp:813-818" + source_ref: "source libretro/libretro.cpp:441, source src/cartridge.cpp:782, source src/cartridge.cpp:814-819" - name: dsp2.data.rom system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:444, source src/cartridge.cpp:793, source src/cartridge.cpp:813-818" + source_ref: "source libretro/libretro.cpp:444, source src/cartridge.cpp:794, source src/cartridge.cpp:814-819" - name: dsp3.program.rom system: nintendo-snes required: false - source_ref: "source libretro/libretro.cpp:447-448, source src/cartridge.cpp:781, source src/cartridge.cpp:829-835" + source_ref: "source libretro/libretro.cpp:447-448, source src/cartridge.cpp:782, source src/cartridge.cpp:830-836" - name: dsp3.data.rom system: nintendo-snes required: false - source_ref: "source libretro/libretro.cpp:451-452, source src/cartridge.cpp:793, source src/cartridge.cpp:829-835" + source_ref: "source libretro/libretro.cpp:451-452, source src/cartridge.cpp:794, source src/cartridge.cpp:830-836" - name: dsp4.program.rom system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:455, source src/cartridge.cpp:781, source src/cartridge.cpp:820-825" + source_ref: "source libretro/libretro.cpp:455, source src/cartridge.cpp:782, source src/cartridge.cpp:821-826" - name: dsp4.data.rom system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:458, source src/cartridge.cpp:793, source src/cartridge.cpp:820-825" + source_ref: "source libretro/libretro.cpp:458, source src/cartridge.cpp:794, source src/cartridge.cpp:821-826" # uPD96050 coprocessor firmware (ST010, ST011) # HLE fallback available for ST010, not for ST011 @@ -101,23 +101,23 @@ files: system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:461, source src/cartridge.cpp:858, source src/cartridge.cpp:879-889" + source_ref: "source libretro/libretro.cpp:461, source src/cartridge.cpp:859, source src/cartridge.cpp:880-890" - name: st010.data.rom system: nintendo-snes required: false hle_fallback: true - source_ref: "source libretro/libretro.cpp:464, source src/cartridge.cpp:870, source src/cartridge.cpp:879-889" + source_ref: "source libretro/libretro.cpp:464, source src/cartridge.cpp:871, source src/cartridge.cpp:880-890" - name: st011.program.rom system: nintendo-snes required: false - source_ref: "source libretro/libretro.cpp:467-468, source src/cartridge.cpp:858, source src/cartridge.cpp:891-908" + source_ref: "source libretro/libretro.cpp:467-468, source src/cartridge.cpp:859, source src/cartridge.cpp:892-909" - name: st011.data.rom system: nintendo-snes required: false - source_ref: "source libretro/libretro.cpp:471-472, source src/cartridge.cpp:870, source src/cartridge.cpp:891-908" + source_ref: "source libretro/libretro.cpp:471-472, source src/cartridge.cpp:871, source src/cartridge.cpp:892-909" # ARM6 coprocessor firmware (ST018) # Internal name arm6, mapped to st018 by libretro wrapper. No HLE. @@ -125,20 +125,20 @@ files: - name: st018.program.rom system: nintendo-snes required: false - source_ref: "source libretro/libretro.cpp:475-476, source src/cartridge.cpp:647" + source_ref: "source libretro/libretro.cpp:475-476, source src/cartridge.cpp:648" aliases: [arm6.program.rom] - name: st018.data.rom system: nintendo-snes required: false - source_ref: "source libretro/libretro.cpp:479-480, source src/cartridge.cpp:657" + source_ref: "source libretro/libretro.cpp:479-480, source src/cartridge.cpp:658" aliases: [arm6.data.rom] # Embedded (no external file needed): # SGB1BootROM[256]: src/coprocessor/icd.cpp:249 # SGB2BootROM[256]: src/coprocessor/icd.cpp:260 # hitachidspStaticDataROM[3072]: src/cartridge.cpp:62 -# CX4 HLE: src/cartridge.cpp:705-720 (preferHLE path for HG51BS169) +# CX4 HLE: src/cartridge.cpp:713-729 (preferHLE path for HG51BS169) # boards_bml: libretro/boards_bml.hpp # SuperFamicom_bml: libretro/SuperFamicom_bml.hpp # BSMemory_bml: libretro/BSMemory_bml.hpp diff --git a/emulators/bsnes.yml b/emulators/bsnes.yml index 35e87c63..0c0b74ab 100644 --- a/emulators/bsnes.yml +++ b/emulators/bsnes.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/bsnes-emu/bsnes" logo: "https://raw.githubusercontent.com/bsnes-emu/bsnes/master/bsnes/target-bsnes/resource/bsnes.svg" profiled_date: "2026-04-05" source_commit: "05439f96121d2b9d7ad7a5fc1f29d7eebdcc8c43" +upstream_commit: "78474e5d39f58872dc21aca18cf9eb583b147fe7" core_version: "115" display_name: "Nintendo - SNES / SFC (bsnes)" cores: [bsnes] diff --git a/emulators/bsnes2014.yml b/emulators/bsnes2014.yml index 8a11f5ed..cf0a8146 100644 --- a/emulators/bsnes2014.yml +++ b/emulators/bsnes2014.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/bsnes2014" upstream: "https://github.com/bsnes-emu/bsnes" profiled_date: "2026-03-25" source_commit: "3c1394e042ee444c8248e1b9210e14ea55e836e9" +upstream_commit: "78474e5d39f58872dc21aca18cf9eb583b147fe7" core_version: "v094" display_name: "Nintendo - SNES / SFC (bsnes 2014)" cores: [bsnes2014_accuracy, bsnes2014_balanced, bsnes2014_performance] diff --git a/emulators/bsnes_hd_beta.yml b/emulators/bsnes_hd_beta.yml index b77faad2..32f9f80b 100644 --- a/emulators/bsnes_hd_beta.yml +++ b/emulators/bsnes_hd_beta.yml @@ -5,6 +5,7 @@ source: "https://github.com/DerKoun/bsnes-hd" upstream: "https://github.com/bsnes-emu/bsnes" profiled_date: "2026-03-23" source_commit: "fc26b25ea236f0f877f0265d2a2c37dfd93dfde9" +upstream_commit: "78474e5d39f58872dc21aca18cf9eb583b147fe7" core_version: "v10.6" display_name: "Nintendo - SNES / SFC (bsnes-hd beta)" cores: [bsnes_hd_beta, bsneshd, bsnes_hd] diff --git a/emulators/c64-emu.yml b/emulators/c64-emu.yml index 5ac3c477..a45f9b32 100644 --- a/emulators/c64-emu.yml +++ b/emulators/c64-emu.yml @@ -5,6 +5,7 @@ source: "https://github.com/Rakashazi/emu-ex-plus-alpha" upstream: "https://github.com/VICE-Team/svn-mirror" profiled_date: "2026-08-11" source_commit: "1c12fac5ce49badaadff2e2f210dcc30b89f4943" +upstream_commit: "283fa5e7df83bdf524187f9dac41ad2a66f1d315" core_version: "1.5.85" display_name: "Commodore - C64 (C64.emu)" mode: standalone diff --git a/emulators/cap32.yml b/emulators/cap32.yml index a8cc32cb..ef710fdf 100644 --- a/emulators/cap32.yml +++ b/emulators/cap32.yml @@ -3,10 +3,10 @@ type: standalone + libretro core_classification: community_fork source: "https://github.com/libretro/libretro-cap32" upstream: "https://github.com/ColinPitrat/caprice32" -profiled_date: "2026-10-06" -source_commit: "c23855092f5f49981a5096f4d39033ff573ebca7" -upstream_commit: "6c12c4c92360065cdc229ac9ada7551f941436b8" -core_version: "v4.2.0" +profiled_date: "2026-10-23" +source_commit: "8e61dd69d948cea16c3bad734f7b9d0c2a018cc8" +upstream_commit: "8c778bf072a06fb7c23b9cccd179041db7f79a52" +core_version: "v4.5.4" display_name: "Amstrad - CPC/GX4000 (Caprice32)" cores: - cap32 @@ -29,26 +29,27 @@ notes: | - cap32/rom/6128p.h: OS_6128P[65580] - CPC+ system cartridge - cap32/rom/cpm.h: CPM, CPM_SYS - CP/M boot memory dumps - ROM selection in emulator_select_ROM() (cap32/cap32.c:1082-1114): - - CPC 464: OS464_BASIC10 - - CPC 464DDI: OS464_BASIC10 + AMSDOS in slot 7 + ROM selection in emulator_select_ROM() (cap32/cap32.c:1081-1111): + - CPC 464: OS464_BASIC10, AMSDOS in slot 7 when the content is a disc - CPC 664: OS664_BASIC664 + AMSDOS in slot 7 - CPC 6128: OS_BASIC11 + AMSDOS in slot 7 - CPC+: OS_6128P loaded as system cartridge via cpr_load() - Core option "cap32_model" accepts "464DDI" (libretro/libretro-core.c:501, - libretro/libretro-core.c:1035). A 464 loading disc content is switched to - 464DDI (libretro/libretro-core.c:1364-1368). + Core option "cap32_model" lists "464DDI" (libretro/libretro-core.c:501), + but update_variables() matches only 464, 664, 6128 and 6128+ and leaves any + other value on the 6128 default (libretro/libretro-core.c:1035-1039). A 464 + with disc content (slot SLOT_DSK, libretro/libretro-core.c:1865-1866) gets + AMSDOS in slot 7 (cap32/cap32.c:1088-1092). The array chROMFile names "cpc464.rom", "cpc664.rom", "cpc6128.rom" (cap32/cap32.c:353-357) and loadConfiguration() parses the rom_path, - slotNN and rom_mf2 keys of ./cap32.cfg (cap32/cap32.c:1846-1863), but no + slotNN and rom_mf2 keys of ./cap32.cfg (cap32/cap32.c:1842-1859), but no code opens these files. The system directory is resolved in - libretro/libretro-core.c:1617-1636 under a "TODO: future use to load + libretro/libretro-core.c:1606-1625 under a "TODO: future use to load custom bios" comment and no ROM is read from it. Keyboard layout patches are applied to the ROM in memory for French - and Spanish layouts via rom_mods.h (cap32/cap32.c:1116-1141). + and Spanish layouts via rom_mods.h (cap32/cap32.c:1113-1137). CP/M support assembles a 128KB snapshot from the CPM and CPM_SYS arrays and loads it via snapshot_load_mem() in cap32/slots.c:71-90. @@ -65,7 +66,7 @@ files: md5: a993f85b88ac4350cf4d41554e87fe4f sha1: 56d39c463da60968d93e58b4ba0e675829412a20 note: "CPC 464 OS + BASIC 1.0, read when model=0" - source_ref: "upstream src/cap32.cpp:212-217, upstream src/cap32.cpp:1013-1027, upstream rom/cpc464.rom" + source_ref: "upstream src/cap32.cpp:212-217, upstream src/cap32.cpp:1038-1052, upstream rom/cpc464.rom" - name: cpc664.rom system: amstrad-cpc required: false @@ -75,7 +76,7 @@ files: md5: 5a384a2310f472c7857888371c00ed66 sha1: 073a7665527b5bd8a148747a3947dbd3328682c8 note: "CPC 664 OS + BASIC 1.1, read when model=1" - source_ref: "upstream src/cap32.cpp:212-217, upstream src/cap32.cpp:1013-1027, upstream rom/cpc664.rom" + source_ref: "upstream src/cap32.cpp:212-217, upstream src/cap32.cpp:1038-1052, upstream rom/cpc664.rom" - name: cpc6128.rom system: amstrad-cpc required: true @@ -85,7 +86,7 @@ files: md5: b96280dc6c95a48857b4b8eb931533ae sha1: 5977adbad3f7c1e0e082cd02fe76a700d9860c30 note: "CPC 6128 OS + BASIC 1.1, default model=2. A missing file returns ERR_CPC_ROM_MISSING" - source_ref: "upstream src/cap32.cpp:212-217, upstream src/cap32.cpp:1013-1027, upstream src/cap32.cpp:1799, upstream rom/cpc6128.rom" + source_ref: "upstream src/cap32.cpp:212-217, upstream src/cap32.cpp:1038-1052, upstream src/cap32.cpp:1848, upstream rom/cpc6128.rom" - name: amsdos.rom system: amstrad-cpc required: false @@ -95,7 +96,7 @@ files: md5: 25629dfe870d097469c217b95fdc1c95 sha1: 39102c8e9cb55fcc0b9b62098780ed4a3cb6a4bb note: "AMSDOS disc ROM, shipped cap32.cfg sets slot07=DEFAULT, skipped on the 464. A missing file clears the slot" - source_ref: "upstream src/cap32.cpp:1170-1178, upstream src/cap32.cpp:1245-1249, upstream cap32.cfg:205-206, 215, upstream rom/amsdos.rom" + source_ref: "upstream src/cap32.cpp:1202-1210, upstream src/cap32.cpp:1277-1281, upstream cap32.cfg:205-206, 215, upstream rom/amsdos.rom" - name: system.cpr system: amstrad-cpc required: false @@ -105,7 +106,7 @@ files: md5: 39b565e648172980aa552293e667070f sha1: 405e341437fab8db477606238af0c20eca2e39ee note: "CPC+ system cartridge, default cartridge path" - source_ref: "upstream src/cap32.cpp:1904, upstream src/cap32.cpp:1150, upstream rom/system.cpr" + source_ref: "upstream src/cap32.cpp:1953, upstream src/cap32.cpp:1182, upstream rom/system.cpr" - name: MF2.rom system: amstrad-cpc required: false @@ -115,16 +116,16 @@ files: md5: 4c9f014e91d407cc6509fad0095ab909 sha1: 1431ec628d38f000715545dd2186b684c5fe5a6f note: "Multiface 2 ROM, read when mf2=1. Checks the \"MULTIFACE 2\" signature at 0x0d32" - source_ref: "upstream src/cap32.cpp:1252-1278, upstream rom/MF2.rom" + source_ref: "upstream src/cap32.cpp:1284-1310, upstream rom/MF2.rom" platform_details: bios_mapping: - source_ref: "source cap32/cap32.c:1082-1114, source cap32/cap32.c:345-349" + source_ref: "source cap32/cap32.c:1081-1111, source cap32/cap32.c:345-349" note: | All ROMs are embedded. emulator_select_ROM() copies the ROM array for CPC.model into pbROM. No filesystem lookup occurs in the libretro port. retro_system_bios_directory is set in - libretro/libretro-core.c:1617-1636 and no ROM is read from it. + libretro/libretro-core.c:1606-1625 and no ROM is read from it. embedded_roms: source_ref: "source cap32/rom/464.h, source cap32/rom/664.h, source cap32/rom/6128.h, source cap32/rom/amsdos.h, source cap32/rom/6128p.h, source cap32/rom/cpm.h" @@ -138,10 +139,9 @@ platform_details: CPM, CPM_SYS - CP/M memory dumps assembled into a 128KB snapshot model_rom_map: - source_ref: "source cap32/cap32.c:1082-1114" + source_ref: "source cap32/cap32.c:1081-1111" note: | - CPC 464: OS464_BASIC10 only - CPC 464DDI: OS464_BASIC10 + AMSDOS in ROM slot 7 + CPC 464: OS464_BASIC10, AMSDOS in ROM slot 7 when the content is a disc CPC 664: OS664_BASIC664 + AMSDOS in ROM slot 7 CPC 6128: OS_BASIC11 + AMSDOS in ROM slot 7 CPC+: 6128P system cartridge (or user-provided .cpr file) diff --git a/emulators/catacombgl.yml b/emulators/catacombgl.yml index eff25478..5a93a19e 100644 --- a/emulators/catacombgl.yml +++ b/emulators/catacombgl.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/ArnoAnsems/CatacombGL" upstream: "https://github.com/ArnoAnsems/CatacombGL" profiled_date: "2026-10-04" -source_commit: "7d3b859a17f7edf02ce47f2d22e8b291e4ef0c91" +source_commit: "dd7d337fff89c32285b096190f6419828860bfe0" core_version: "0.5.7 Beta" display_name: "Catacomb 3-D (CatacombGL)" cores: [catacombgl] diff --git a/emulators/cemu.yml b/emulators/cemu.yml index 74ae3bea..d85b1681 100644 --- a/emulators/cemu.yml +++ b/emulators/cemu.yml @@ -5,9 +5,9 @@ source: "https://git.libretro.com/libretro/cemu-libretro" source_mirror: "https://github.com/WizzardSK/cemu-libretro" upstream: "https://github.com/cemu-project/Cemu" logo: "https://raw.githubusercontent.com/cemu-project/Cemu/main/dist/linux/info.cemu.Cemu.png" -profiled_date: "2026-10-04" -source_commit: "4802094a2c15559541b3da3a6b11c2e12ba5d7e8" -upstream_commit: "32e6628a6a9e5255fd0f7e734386a364ff9c106e" +profiled_date: "2026-10-23" +source_commit: "a4462ccc4a010914b9ab929f0643901fa9d85cb9" +upstream_commit: "29f2f1fae4631e2317977debd9eacd55cc28dd7d" core_version: "2.6" display_name: "Nintendo - Wii U (Cemu)" library_name: "Cemu" @@ -20,7 +20,7 @@ data_directories: - ref: cemu-gameprofiles destination: "Cemu/gameProfiles/default" mode: libretro - source_ref: "source src/Cafe/GameProfile/GameProfile.cpp:181-195, source src/libretro/CemuLibretro.cpp:1699-1707" + source_ref: "source src/Cafe/GameProfile/GameProfile.cpp:181-195, source src/libretro/CemuLibretro.cpp:2155-2163" - ref: cemu-graphic-packs installed_on: [retrobat] destination: "Cemu/graphicPacks/downloadedGraphicPacks" @@ -38,7 +38,7 @@ notes: | gameProfiles/default/) comes with the core. The community graphic packs, which standalone downloads, are compiled into it. ref: CMakeLists.txt:4-7, src/CMakeLists.txt:75-90, - .gitlab-ci.yml:110, 116, 139, 400, 421, 426, 434, 464, 550, 569 + .gitlab-ci.yml:123, 129, 152, 414, 435, 440, 448, 478, 564, 583 Path model. Cemu resolves every file through four roots: the user data path (keys.txt, otp.bin, seeprom.bin, cafeLibs/, graphicPacks/, @@ -57,9 +57,9 @@ notes: | directory for the MLC (load_from), and standalone_path: is relative to the Cemu user data directory, which holds the MLC by default (load_from data_dir). The core reports library_name "Cemu" - (src/libretro/CemuLibretro.cpp:3354). - ref: src/libretro/CemuLibretro.cpp:1647-1707, - src/libretro/CemuLibretro.cpp:3264-3272, + (src/libretro/CemuLibretro.cpp:4154). + ref: src/libretro/CemuLibretro.cpp:2103-2163, + src/libretro/CemuLibretro.cpp:4064-4072, src/gui/wxgui/CemuApp.cpp:90-123, src/gui/wxgui/CemuApp.cpp:127-171, src/config/ActiveSettings.cpp:295-321 @@ -73,9 +73,9 @@ notes: | load with a message naming keys.txt when no key matches, so an encrypted disc image does not start without it. .wua archives, .rpx and NUS directories are not encrypted with a disc key and load without the file. - ref: src/Cafe/Filesystem/FST/KeyCache.cpp:64-136, + ref: src/Cafe/Filesystem/FST/KeyCache.cpp:65-137, src/Cafe/Filesystem/FST/FST.cpp:192-246, - src/libretro/CemuLibretro.cpp:4688-4734 + src/libretro/CemuLibretro.cpp:6072-6120 Shared fonts. LoadSharedData runs at every title start and looks for the four fonts of title 0005001b-10042400 in the MLC first, then under @@ -144,9 +144,9 @@ notes: | src/gui/wxgui/DownloadGraphicPacksWindow.cpp:234-238, src/libretro/embed_graphic_packs.cmake:8-54, src/libretro/LibretroGraphicPacks.cpp:30-103, - src/libretro/CemuLibretro.cpp:4883, - src/libretro/CemuLibretro.cpp:2745-2786, - src/libretro/CemuLibretro.cpp:3130-3140, + src/libretro/CemuLibretro.cpp:6333, + src/libretro/CemuLibretro.cpp:3529-3570, + src/libretro/CemuLibretro.cpp:3883-3893, src/Cafe/OS/libs/nn_olv/nn_olv_OfflineDB.cpp:21-31, src/Cafe/OS/libs/nn_olv/nn_olv_OfflineDB.cpp:124-125, src/Cafe/OS/libs/nn_olv/nn_olv_InitializeTypes.cpp:242-248 @@ -159,10 +159,14 @@ notes: | 0005001b-1005c000 of the MLC when absent. The core also creates titles/ under /Cemu and scans it for updates and DLC, which like title.tmd, title.tik and bootSound.btsnd belong to each title's own dump. + The core writes account_name.txt under /Cemu with a + " = " line per account and names the accounts from + it when a title starts. ref: src/main.cpp:117-141, src/config/NetworkSettings.cpp:10-14, src/gui/wxgui/CemuApp.cpp:580-606, - src/libretro/CemuLibretro.cpp:1609-1645, - src/libretro/CemuLibretro.cpp:3289-3295, + src/libretro/CemuLibretro.cpp:2065-2101, + src/libretro/CemuLibretro.cpp:4089-4095, + src/libretro/CemuLibretro.cpp:4887-4899, src/Cafe/HW/Latte/Core/LatteShaderCache.cpp:232 files: @@ -176,7 +180,7 @@ files: or .wux image, with a 16-byte .key beside the image as the last resort. Created with a template when absent. The libretro core refuses to load an encrypted image whose key is not in it. - source_ref: "source src/Cafe/Filesystem/FST/KeyCache.cpp:64-136, upstream src/Cafe/Filesystem/FST/FST.cpp:192-246, source src/libretro/CemuLibretro.cpp:4688-4734" + source_ref: "source src/Cafe/Filesystem/FST/KeyCache.cpp:65-137, upstream src/Cafe/Filesystem/FST/FST.cpp:192-246, source src/libretro/CemuLibretro.cpp:6072-6120" - name: otp.bin path: Cemu/otp.bin @@ -862,7 +866,7 @@ firmware_titles: content: ["language.txt", "country.txt"] required: false note: "Written when absent, by the wx frontend on first run and by the libretro core at init." - source_ref: "upstream src/gui/wxgui/CemuApp.cpp:580-606, source src/libretro/CemuLibretro.cpp:1609-1645" + source_ref: "upstream src/gui/wxgui/CemuApp.cpp:580-606, source src/libretro/CemuLibretro.cpp:2065-2101" mlc_structure: - "mlc01/sys/title/0005001b/10042400/content/" diff --git a/emulators/chimerasnes.yml b/emulators/chimerasnes.yml index 7e99a7b9..5641c312 100644 --- a/emulators/chimerasnes.yml +++ b/emulators/chimerasnes.yml @@ -5,6 +5,7 @@ source: "https://github.com/jamsilva/chimerasnes" upstream: "https://github.com/snes9xgit/snes9x" profiled_date: "2026-03-23" source_commit: "04c57c2902c25f36ae5a5d9c57aff851a772c868" +upstream_commit: "1bcc369e89f08243e0a462882fb1f3e42e51de3a" core_version: "" display_name: "Nintendo - SNES / SFC (ChimeraSNES)" cores: [chimerasnes] diff --git a/emulators/chocolate-doom.yml b/emulators/chocolate-doom.yml index c33c97d1..69d96a9d 100644 --- a/emulators/chocolate-doom.yml +++ b/emulators/chocolate-doom.yml @@ -4,6 +4,7 @@ core_classification: game_engine source: "https://github.com/chocolate-doom/chocolate-doom" profiled_date: "2026-10-22" source_commit: "72d9e9318c4ccc61dab29bb9cc30bc8a9a93266d" +pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/chocolate-doom/package.mk:5). Later commits are not part of that build." core_version: "3.0.0" display_name: "Doom (Chocolate Doom)" cores: diff --git a/emulators/citra-mmj.yml b/emulators/citra-mmj.yml index 3ea4cefa..8c7f08e2 100644 --- a/emulators/citra-mmj.yml +++ b/emulators/citra-mmj.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/weihuoya/citra" upstream: "https://github.com/weihuoya/citra" profiled_date: "2026-08-11" -source_commit: "302b0c3bc4312bc96489c11584a97664894b343f" +source_commit: "9198dc24df2eb534b8fe7fa1c5c457081a7244ab" core_version: "20251112" display_name: "Nintendo - 3DS (Citra MMJ)" cores: diff --git a/emulators/clk.yml b/emulators/clk.yml index e38d61ff..cb183990 100644 --- a/emulators/clk.yml +++ b/emulators/clk.yml @@ -3,7 +3,7 @@ type: standalone source: "https://github.com/TomHarte/CLK" upstream: "https://github.com/TomHarte/CLK" profiled_date: "2026-03-26" -source_commit: "53a1ee78f2f6857815f50247dbf4f76bc5c8c3d9" +source_commit: "0f49993b4d0992ebba1fad5032d96637f3a84d1f" core_version: "2026-07-28" display_name: "Clock Signal" cores: [clk] @@ -746,7 +746,7 @@ files: size: 32768 crc32: "ee229390" required: false - note: "Alternative to msx.rom for the Japan region, which the analyser never sets. Only the user picks it (Analyser/Static/MSX/Target.hpp:34, Analyser/Static/MSX/StaticAnalyser.cpp:217-219)." + note: "Alternative to msx.rom for the Japan region, which the analyser never sets. Only the user picks it (Analyser/Static/MSX/Target.hpp:34, Analyser/Static/MSX/StaticAnalyser.cpp:218-220)." source_ref: "Machines/Utility/ROMCatalogue.cpp:785-792" - name: msx-american.rom @@ -755,7 +755,7 @@ files: description: "American MSX BIOS" size: 32768 required: false - note: "Alternative to msx.rom for the USA region, which the analyser sets whenever no tape is loaded (Analyser/Static/MSX/StaticAnalyser.cpp:217-219, Machines/MSX/MSX.cpp:250-259)." + note: "Alternative to msx.rom for the USA region, which the analyser sets whenever no tape is loaded (Analyser/Static/MSX/StaticAnalyser.cpp:218-220, Machines/MSX/MSX.cpp:251-260)." source_ref: "Machines/Utility/ROMCatalogue.cpp:793-800" - name: msx-european.rom @@ -764,7 +764,7 @@ files: description: "European MSX BIOS" size: 32768 required: false - note: "Alternative to msx.rom for the Europe region, which the analyser sets whenever a tape is loaded or the user picks (Analyser/Static/MSX/StaticAnalyser.cpp:217-219, Machines/MSX/MSX.cpp:261-269)." + note: "Alternative to msx.rom for the Europe region, which the analyser sets whenever a tape is loaded or the user picks (Analyser/Static/MSX/StaticAnalyser.cpp:218-220, Machines/MSX/MSX.cpp:262-270)." source_ref: "Machines/Utility/ROMCatalogue.cpp:801-808" - name: disk.rom diff --git a/emulators/corsixth.yml b/emulators/corsixth.yml index e4ce3a83..361ffb90 100644 --- a/emulators/corsixth.yml +++ b/emulators/corsixth.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/CorsixTH/CorsixTH" upstream: ~ profiled_date: "2026-10-04" -source_commit: "2d4671e267cae25847432a2e7d4f814b44f91e35" +source_commit: "f98c9e8e1d22f638233c12b10f3a351f1484608c" core_version: "0.70.1" display_name: "Theme Hospital (CorsixTH)" cores: [corsixth] @@ -21,23 +21,23 @@ notes: | install discovery: 1. config.theme_hospital_install (user override) is tried first (:1453). If unset or wrong, the loader scans a list of common - paths (:1471-1489) looking for a folder that passes + paths (:1473-1491) looking for a folder that passes App:isThemeHospitalPath, which demands three subdirectories named data, levels and qdata (:1435-1447). 2. Once a candidate is accepted, three sentinel files MUST exist - (:1521-1523): + (:1523-1525): DATA/VBlk-0.tab LEVELS/Level.L1 QDATA/SPointer.dat Any missing file aborts init with "Invalid Theme Hospital - folder specified in config file..." (:1526). - 3. DataM/Demo.dat (:1535) marks the shareware demo install. Its + folder specified in config file..." (:1528). + 3. DataM/Demo.dat (:1537) marks the shareware demo install. Its presence switches a different corruption-size check on ANIMS/WINLEVEL.SMK (243188), LEVELS/LEVEL.L1 (163948) and - DATA/BUTTON01.DAT (252811) at :1559-1561. Full installs instead + DATA/BUTTON01.DAT (252811) at :1561-1563. Full installs instead get soft size checks on ANIMS/AREA01V.SMK, WINGAME.SMK, - WINLEVEL.SMK, LOSE1.SMK and INTRO/INTRO.SM4 (:1563-1567). - 4. QData/Font00V.dat is read unconditionally (:1576) and its CRC32 + WINLEVEL.SMK, LOSE1.SMK and INTRO/INTRO.SM4 (:1565-1569). + 4. QData/Font00V.dat is read unconditionally (:1578) and its CRC32 picks the charset (mik vs cp437). The install root is read as a tree. FileSystem:setRoot() lists the @@ -50,7 +50,7 @@ notes: | upper-case names the DOS release ships and the lookup normalises to. The sound/music path uses the game's XMI tracks when a SoundFont is - available (App:findSoundFont at :1589 probes GeneralUser-GS.sf2, + available (App:findSoundFont at :1591 probes GeneralUser-GS.sf2, FluidR3_GM.sf2, FluidR3.sf3 and three Linux system paths), and the SoundFont is a user preference, not game data. @@ -62,7 +62,7 @@ files: category: game_data required: true description: "Theme Hospital install directory (full game or demo)" - source_ref: "CorsixTH/Lua/filesystem.lua:64-76, CorsixTH/Lua/app.lua:1435-1447, 1454, 1499" + source_ref: "CorsixTH/Lua/filesystem.lua:64-76, CorsixTH/Lua/app.lua:1435-1447, 1454, 1501" note: "Accepted as an install when it holds data, levels and qdata subdirectories. The rest of the tree is opened by name on demand." - name: "VBLK-0.TAB" @@ -71,7 +71,7 @@ files: category: game_data required: true description: "Theme Hospital core sprite index, sentinel checked at startup" - source_ref: "CorsixTH/Lua/app.lua:1521" + source_ref: "CorsixTH/Lua/app.lua:1523" note: "Looked up as Data/VBlk-0.tab." - name: "LEVEL.L1" @@ -80,7 +80,7 @@ files: category: game_data required: true description: "First Theme Hospital level file, sentinel checked at startup" - source_ref: "CorsixTH/Lua/app.lua:1522, 1560" + source_ref: "CorsixTH/Lua/app.lua:1524, 1562" note: "Looked up as Levels/Level.L1. With the demo marker present, a size more than 1024 bytes away from 163948 is reported as corrupt and the game still starts." - name: "SPOINTER.DAT" @@ -89,7 +89,7 @@ files: category: game_data required: true description: "Sprite pointer table, sentinel checked at startup" - source_ref: "CorsixTH/Lua/app.lua:1523" + source_ref: "CorsixTH/Lua/app.lua:1525" note: "Looked up as QData/SPointer.dat." - name: "FONT00V.DAT" @@ -98,7 +98,7 @@ files: category: game_data required: true description: "Theme Hospital font, its CRC32 selects charset (mik vs cp437)" - source_ref: "CorsixTH/Lua/app.lua:1576-1584" + source_ref: "CorsixTH/Lua/app.lua:1578-1586" note: "Looked up as QData/Font00V.dat." - name: "DEMO.DAT" @@ -107,5 +107,5 @@ files: category: game_data required: false description: "Demo marker: its presence selects the demo graphics set and the demo size checks" - source_ref: "CorsixTH/Lua/app.lua:1535-1539, 1558-1561" + source_ref: "CorsixTH/Lua/app.lua:1537-1541, 1560-1563" note: "Looked up as DataM/Demo.dat. Absent from a full install." diff --git a/emulators/cruzes.yml b/emulators/cruzes.yml index 0ad0fd8d..8214d492 100644 --- a/emulators/cruzes.yml +++ b/emulators/cruzes.yml @@ -3,7 +3,7 @@ type: libretro core_classification: pure_libretro source: "https://github.com/libretro/libretro-samples/tree/master/tests/cruzes" profiled_date: "2026-03-23" -source_commit: "bce193bc1b8c9a3da43b2ead0158a69e28b37ed8" +source_commit: "7c2ad112d7a5176de2191e473369668da8946b16" core_version: "0.1" display_name: "Cruzes" cores: @@ -15,9 +15,9 @@ notes: | Unfinished Picross puzzle game, part of the libretro-samples repository. No separate upstream -- written directly for the libretro API. - supports_no_game true (cruzes.c:772), valid_extensions "" (cruzes.c:749). - Puzzle grid hardcoded in retro_init (cruzes.c:706-717) via load_challenge. - retro_load_game (cruzes.c:728-732) sets pixel format and returns true. + supports_no_game true (tests/cruzes/cruzes.c:772), valid_extensions "" (tests/cruzes/cruzes.c:749). + Puzzle grid hardcoded in retro_init (tests/cruzes/cruzes.c:706-717) via load_challenge. + retro_load_game (tests/cruzes/cruzes.c:728-732) sets pixel format and returns true. No file I/O, no RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY call. Font data (Carlito-Regular.ttf) compiled in via ttf2c (font10.h, font16.h, diff --git a/emulators/desmume.yml b/emulators/desmume.yml index e8d6898e..e9d80a26 100644 --- a/emulators/desmume.yml +++ b/emulators/desmume.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/desmume" upstream: "https://github.com/TASEmulators/desmume" profiled_date: "2026-03-23" source_commit: "95b4d798731caa809125b6c3c11d17cc332ff6ef" +upstream_commit: "1275dc64f5d1f5ef18dc1bc1fa9e012024b6df1a" core_version: "SVN" display_name: "Nintendo - DS (DeSmuME)" cores: [desmume] diff --git a/emulators/desmume2015.yml b/emulators/desmume2015.yml index 96960fd8..48359d6b 100644 --- a/emulators/desmume2015.yml +++ b/emulators/desmume2015.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/desmume2015" upstream: "https://github.com/TASEmulators/desmume" profiled_date: "2026-03-23" source_commit: "422b688009ccb9f2917c086a8fe79c8cecb030ae" +upstream_commit: "1275dc64f5d1f5ef18dc1bc1fa9e012024b6df1a" core_version: "SVN (2015 snapshot)" display_name: "Nintendo - DS (DeSmuME 2015)" cores: [desmume2015, desmume_2015] diff --git a/emulators/devilutionx.yml b/emulators/devilutionx.yml index 23e6dfbf..be2e9b49 100644 --- a/emulators/devilutionx.yml +++ b/emulators/devilutionx.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/diasurgical/DevilutionX" upstream: ~ profiled_date: "2026-10-04" -source_commit: "dac104babfb6187415432f428ac2516747ffc154" +source_commit: "0706e014d6a12ec8178a81fba549a68bd559f247" core_version: "1.6.0-dev" display_name: "Diablo (DevilutionX)" cores: [devilutionx] @@ -20,26 +20,26 @@ notes: | macOS Application Support, etc.) via GetMPQSearchPaths(). Load order is defined in Source/engine/assets.cpp: - LoadCoreArchives() (:505) - devilutionx.mpq, fonts.mpq (optional) - LoadLanguageArchive() (:521) - .mpq, skipped for "en" - LoadGameArchives() (:530) - diabdat.mpq or spawn.mpq (required) + LoadCoreArchives() (:507) - devilutionx.mpq, fonts.mpq (optional) + LoadLanguageArchive() (:523) - .mpq, skipped for "en" + LoadGameArchives() (:532) - diabdat.mpq or spawn.mpq (required) hfbard.mpq, hfbarb.mpq (always probed) - LoadHellfireArchives() (:570) - hellfire.mpq + hfmonk/hfmusic/hfvoice - LoadModArchives() (:703) - mods/.mpq for each active mod + LoadHellfireArchives() (:572) - hellfire.mpq + hfmonk/hfmusic/hfvoice + LoadModArchives() (:712) - mods/.mpq for each active mod diabdat.mpq is matched uppercase first ("DIABDAT.MPQ", GOG/retail CD - convention, line 538), then lowercase (line 542). If neither is found - the loader falls back to spawn.mpq (line 544). Missing BOTH triggers + convention, line 540), then lowercase (line 544). If neither is found + the loader falls back to spawn.mpq (line 546). Missing BOTH triggers the "diabdat.mpq or spawn.mpq" InsertCDDlg dialog and the game cannot start. Hellfire is optional: the engine advertises Diablo even when hellfire files are absent. If hellfire.mpq is loaded, hfmonk.mpq + hfmusic.mpq - + hfvoice.mpq must also be present (line 588) or the game aborts. + + hfvoice.mpq must also be present (line 590) or the game aborts. devilutionx.mpq is a build artefact packed from the repo's assets/ directory with the smpq tool (CMake option BUILD_ASSETS_MPQ, - CMakeLists.txt:192-204). CMake/Assets.cmake:46-238 lists the packed + CMakeLists.txt:192-205). CMake/Assets.cmake:46-238 lists the packed files (ASSETS_VERSION, arena, data, fonts, gendata, levels, lua, plrgfx, txtdata and ui_art, plus data/inv/objcurs-widths.txt and the ui_art PNGs outside SDL1 and Vita builds), and each Translations/.po @@ -47,9 +47,10 @@ notes: | (CMake/Assets.cmake:8-29, 268-272). The archive is written with "smpq -A -M 1 -C BZIP2 -c" from the staged assets directory (CMake/Assets.cmake:287-294). mods/hf.mpq is built the same way from - the mods/hf file list (CMake/Mods.cmake:8-33, 58-67). The compiled + the mods/hf file list under the BUILD_MOD_MPQS option + (CMake/Mods.cmake:11-36, 61-71). The compiled binary expects devilutionx.mpq next to the executable on every - platform except Android, Apple and 3DS/Switch (:509-516), where its + platform except Android, Apple and 3DS/Switch (:511-518), where its contents are shipped loose. After loading the core archives the engine reads the asset ASSETS_VERSION and aborts with "Failed to load UI resources" unless its content is "1\n" (Source/init.cpp:54, 79-85, @@ -68,7 +69,7 @@ files: description: "Diablo retail or GOG MPQ (contains all game data)" aliases: [DIABDAT.MPQ] note: "primary game archive, the GOG CD convention uses uppercase" - source_ref: "Source/engine/assets.cpp:537-542" + source_ref: "Source/engine/assets.cpp:539-544" - name: spawn.mpq path: devilutionx/spawn.mpq @@ -77,7 +78,7 @@ files: required: false description: "Diablo shareware archive, used when diabdat.mpq is absent" note: "freely redistributable shareware, triggers gbIsSpawn mode" - source_ref: "Source/engine/assets.cpp:544" + source_ref: "Source/engine/assets.cpp:546" - name: hellfire.mpq path: devilutionx/hellfire.mpq @@ -85,7 +86,7 @@ files: category: game_data required: false description: "Hellfire expansion main archive" - source_ref: "Source/engine/assets.cpp:573" + source_ref: "Source/engine/assets.cpp:575" - name: hfmonk.mpq path: devilutionx/hfmonk.mpq @@ -93,7 +94,7 @@ files: category: game_data required: false description: "Hellfire monk class assets, mandatory when hellfire.mpq is present" - source_ref: "Source/engine/assets.cpp:583" + source_ref: "Source/engine/assets.cpp:585" - name: hfmusic.mpq path: devilutionx/hfmusic.mpq @@ -101,7 +102,7 @@ files: category: game_data required: false description: "Hellfire music, mandatory when hellfire.mpq is present" - source_ref: "Source/engine/assets.cpp:584" + source_ref: "Source/engine/assets.cpp:586" - name: hfvoice.mpq path: devilutionx/hfvoice.mpq @@ -109,7 +110,7 @@ files: category: game_data required: false description: "Hellfire voices, mandatory when hellfire.mpq is present" - source_ref: "Source/engine/assets.cpp:585" + source_ref: "Source/engine/assets.cpp:587" - name: "hfbard.mpq" path: "devilutionx/hfbard.mpq" @@ -117,7 +118,7 @@ files: category: game_data required: false description: "Hellfire bard class assets, loaded when present" - source_ref: "Source/engine/assets.cpp:565" + source_ref: "Source/engine/assets.cpp:567" - name: "hfbarb.mpq" path: "devilutionx/hfbarb.mpq" @@ -125,7 +126,7 @@ files: category: game_data required: false description: "Hellfire barbarian class assets, loaded when present" - source_ref: "Source/engine/assets.cpp:566" + source_ref: "Source/engine/assets.cpp:568" - name: "devilutionx.mpq" path: "devilutionx/devilutionx.mpq" @@ -137,7 +138,7 @@ files: md5: "5afe4d6624064b41e25a36ac55da29fa" description: "Engine assets (UI art, fonts, data tables, Lua scripts, compiled translations) packed from the repository's assets/ directory" note: "Loaded first on every platform except Android, Apple, 3DS and Switch. Its files are also found in an assets/ directory next to the binary when the build installs them loose. The engine aborts when the asset ASSETS_VERSION is absent or is not \"1\\n\". Built by CMake with smpq (MPQ version 1, BZIP2, no attributes) from the file list of CMake/Assets.cmake plus one .gmo per translation. Shipped beside the binary in the Windows zip and the Linux tarball, and loose under assets/ in the APK. The hashes are those of the 1.5.5 release." - source_ref: "Source/engine/assets.cpp:509-516, 223-226, Source/init.cpp:54, 79-85, Source/diablo.cpp:1225-1239, CMake/Assets.cmake:46-224, 287-294" + source_ref: "Source/engine/assets.cpp:511-518, 223-226, Source/init.cpp:54, 79-85, Source/diablo.cpp:1225-1239, CMake/Assets.cmake:46-224, 287-294" - name: "fonts.mpq" path: "devilutionx/fonts.mpq" @@ -145,7 +146,7 @@ files: category: game_data required: false description: "CJK and extended-language font pack from devilutionx-assets release" - source_ref: "Source/engine/assets.cpp:517" + source_ref: "Source/engine/assets.cpp:519" - name: "es.mpq" path: "devilutionx/es.mpq" @@ -154,7 +155,7 @@ files: required: false description: "Spanish voice pack" note: "The archive named after the selected language code is loaded. English loads none." - source_ref: "Source/engine/assets.cpp:521-528" + source_ref: "Source/engine/assets.cpp:523-530" - name: "pl.mpq" path: "devilutionx/pl.mpq" @@ -163,7 +164,7 @@ files: required: false description: "Polish voice pack" note: "The archive named after the selected language code is loaded. English loads none." - source_ref: "Source/engine/assets.cpp:521-528" + source_ref: "Source/engine/assets.cpp:523-530" - name: "ru.mpq" path: "devilutionx/ru.mpq" @@ -172,7 +173,7 @@ files: required: false description: "Russian voice pack" note: "The archive named after the selected language code is loaded. English loads none." - source_ref: "Source/engine/assets.cpp:521-528" + source_ref: "Source/engine/assets.cpp:523-530" - name: "hf.mpq" path: "devilutionx/mods/hf.mpq" @@ -181,4 +182,4 @@ files: required: false description: "Hellfire mod archive packed from the repository's mods/hf directory" note: "mods/.mpq is opened for each active mod, and hf is activated when hellfire.mpq is present. A mod with no archive and no loose directory is served from the core archives. Built by CMake with smpq (MPQ version 1, BZIP2, no attributes) from the hellfire_mod file list. The Windows and Linux packaging of this revision installs it under mods/ beside devilutionx.mpq, and no release carries it yet." - source_ref: "Source/engine/assets.cpp:748-764, Source/options.cpp:77-79, CMakeLists.txt:204, 638-643, 702-707, CMake/Mods.cmake:8-33, 58-66" + source_ref: "Source/engine/assets.cpp:756-772, Source/options.cpp:77-79, CMakeLists.txt:205, 641-646, 705-710, CMake/Mods.cmake:11-36, 61-70" diff --git a/emulators/dice.yml b/emulators/dice.yml index 41504eb2..86d96ed8 100644 --- a/emulators/dice.yml +++ b/emulators/dice.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/mittonk/dice-libretro" upstream: "https://sourceforge.net/projects/dice/" profiled_date: "2026-03-23" -source_commit: "ab766aa25c6ed970ece28f2df5be7daa26b9e439" +source_commit: "4b4596b8dd2252b9d08bd6aaa02afda4be834db3" core_version: "v0.4.2" display_name: "Arcade (DICE)" cores: diff --git a/emulators/dolphin-mmjr2.yml b/emulators/dolphin-mmjr2.yml index bc7af2f7..8f8e1df2 100644 --- a/emulators/dolphin-mmjr2.yml +++ b/emulators/dolphin-mmjr2.yml @@ -23,8 +23,8 @@ notes: | selective merge of Dolphin Official carrying that label rather than a checkout of it: at Dolphin 5.0-18025 the memory subsystem has already moved behind Core::System, and here it has not, so no single Dolphin revision - matches the tree. upstream_commit is the Dolphin revision the upstream - citations were read at, not a base of this tree. + matches the tree. Every citation below reads this tree, and upstream_commit + is the Dolphin revision it was last compared with, not a base of this tree. ref: Source/Android/app/build.gradle:32, Source/Android/app/build.gradle:135 Two roots. The user directory is mmjr-revamp at the root of external storage. @@ -128,7 +128,7 @@ files: on_mismatch: warn description: "GameCube boot ROM, NTSC-U directory" note: "Read whole into a 2 MiB buffer with no size check, then descrambled from 0x100 for 0x1afe00 bytes. The crc32 gate runs when the IPL itself is booted and only warns: the four non-PAL dumps, the Brazilian MPAL one included, pass here without complaint. Discs with the Brazilian country code B and SYSCONF countries of the Americas map to NTSC-U, so Latin America reads this directory too (Source/Core/DiscIO/Enums.cpp:172-173, 223-225)." - source_ref: "source Source/Core/Core/Config/MainSettings.cpp:594-600, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:105-113, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.h:43, upstream Source/Core/Core/Boot/Boot.cpp:408-442, source Source/Core/Core/Boot/Boot.cpp:444-449" + source_ref: "source Source/Core/Core/Config/MainSettings.cpp:594-600, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:105-113, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.h:43, source Source/Core/Core/Boot/Boot.cpp:408-442, source Source/Core/Core/Boot/Boot.cpp:444-449" - name: IPL.bin path: GC/EUR/IPL.bin @@ -306,7 +306,7 @@ files: required: false description: "Mii database imported into the emulated Wii Remote" note: "Read from the NAND root when an emulated Wii Remote is reset, and copied into both Mii blocks of its EEPROM. Absent, the EEPROM keeps its default contents." - source_ref: "upstream Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp:156-165" + source_ref: "source Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp:156-165" - name: nwc24msg.cfg path: Wii/shared2/wc24/nwc24msg.cfg @@ -318,7 +318,7 @@ files: validation: [size] description: "WiiConnect24 account configuration" note: "Read as one packed structure, so a shorter file fails the read and a default configuration is generated and written back. A file that reads is then checked for the WcCf magic, its own checksum, an id generation under 0x20 and version 8, each mismatch logged." - source_ref: "upstream Source/Core/Core/IOS/Network/KD/NWC24Config.cpp:17, source Source/Core/Core/IOS/Network/KD/NWC24Config.cpp:24-38, source Source/Core/Core/IOS/Network/KD/NWC24Config.cpp:90-117, source Source/Core/Core/IOS/Network/KD/NWC24Config.h:87-109" + source_ref: "source Source/Core/Core/IOS/Network/KD/NWC24Config.cpp:17, source Source/Core/Core/IOS/Network/KD/NWC24Config.cpp:24-38, source Source/Core/Core/IOS/Network/KD/NWC24Config.cpp:90-117, source Source/Core/Core/IOS/Network/KD/NWC24Config.h:87-109" - name: nwc24dl.bin path: Wii/shared2/wc24/nwc24dl.bin @@ -429,7 +429,7 @@ files: required: false description: "user title database" note: "One title id equals name pair per line, ids of four characters and up. titles.txt is read only when wiitdb.txt yields nothing. Overlays the per-language databases shipped in the Sys directory, which cover ten languages. The Portuguese and Russian files also present there are never registered." - source_ref: "source Source/Core/Core/TitleDatabase.cpp:29-51, upstream Source/Core/Core/TitleDatabase.cpp:54-58, source Source/Core/Core/TitleDatabase.cpp:63-79" + source_ref: "source Source/Core/Core/TitleDatabase.cpp:29-51, source Source/Core/Core/TitleDatabase.cpp:54-58, source Source/Core/Core/TitleDatabase.cpp:63-79" - name: mios-ipl.map path: Maps/mios-ipl.map diff --git a/emulators/dolphin.yml b/emulators/dolphin.yml index f881896d..a3b621d1 100644 --- a/emulators/dolphin.yml +++ b/emulators/dolphin.yml @@ -5,8 +5,8 @@ source: "https://github.com/libretro/dolphin" upstream: "https://github.com/dolphin-emu/dolphin" logo: "https://raw.githubusercontent.com/dolphin-emu/dolphin/master/Data/dolphin-emu.svg" profiled_date: "2026-03-23" -source_commit: "4d23cf151640eb810cb1b8e9d9fc922cf59c0b87" -upstream_commit: "f5dfb7e3d36ce24551ed0bb886b79f3f192dac9d" +source_commit: "eb68258ab5559a5c6dc8011bf9a746a0d1bab48e" +upstream_commit: "e1d35f666cc35f6ead55d32ea2679df44d04da72" core_version: "Git" display_name: "Nintendo - GameCube / Wii (Dolphin)" library_name: "dolphin-emu" @@ -18,7 +18,7 @@ systems: [nintendo-gamecube, nintendo-wii, sega-triforce] # path: is where the libretro core reads a file, standalone_path: where the # standalone app reads it under its User directory. # Libretro: User is /User, Sys is /dolphin-emu/Sys -# (Source/Core/DolphinLibretro/Boot.cpp:248-254). The GC ROMs and +# (Source/Core/DolphinLibretro/Boot.cpp:250-256). The GC ROMs and # segaboot.gcm fall back to Sys (Source/Core/Core/Config/MainSettings.cpp:761-768, # Source/Core/Core/HW/DVD/AMMediaboard.cpp:500-513). The Wii and GBA files # are read under User only. @@ -127,14 +127,15 @@ files: source_ref: "upstream Source/Core/Common/CommonPaths.h:134, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:129, 234" # -- Triforce firmware -- - # Loaded from User/Triforce/ only, no Sys fallback. + # Libretro reads Sys/Triforce/ first, then User/Triforce/. The standalone + # reads User/Triforce/ only. - name: "segaboot.gcm" path: "dolphin-emu/Sys/Triforce/segaboot.gcm" standalone_path: "Triforce/segaboot.gcm" system: sega-triforce required: true note: "SegaBoot, the Triforce system disc image. Read on every Triforce boot, min(size, 2 MiB) copied into the firmware buffer, nothing validated" - source_ref: "source Source/Core/Core/HW/DVD/AMMediaboard.cpp:163, source Source/Core/Core/HW/DVD/AMMediaboard.cpp:521, source Source/Core/Core/HW/DVD/AMMediaboard.cpp:551-571, source Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, source Source/Core/Core/System.h:147" + source_ref: "source Source/Core/Core/HW/DVD/AMMediaboard.cpp:163, 481, 500-514, 534-535, source Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, source Source/Core/Core/System.h:149" # -- GBA BIOS (for GC-GBA link) -- # Used by integrated mGBA core for GameCube-GBA connectivity. @@ -268,112 +269,112 @@ files: # Dolphin can auto-download these from gitlab.com/kernel-firmware/linux-firmware. # Placed in Load/Firmware/rtl_bt/ (standalone) or User/Load/Firmware/rtl_bt/ (libretro save dir). # Each device needs _fw.bin (required) and _config.bin (optional, some devices). - # ref: Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:382-425,427-481 + # ref: Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:410-448,544-572 - name: "rtl8723a_fw.bin" path: "Load/Firmware/rtl_bt/rtl8723a_fw.bin" required: false mode: standalone note: "Realtek 8723A BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:414" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:416" - name: "rtl8723b_fw.bin" path: "Load/Firmware/rtl_bt/rtl8723b_fw.bin" required: false mode: standalone note: "Realtek 8723B BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:389" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:418" - name: "rtl8723d_fw.bin" path: "Load/Firmware/rtl_bt/rtl8723d_fw.bin" required: false mode: standalone note: "Realtek 8723D BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:418" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:420" - name: "rtl8761a_fw.bin" path: "Load/Firmware/rtl_bt/rtl8761a_fw.bin" required: false mode: standalone note: "Realtek 8761A BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:393" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:422" - name: "rtl8761bu_fw.bin" path: "Load/Firmware/rtl_bt/rtl8761bu_fw.bin" required: false mode: standalone note: "Realtek 8761BU BT firmware for Wiimote passthrough (most common USB dongle)" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:395" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:424" - name: "rtl8821a_fw.bin" path: "Load/Firmware/rtl_bt/rtl8821a_fw.bin" required: false mode: standalone note: "Realtek 8821A BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:397" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:426" - name: "rtl8821c_fw.bin" path: "Load/Firmware/rtl_bt/rtl8821c_fw.bin" required: false mode: standalone note: "Realtek 8821C BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:426" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:428" - name: "rtl8822b_fw.bin" path: "Load/Firmware/rtl_bt/rtl8822b_fw.bin" required: false mode: standalone note: "Realtek 8822B BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:430" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:432" - name: "rtl8822cu_fw.bin" path: "Load/Firmware/rtl_bt/rtl8822cu_fw.bin" required: false mode: standalone note: "Realtek 8822CU BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:401" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:430" - name: "rtl8851bu_fw.bin" path: "Load/Firmware/rtl_bt/rtl8851bu_fw.bin" required: false mode: standalone note: "Realtek 8851BU BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:405" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:434" - name: "rtl8852au_fw.bin" path: "Load/Firmware/rtl_bt/rtl8852au_fw.bin" required: false mode: standalone note: "Realtek 8852AU BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:407" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:436" - name: "rtl8852bu_fw.bin" path: "Load/Firmware/rtl_bt/rtl8852bu_fw.bin" required: false mode: standalone note: "Realtek 8852BU BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:409" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:438" - name: "rtl8852cu_fw.bin" path: "Load/Firmware/rtl_bt/rtl8852cu_fw.bin" required: false mode: standalone note: "Realtek 8852CU BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:411" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:440" - name: "rtl8852btu_fw.bin" path: "Load/Firmware/rtl_bt/rtl8852btu_fw.bin" required: false mode: standalone note: "Realtek 8852BT/8852BE-VT BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:413" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:442" - name: "rtl8922au_fw.bin" path: "Load/Firmware/rtl_bt/rtl8922au_fw.bin" required: false mode: standalone note: "Realtek 8922AU BT firmware for Wiimote passthrough" - source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:415" + source_ref: "source Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:444" notes: hle_available: true @@ -401,7 +402,7 @@ notes: none is loaded, and a game reading them raises "Games may not show fonts correctly, or crash". The per-game settings in Sys/GameSettings/ and the WiiConnect24 files some Wii games expect are skipped too. - ref: Source/Core/DolphinLibretro/Boot.cpp:313-340, + ref: Source/Core/DolphinLibretro/Boot.cpp:318-345, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:128-130, 160-167, 328-340, Source/Core/Core/ConfigManager.cpp:570, 586, Source/Core/Core/WiiRoot.cpp:325-330 @@ -414,4 +415,4 @@ notes: Realtek chipsets (very common) require firmware files in Load/Firmware/rtl_bt/. Dolphin can auto-download these from kernel-firmware/linux-firmware on GitLab. 15 device families supported. Each needs _fw.bin (required) + _config.bin (optional). - ref: Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:75-179 (device IDs), 382-420 (firmware names) + ref: Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:76-207 (device IDs), 410-448 (firmware names) diff --git a/emulators/dosbox-staging.yml b/emulators/dosbox-staging.yml index 3f63ba72..bcc71381 100644 --- a/emulators/dosbox-staging.yml +++ b/emulators/dosbox-staging.yml @@ -3,7 +3,7 @@ type: standalone core_classification: enhanced_fork source: "https://github.com/dosbox-staging/dosbox-staging" upstream: "https://github.com/dosbox-staging/dosbox-staging" -source_commit: "54bafc7c17e1cbb06f94dddb5803629369d6e219" +source_commit: "400bc406cac0b2e7cd3e5f93e34d6fb9f08c80bd" profiled_date: "2026-08-08" core_version: "0.84.0-alpha" display_name: "DOS (DOSBox Staging)" @@ -82,7 +82,7 @@ notes: | SoundFont name from the RIFF INFO chunk and the stem of the file, symbolic links resolved, select reverb, chorus and filter presets for four known banks. - ref: src/midi/fluidsynth.cpp:107-230, 672-689, 816-883, 1229-1252 + ref: src/midi/fluidsynth.cpp:107-230, 673-690, 776-843, 1058-1081 Bundled data ships with the program and is read from the resources directory next to the executable: FreeDOS codepages and keyboard layouts, translations, @@ -90,11 +90,11 @@ notes: | mounted Y: drive utilities, the web interface and the manual pages. ref: src/misc/support.cpp:300-320, src/dos/dos_code_page.cpp:1828, src/dos/dos_keyboard_layout.cpp:70, src/misc/messages.cpp:1073, src/gui/render/shader_manager.cpp:236,404, src/ints/int10_modes.cpp:2302, - src/audio/disk_noise.cpp:187, src/shell/autoexec.cpp:759 + src/audio/disk_noise.cpp:185, src/shell/autoexec.cpp:764 BIOSTEST.COM loads an arbitrary BIOS image at F000:0 and is compiled only when the debugger is enabled, which is off by default. - ref: src/dos/CMakeLists.txt:81-83, biostest.h + ref: src/dos/CMakeLists.txt:82-84, biostest.h files: # File names are documentation only: libmt32emu and the Sound Canvas plugin @@ -605,7 +605,7 @@ files: Any SoundFont loads. GeneralUser GS, Fluid R3, the AWE32 4MB GM/GS/MT bank and the Trevor0402 SC-55 SoundFont are recognised by filename or RIFF INFO name and get their own reverb, chorus and filter presets - source_ref: "src/midi/fluidsynth.cpp:133-154, src/midi/fluidsynth.cpp:672-689, src/midi/fluidsynth.cpp:816-883, src/midi/fluidsynth.cpp:1227-1242" + source_ref: "src/midi/fluidsynth.cpp:133-154, src/midi/fluidsynth.cpp:673-690, src/midi/fluidsynth.cpp:776-843, src/midi/fluidsynth.cpp:1056-1071" - name: "GeneralUser-GS.sf2" path: "soundfonts/GeneralUser-GS.sf2" @@ -618,7 +618,7 @@ files: SoundFont directories. A file whose stem or RIFF INFO name contains GeneralUser is identified as GeneralUser GS, whatever the rest of the name, and gets its own chorus and reverb parameters in auto mode - source_ref: "src/midi/fluidsynth.cpp:194-230, src/midi/fluidsynth.cpp:842-848, src/midi/fluidsynth.cpp:430-434, src/midi/fluidsynth.cpp:573-577, src/midi/fluidsynth.cpp:1133-1158" + source_ref: "src/midi/fluidsynth.cpp:194-230, src/midi/fluidsynth.cpp:802-808, src/midi/fluidsynth.cpp:430-434, src/midi/fluidsynth.cpp:573-577, src/midi/fluidsynth.cpp:962-987" - name: "FluidR3_GM.sf2" path: "soundfonts/FluidR3_GM.sf2" @@ -629,7 +629,7 @@ files: .sf2 extension. A file whose RIFF INFO name contains Fluid R3, or whose stem contains FluidR3, Fluid_R3 or Fluid-R3, is identified as Fluid R3: auto mode then turns the chorus off and keeps the default reverb - source_ref: "src/midi/fluidsynth.cpp:194-230, src/midi/fluidsynth.cpp:863-868, src/midi/fluidsynth.cpp:443-446, src/midi/fluidsynth.cpp:567-571, src/midi/fluidsynth.cpp:1133-1158" + source_ref: "src/midi/fluidsynth.cpp:194-230, src/midi/fluidsynth.cpp:823-828, src/midi/fluidsynth.cpp:443-446, src/midi/fluidsynth.cpp:567-571, src/midi/fluidsynth.cpp:962-987" # -- PCjr system ROM -- diff --git a/emulators/doukutsu_rs.yml b/emulators/doukutsu_rs.yml index f39dacbe..c7a4cf5b 100644 --- a/emulators/doukutsu_rs.yml +++ b/emulators/doukutsu_rs.yml @@ -5,6 +5,7 @@ source: "https://github.com/DrGlaucous/doukutsu-rs-nm" upstream: "https://github.com/doukutsu-rs/doukutsu-rs" profiled_date: "2026-03-23" source_commit: "51e64c2e9615bcd476034c69b58927877fe73494" +upstream_commit: "d05995b2ce88e583491fcecfbd5883735d3527ea" core_version: "1.2.0 - 0.101.0" display_name: "Cave Story (drs)" cores: diff --git a/emulators/duckstation.yml b/emulators/duckstation.yml index adc25e36..60d93115 100644 --- a/emulators/duckstation.yml +++ b/emulators/duckstation.yml @@ -5,7 +5,7 @@ source: "https://github.com/stenzek/duckstation" upstream: "https://github.com/stenzek/duckstation" logo: "https://raw.githubusercontent.com/stenzek/duckstation/master/data/resources/images/duck.png" profiled_date: "2026-03-23" -source_commit: "4122fed9ad3e6e5c2ecf1516cd51675a5931623e" +source_commit: "938c6d2a03e523d0e4275aa753f289a987bcb016" core_version: "v0.1-12070" display_name: "Sony - PlayStation (DuckStation)" cores: [duckstation, "Duckstation"] @@ -28,19 +28,19 @@ notes: | The console region picks the image, Auto by default. NTSC-U answers the licence string `Sony Computer Entertainment Amer ica` (two spaces, as - src/core/system.cpp:959 spells it), a SCUS or SLUS + src/core/system.cpp:972 spells it), a SCUS or SLUS executable, and every disc whose region the detector cannot read (DiscRegion::Other, NonPS1), so a disc of any other market boots an NTSC-U image. - ref: src/core/system.cpp:650-662, 926-995, 1723-1724, 1755 + ref: src/core/system.cpp:663-675, 939-1008, 1738-1739, 1755 ref: src/core/bios.cpp:397-436 (FindBIOSImageInDirectory keeps a region match) - ref: src/core/settings.h:595 (DEFAULT_CONSOLE_REGION = Auto) + ref: src/core/settings.h:605 (DEFAULT_CONSOLE_REGION = Auto) ImageInfo gained a version and an expected_filename field after the previous profiling pass. Neither takes part in identification: expected_filename is read only by the two settings screens, which fall back to the real filename when it is null. ref: src/core/bios.h:41-43 (field declarations) - ref: src/duckstation-qt/biossettingswidget.cpp:149, src/core/fullscreenui_settings.cpp:3281 + ref: src/duckstation-qt/biossettingswidget.cpp:153, src/core/fullscreenui_settings.cpp:3317 Lower priority = preferred. PS2 deprioritized (>= 100) for dynamic fast boot. Late PAL deprioritized (>= 150) due to additional regional checks. OpenBIOS detected by signature at offset 0x78, not by hash. diff --git a/emulators/dxx-rebirth.yml b/emulators/dxx-rebirth.yml index 357b9888..b8fd9558 100644 --- a/emulators/dxx-rebirth.yml +++ b/emulators/dxx-rebirth.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/dxx-rebirth/dxx-rebirth" upstream: ~ profiled_date: "2026-10-04" -source_commit: "db1996a7fd18c7bf11c9b18b881aa4f11a84f017" +source_commit: "6943b924bea749543ef5729f31a28345e79716d2" core_version: "git" display_name: "Descent 1 & 2 (DXX-Rebirth)" cores: [dxx-rebirth, d1x-rebirth, d2x-rebirth] @@ -235,7 +235,7 @@ files: category: game_data required: false description: "Descent 2 intro cinematic (high-res)" - source_ref: "d2x-rebirth/main/movie.cpp:93-95 (movielib_files), 660 (name format); similar/main/titles.cpp:292 (intro.mve)" + source_ref: "d2x-rebirth/main/movie.cpp:93-95 (movielib_files), 660 (name format), similar/main/titles.cpp:354 (intro.mve)" - name: robots-h.mvl path: robots-h.mvl @@ -266,7 +266,7 @@ files: required: false description: "High resolution title, briefing and ending screens for Descent 1" note: "Mounted at startup when present, and its files extend or replace the game content." - source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4362" + source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4364" - name: "d1xr-briefings-ger.dxa" path: "d1x-rebirth/d1xr-briefings-ger.dxa" @@ -275,7 +275,7 @@ files: required: false description: "German briefing texts for Descent 1" note: "Mounted at startup when present, and its files extend or replace the game content." - source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4362" + source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4364" - name: "d1xr-mac-demo-sounds.dxa" path: "d1x-rebirth/d1xr-mac-demo-sounds.dxa" @@ -284,7 +284,7 @@ files: required: false description: "Sound set of the Macintosh Descent 1 demo" note: "Mounted at startup when present, and its files extend or replace the game content." - source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4362" + source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4364" - name: "d1xr-opl3-music.dxa" path: "d1x-rebirth/d1xr-opl3-music.dxa" @@ -293,7 +293,7 @@ files: required: false description: "Descent 1 music as Ogg Vorbis files, OPL3 rendering" note: "Mounted at startup when present, and its files extend or replace the game content." - source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4362" + source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4364" - name: "d1xr-sc55-music.dxa" installed_on: [retropie] @@ -303,7 +303,7 @@ files: required: false description: "Descent 1 music as Ogg Vorbis files, Roland SC-55 rendering" note: "Mounted at startup when present, and its files extend or replace the game content." - source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4362" + source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4364" - name: "editor.dxa" path: "d1x-rebirth/editor.dxa" @@ -312,7 +312,7 @@ files: required: false description: "Level editor data for the Descent 1 build" note: "Mounted only by a build with the editor enabled, when the editor opens." - source_ref: "similar/editor/med.cpp:367-370, SConstruct:4362" + source_ref: "similar/editor/med.cpp:367-370, SConstruct:4364" - name: "d2xr-briefings-ger.dxa" path: "d2x-rebirth/d2xr-briefings-ger.dxa" @@ -321,7 +321,7 @@ files: required: false description: "German briefing texts for Descent 2" note: "Mounted at startup when present, and its files extend or replace the game content." - source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4362" + source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4364" - name: "d2xr-opl3-music.dxa" path: "d2x-rebirth/d2xr-opl3-music.dxa" @@ -330,7 +330,7 @@ files: required: false description: "Descent 2 music as Ogg Vorbis files, OPL3 rendering" note: "Mounted at startup when present, and its files extend or replace the game content." - source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4362" + source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4364" - name: "d2xr-sc55-music.dxa" installed_on: [retropie] @@ -340,7 +340,7 @@ files: required: false description: "Descent 2 music as Ogg Vorbis files, Roland SC-55 rendering" note: "Mounted at startup when present, and its files extend or replace the game content." - source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4362" + source_ref: "common/misc/physfsx.cpp:23, 377-394, similar/main/inferno.cpp:603, SConstruct:4364" - name: "editor.dxa" path: "d2x-rebirth/editor.dxa" @@ -349,4 +349,4 @@ files: required: false description: "Level editor data for the Descent 2 build" note: "Mounted only by a build with the editor enabled, when the editor opens." - source_ref: "similar/editor/med.cpp:367-370, SConstruct:4362" + source_ref: "similar/editor/med.cpp:367-370, SConstruct:4364" diff --git a/emulators/easyrpg.yml b/emulators/easyrpg.yml index 9a4231f8..277f4a96 100644 --- a/emulators/easyrpg.yml +++ b/emulators/easyrpg.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/easyrpg-libretro" upstream: "https://github.com/EasyRPG/Player" profiled_date: "2026-03-23" source_commit: "a3fbb7c24fd5a39fd95388d09135256a6b19f1e4" -upstream_commit: "8acd2e17c6a8a0a75cb7ce95625c6bdc89aebe1a" +upstream_commit: "096c004def987f3545198304b1b7a8352f284a50" core_version: "0.8.1.0" display_name: "RPG Maker 2000/2003 (EasyRPG)" cores: diff --git a/emulators/eden.yml b/emulators/eden.yml index 79ef3607..7cae8404 100644 --- a/emulators/eden.yml +++ b/emulators/eden.yml @@ -7,7 +7,7 @@ upstream: "https://git.eden-emu.dev/eden-emu/eden" # Codeberg copy is what keeps this profile checkable. source_mirror: "https://codeberg.org/eden-emu/eden" profiled_date: "2026-03-26" -source_commit: "d16735f5b618942136d6ab53466e3be0a382c30a" +source_commit: "989768aa46720e3fcab9e2111e3ddd70819c382b" core_version: "0.1.1" display_name: "Eden (Nintendo Switch)" cores: @@ -18,7 +18,7 @@ analysis_commit: "9347202 (depth=1)" mode: standalone # Eden is a community fork of yuzu, started by Camille LaVey. -# Key files loaded from /keys/ (fs_paths.h:20, path_util.cpp:158). +# Key files loaded from /keys/ (src/common/fs/fs_paths.h:20, src/common/fs/path_util.cpp:158). # On Linux: $XDG_DATA_HOME/eden/keys/ # On Windows: %APPDATA%/eden/keys/ # Firmware NCAs are installed via UI (Tools > Install Firmware), not placed as files. diff --git a/emulators/eka2l1.yml b/emulators/eka2l1.yml index f34ef2d5..7e7317cb 100644 --- a/emulators/eka2l1.yml +++ b/emulators/eka2l1.yml @@ -7,8 +7,8 @@ source: upstream: "https://github.com/EKA2L1/EKA2L1" profiled_date: "2026-09-17" source_commit: - standalone: "1fcfadbff7f8b81d8c17bc82d04b0c94d16803bf" - libretro: "1c49c1bcde3853273cd520a5360bff756f872e06" + standalone: "89ea682451ae13f53372c994ae56659bc9534503" + libretro: "e39ccac46e631be7470b4f420fb8eebed9c24eca" upstream_commit: libretro: "11f5b6cd141c0884a130ee45743f1f5e17bb1783" core_version: "0.0.9" @@ -84,7 +84,7 @@ notes: | src/emu/qt/src/settings_dialog.cpp:534, src/emu/system/src/epoc.cpp:396-462, src/emu/qt/src/device_install_dialog.cpp:138, src/emu/system/src/devices.cpp:378-385, src/emu/system/src/epoc.cpp:877-884, - src/emu/qt/src/main.cpp:101-121 + src/emu/qt/src/main.cpp:106-126 The libretro core keeps everything under /eka2l1: data-storage is forced to that directory whatever config.yml carries. On retro_init, when no @@ -110,7 +110,7 @@ notes: | and creates no audio or controller driver, so the patch libraries, the Lua scripts, the MIDI banks and the controller database are not read there. Those entries carry mode standalone. - ref: src/emu/libretro/CMakeLists.txt:8-72, src/emu/libretro/src/thread.cpp:20-61, + ref: src/emu/libretro/CMakeLists.txt:8-80, src/emu/libretro/src/thread.cpp:20-61, src/emu/libretro/src/thread.cpp:87-93, src/emu/common/src/path.cpp:427-450, src/emu/system/src/epoc.cpp:1389-1410 @@ -141,24 +141,24 @@ notes: | modules from scripts/eka2l1/; the libretro recipe builds without it. Fonts the user imports live in /fonts and are added to the font store after the ROM fonts. - ref: src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:440-443, - src/emu/kernel/src/libmanager.cpp:475-503, src/emu/kernel/src/libmanager.cpp:505-556, - src/emu/kernel/src/libmanager.cpp:558-569, src/emu/kernel/src/libmanager.cpp:586-590, - src/emu/kernel/src/libmanager.cpp:697-780, src/emu/kernel/src/libmanager.cpp:1191-1193, + ref: src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:445-448, + src/emu/kernel/src/libmanager.cpp:480-508, src/emu/kernel/src/libmanager.cpp:510-561, + src/emu/kernel/src/libmanager.cpp:563-574, src/emu/kernel/src/libmanager.cpp:591-595, + src/emu/kernel/src/libmanager.cpp:702-785, src/emu/kernel/src/libmanager.cpp:1196-1198, src/emu/qt/src/state.cpp:179-202, - src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:264-282, + src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:281-299, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189, - src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, + src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/drivers/src/audio/backend/tinysoundfont/player_tsf.cpp:66-77, src/emu/drivers/src/audio/backend/minibae/player_minibae.cpp:86-96, src/emu/config/include/config/options.inl:72-73, src/emu/drivers/src/input/backend/emu_controller_sdl2.cpp:143-145, src/emu/config/src/panic_blacklist.cpp:27-35, src/emu/config/src/app_settings.cpp:82-114, src/emu/utils/src/panic.cpp:32-38, src/emu/scripting/src/manager.cpp:196-202, - src/emu/scripting/src/manager.cpp:230-256, src/emu/services/src/fbs/fbs.cpp:443, + src/emu/scripting/src/manager.cpp:230-256, src/emu/services/src/fbs/fbs.cpp:444, src/emu/services/src/fbs/impls/font.cpp:1185-1208, .gitlab-ci.yml:22, - src/emu/qt/CMakeLists.txt:264-278, src/emu/qt/CMakeLists.txt:289-290, - src/emu/qt/CMakeLists.txt:376-377, cmake/Symbian.cmake:20-31 + src/emu/qt/CMakeLists.txt:267-281, src/emu/qt/CMakeLists.txt:292-293, + src/emu/qt/CMakeLists.txt:379-380, cmake/Symbian.cmake:20-31 config.yml, bindings/.yml, devices.yml, the drives/ tree and libretro-content.txt are written by the emulator itself. @@ -192,7 +192,7 @@ files: required: false bundled: true description: "Export map routing audiooutputrouting.dll to the host" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:505-556, cmake/Symbian.cmake:20-31, src/patch/CMakeLists.txt:6" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, cmake/Symbian.cmake:20-31, src/patch/CMakeLists.txt:6" - name: audiooutputrouting_general.dll size: 845 @@ -202,7 +202,7 @@ files: required: false bundled: true description: "Patched audiooutputrouting.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:540-556, src/emu/kernel/src/libmanager.cpp:586-590, src/patch/audiooutputrouting/group/audiooutputrouting.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/audiooutputrouting/group/audiooutputrouting.dll.map:1" - name: avkonfep_general.dll size: 7720 @@ -222,7 +222,7 @@ files: required: false bundled: true description: "FEP bridged to the host input method for EKA1, routed to from hwrfep.fep on Symbian 7.0s" - source_ref: "src/emu/kernel/src/libmanager.cpp:505-518, src/emu/kernel/src/libmanager.cpp:521-538, src/patch/avkonfep/group/hwrfep.fep.map:1, src/patch/avkonfep/group/hwrfep.fep.map:7-9, src/patch/CMakeLists.txt:5" + source_ref: "src/emu/kernel/src/libmanager.cpp:510-523, src/emu/kernel/src/libmanager.cpp:526-543, src/patch/avkonfep/group/hwrfep.fep.map:1, src/patch/avkonfep/group/hwrfep.fep.map:7-9, src/patch/CMakeLists.txt:5" - name: backlightctrl.dll.map size: 372 @@ -232,7 +232,7 @@ files: required: false bundled: true description: "Export map for backlightctrl.dll, bound to the DLL UIDs it names" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:453-469, src/patch/CMakeLists.txt:10" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:458-474, src/patch/CMakeLists.txt:10" - name: backlightctrl_v81a.dll size: 3624 @@ -242,7 +242,7 @@ files: required: false bundled: true description: "Patched backlightctrl.dll built for Symbian 8.1a, routed to on Symbian 6.1, 7.0s and 8.0a: the epoc81 section of the map matches no version name" - source_ref: "src/emu/kernel/src/libmanager.cpp:521-538, src/emu/kernel/src/libmanager.cpp:487-502, src/emu/common/src/types.cpp:140-141, src/patch/backlightctrl/group/backlightctrl.dll.map:1-5, src/patch/backlightctrl/group/backlightctrl.dll.map:17, src/patch/backlightctrl/group/backlightctrl.dll.map:29, src/patch/backlightctrl/group/backlightctrl.dll.map:41" + source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/emu/kernel/src/libmanager.cpp:492-507, src/emu/common/src/types.cpp:140-141, src/patch/backlightctrl/group/backlightctrl.dll.map:1-5, src/patch/backlightctrl/group/backlightctrl.dll.map:17, src/patch/backlightctrl/group/backlightctrl.dll.map:29, src/patch/backlightctrl/group/backlightctrl.dll.map:41" - name: commdb.dll.map size: 67 @@ -252,7 +252,7 @@ files: required: false bundled: true description: "Export map for the in-ROM commdb.dll of Symbian 6" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:453-469, src/patch/CMakeLists.txt:18" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:458-474, src/patch/CMakeLists.txt:18" - name: commdb_v6.dll size: 3980 @@ -262,7 +262,7 @@ files: required: false bundled: true description: "Patched commdb.dll for Symbian 6" - source_ref: "src/emu/kernel/src/libmanager.cpp:521-538, src/patch/commdb/group/commdb.dll.map:1-7" + source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/commdb/group/commdb.dll.map:1-7" - name: ecam.dll.map size: 1446 @@ -272,7 +272,7 @@ files: required: false bundled: true description: "Export map for ecam.dll, the camera API" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:505-556, src/patch/CMakeLists.txt:8" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:8" - name: ecam_general.dll size: 13727 @@ -282,7 +282,7 @@ files: required: false bundled: true description: "Patched ecam.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:540-556, src/emu/kernel/src/libmanager.cpp:586-590, src/patch/ecam/group/ecam.dll.map:1-4" + source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/ecam/group/ecam.dll.map:1-4" - name: goommonitor_general.dll size: 925 @@ -302,37 +302,37 @@ files: required: false bundled: true description: "Export map for hwrfep.fep on Symbian 7.0s, bound to the UIDs it names and served by avkonfep_v81a.dll through its source key" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:453-469, src/emu/kernel/src/libmanager.cpp:505-518, src/patch/avkonfep/group/hwrfep.fep.map:1-9, src/patch/CMakeLists.txt:5" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:458-474, src/emu/kernel/src/libmanager.cpp:510-523, src/patch/avkonfep/group/hwrfep.fep.map:1-9, src/patch/CMakeLists.txt:5" - name: mediaclientaudio.dll.map - size: 48712 - sha1: a2f6242f7d9e315f90d497dcd3e586117e969387 + size: 48796 + sha1: 5a3b9bfec3b993c1a2ab0be94cb8b720965ebdc4 standalone_path: patch/mediaclientaudio.dll.map mode: standalone required: false bundled: true description: "Export map for mediaclientaudio.dll, CMdaAudioPlayerUtility and friends" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:505-556, src/patch/CMakeLists.txt:11" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:11" - name: mediaclientaudio_general.dll - size: 13424 - sha1: 6a0e1461f8668e7ddcf6a58c1032c66916c9754c + size: 14869 + sha1: eaa7d4a5247de7f0aa42fa397090496370c10769 standalone_path: patch/mediaclientaudio_general.dll mode: standalone required: false bundled: true description: "Patched mediaclientaudio.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:540-556, src/emu/kernel/src/libmanager.cpp:586-590, src/patch/mediaclientaudio/group/mediaclientaudio.dll.map:1-4" + source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/mediaclientaudio/group/mediaclientaudio.dll.map:1-4" - name: mediaclientaudio_v81a.dll - size: 22996 - sha1: 41a6cf644c3731e5b3db8025b413b9833ff8bc7a + size: 24288 + sha1: 6f208d82cfd594595ad92cea1e87a60703c61534 standalone_path: patch/mediaclientaudio_v81a.dll mode: standalone required: false bundled: true description: "Patched mediaclientaudio.dll for Symbian 8.1a and earlier EKA1 releases" - source_ref: "src/emu/kernel/src/libmanager.cpp:521-538, src/patch/mediaclientaudio/group/mediaclientaudio.dll.map:428-431" + source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/mediaclientaudio/group/mediaclientaudio.dll.map:428-431" - name: mediaclientaudioinputstream.dll.map size: 7489 @@ -342,7 +342,7 @@ files: required: false bundled: true description: "Export map for mediaclientaudioinputstream.dll, served by the mediaclientaudiostream DLLs through its source key" - source_ref: "src/emu/kernel/src/libmanager.cpp:505-518, src/patch/mediaclientaudiostream/group/mediaclientaudioinputstream.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:510-523, src/patch/mediaclientaudiostream/group/mediaclientaudioinputstream.dll.map:1" - name: mediaclientaudiostream.dll.map size: 5027 @@ -352,7 +352,7 @@ files: required: false bundled: true description: "Export map for mediaclientaudiostream.dll" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:505-556, src/patch/CMakeLists.txt:12" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:12" - name: mediaclientaudiostream_general.dll size: 9493 @@ -362,7 +362,7 @@ files: required: false bundled: true description: "Patched mediaclientaudiostream.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:540-556, src/emu/kernel/src/libmanager.cpp:586-590, src/patch/mediaclientaudiostream/group/mediaclientaudiostream.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/mediaclientaudiostream/group/mediaclientaudiostream.dll.map:1" - name: mediaclientaudiostream_v81a.dll size: 11608 @@ -372,7 +372,7 @@ files: required: false bundled: true description: "Patched mediaclientaudiostream.dll for Symbian 8.1a and earlier EKA1 releases" - source_ref: "src/emu/kernel/src/libmanager.cpp:521-538, src/patch/mediaclientaudiostream/group/mediaclientaudiostream.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/mediaclientaudiostream/group/mediaclientaudiostream.dll.map:1" - name: mediaclientvideo.dll.map size: 11393 @@ -382,7 +382,7 @@ files: required: false bundled: true description: "Export map for mediaclientvideo.dll" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:505-556, src/patch/CMakeLists.txt:13" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:13" - name: mediaclientvideo_v100.dll size: 8717 @@ -392,7 +392,7 @@ files: required: false bundled: true description: "Patched mediaclientvideo.dll, routed to from the epoc93fp1, epoc93fp2, epoc94 and epoc100 sections of the map" - source_ref: "src/emu/kernel/src/libmanager.cpp:521-538, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:1, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:168, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:335, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:502" + source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:1, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:168, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:335, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:502" - name: mediaclientvideo_v81a.dll size: 11016 @@ -402,7 +402,7 @@ files: required: false bundled: true description: "Patched mediaclientvideo.dll for Symbian 8.0a and 8.1a" - source_ref: "src/emu/kernel/src/libmanager.cpp:521-538, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:669, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:721" + source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:669, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:721" - name: postingsurfacefactory.dll.map size: 357 @@ -412,7 +412,7 @@ files: required: false bundled: true description: "Export map for postingsurfacefactory.dll, the video posting surface" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:505-556, src/patch/CMakeLists.txt:14" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:14" - name: postingsurfacefactory_general.dll size: 5450 @@ -422,7 +422,7 @@ files: required: false bundled: true description: "Patched postingsurfacefactory.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:540-556, src/emu/kernel/src/libmanager.cpp:586-590, src/patch/postingsurfacefactory/group/postingsurfacefactory.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/postingsurfacefactory/group/postingsurfacefactory.dll.map:1" - name: qjpeg.dll.map size: 71 @@ -432,7 +432,7 @@ files: required: false bundled: true description: "Replacement map for the in-ROM Qt JPEG plugin qjpeg.dll: replace and qt-plugin requirements, no export route" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:475, src/emu/kernel/src/libmanager.cpp:558-569, src/patch/qjpeg/group/qjpeg.dll.map:1-6, src/patch/CMakeLists.txt:16" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:480, src/emu/kernel/src/libmanager.cpp:563-574, src/patch/qjpeg/group/qjpeg.dll.map:1-6, src/patch/CMakeLists.txt:16" - name: qjpeg_general.dll size: 6997 @@ -442,7 +442,7 @@ files: required: false bundled: true description: "Qt JPEG plugin decoding on the host, loaded in place of the ROM's qjpeg.dll on EKA2 when the Qt of the ROM accepts it" - source_ref: "src/emu/kernel/src/libmanager.cpp:540-556, src/emu/kernel/src/libmanager.cpp:697-780, src/emu/kernel/src/libmanager.cpp:1191-1193, src/patch/qjpeg/group/qjpeg.dll.map:1-6" + source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:702-785, src/emu/kernel/src/libmanager.cpp:1196-1198, src/patch/qjpeg/group/qjpeg.dll.map:1-6" - name: scdv.dll.map size: 1793 @@ -452,27 +452,27 @@ files: required: false bundled: true description: "Export map for scdv.dll, CFbsDrawDevice and CDirectScreenBitmap" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:505-556, src/patch/CMakeLists.txt:7" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:7" - name: scdv_general.dll - size: 17337 - sha1: 2f63679bbd894a56772107db1d7e16092089f19f + size: 17742 + sha1: 562fcf7fa03a6467f35ed7546c370df98850fab2 standalone_path: patch/scdv_general.dll mode: standalone required: false bundled: true description: "Patched scdv.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:540-556, src/emu/kernel/src/libmanager.cpp:586-590, src/patch/scdv/group/scdv.dll.map:1-28" + source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/scdv/group/scdv.dll.map:1-28" - name: scdv_v81a.dll - size: 26356 - sha1: c886e2e5723b3044a89c1203977c84b8b37be824 + size: 26552 + sha1: 9041db96b52dd23a179e168da6fe69bd1e28f404 standalone_path: patch/scdv_v81a.dll mode: standalone required: false bundled: true description: "Patched scdv.dll for Symbian 8.1a and earlier EKA1 releases" - source_ref: "src/emu/kernel/src/libmanager.cpp:521-538, src/patch/scdv/group/scdv.dll.map:29-45" + source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/scdv/group/scdv.dll.map:29-45" - name: ssl.dll.map size: 78 @@ -482,7 +482,7 @@ files: required: false bundled: true description: "Export map for ssl.dll routed to the host TLS stack, skipped below S60v3 FP1" - source_ref: "src/emu/kernel/src/libmanager.cpp:440-443, src/patch/ssl/group/ssl.dll.map:1-4, src/patch/CMakeLists.txt:17" + source_ref: "src/emu/kernel/src/libmanager.cpp:445-448, src/patch/ssl/group/ssl.dll.map:1-4, src/patch/CMakeLists.txt:17" - name: ssl_general.dll size: 7543 @@ -492,7 +492,7 @@ files: required: false bundled: true description: "Patched ssl.dll, S60v3 FP1 and later" - source_ref: "src/emu/kernel/src/libmanager.cpp:540-556, src/emu/kernel/src/libmanager.cpp:586-590, src/patch/ssl/group/ssl.dll.map:6-9" + source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/ssl/group/ssl.dll.map:6-9" - name: vibractrl.dll.map size: 317 @@ -502,7 +502,7 @@ files: required: false bundled: true description: "Export map for vibractrl.dll, bound to the DLL UIDs it names" - source_ref: "src/emu/kernel/src/libmanager.cpp:411-415, src/emu/kernel/src/libmanager.cpp:453-469, src/patch/CMakeLists.txt:9" + source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:458-474, src/patch/CMakeLists.txt:9" - name: vibractrl_v81a.dll size: 3716 @@ -512,7 +512,7 @@ files: required: false bundled: true description: "Patched vibractrl.dll for Symbian 8.1a and earlier EKA1 releases" - source_ref: "src/emu/kernel/src/libmanager.cpp:521-538, src/patch/vibractrl/group/vibractrl.dll.map:1-4" + source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/vibractrl/group/vibractrl.dll.map:1-4" - name: sprite_norm.vert size: 334 @@ -522,7 +522,7 @@ files: required: true bundled: true description: "Vertex shader shared by the sprite, mask and upscale programs" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:264, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:274, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189, src/emu/qt/CMakeLists.txt:272" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:281, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:291, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189, src/emu/qt/CMakeLists.txt:275" - name: sprite_norm.frag size: 178 @@ -532,7 +532,7 @@ files: required: true bundled: true description: "Fragment shader of the sprite program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:265, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:278, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:282, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:295, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: sprite_mask.frag size: 524 @@ -542,7 +542,7 @@ files: required: true bundled: true description: "Fragment shader of the masked sprite program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:266, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:279, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:283, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:296, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: sprite_upscaled.frag size: 178 @@ -552,7 +552,7 @@ files: required: true bundled: true description: "Fragment shader of the default upscale program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:267, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:280, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-398, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:284, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:297, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-415, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: brush.vert size: 197 @@ -562,7 +562,7 @@ files: required: true bundled: true description: "Vertex shader of the brush program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:268, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:275, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:285, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:292, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: brush.frag size: 103 @@ -572,7 +572,7 @@ files: required: true bundled: true description: "Fragment shader of the brush program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:269, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:281, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:286, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:298, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: pen.vert size: 737 @@ -582,7 +582,7 @@ files: required: true bundled: true description: "Vertex shader of the pen program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:270, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:276, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:287, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:293, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: pen.frag size: 618 @@ -592,7 +592,7 @@ files: required: true bundled: true description: "Fragment shader of the pen program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:271, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:282, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:288, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:299, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: 2xBR.frag size: 2457 @@ -602,7 +602,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: 4xBR.frag size: 2915 @@ -612,7 +612,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: 4xhq.frag size: 2699 @@ -622,7 +622,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: 5xBR-lv2.frag size: 8923 @@ -632,7 +632,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: 5xBR.frag size: 5385 @@ -642,7 +642,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: aacolor.frag size: 2120 @@ -652,7 +652,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: CRT-Hyllian.frag size: 6253 @@ -662,7 +662,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: CRT-Lottes-TV.frag size: 6828 @@ -672,7 +672,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: CRT-Lottes.frag size: 5318 @@ -682,7 +682,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: dot.frag size: 3066 @@ -692,7 +692,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: dot_mobile.frag size: 3060 @@ -702,7 +702,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: dotpsp_color_mobile.frag size: 3677 @@ -712,7 +712,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: fxaa.frag size: 2476 @@ -722,7 +722,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: grayscale.frag size: 336 @@ -732,7 +732,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: inversecolors.frag size: 416 @@ -742,7 +742,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: natural.frag size: 1938 @@ -752,7 +752,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: scanline-emu.frag size: 682 @@ -762,7 +762,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: scanline.frag size: 729 @@ -772,7 +772,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: sharpen.frag size: 408 @@ -782,7 +782,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: zfast_lcd.frag size: 1797 @@ -792,7 +792,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: zfast_lcd_mobile.frag size: 1888 @@ -802,7 +802,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:397-409, src/emu/services/src/window/screen.cpp:638-640, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:273" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:636-638, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: defaultbank.sf2 size: 768010 @@ -812,7 +812,7 @@ files: required: false bundled: true description: "SoundFont bank of the TinySoundFont MIDI player, the sf2-bank-path option" - source_ref: "src/emu/drivers/src/audio/backend/tinysoundfont/player_tsf.cpp:66-77, src/emu/drivers/src/audio/backend/tinysoundfont/player_tsf.cpp:192-196, src/emu/config/include/config/options.inl:73, src/emu/config/src/config.cpp:404-406, src/emu/qt/src/state.cpp:155-156, src/emu/qt/CMakeLists.txt:275" + source_ref: "src/emu/drivers/src/audio/backend/tinysoundfont/player_tsf.cpp:66-77, src/emu/drivers/src/audio/backend/tinysoundfont/player_tsf.cpp:192-196, src/emu/config/include/config/options.inl:73, src/emu/config/src/config.cpp:404-406, src/emu/qt/src/state.cpp:155-156, src/emu/qt/CMakeLists.txt:278" - name: defaultbank.hsb size: 298094 @@ -822,7 +822,7 @@ files: required: false bundled: true description: "Beatnik bank of the miniBAE MIDI player, the hsb-bank-path option" - source_ref: "src/emu/drivers/src/audio/backend/minibae/player_minibae.cpp:86-96, src/emu/config/include/config/options.inl:72, src/emu/config/src/config.cpp:400-402, src/emu/qt/src/state.cpp:155-156, src/emu/qt/CMakeLists.txt:274" + source_ref: "src/emu/drivers/src/audio/backend/minibae/player_minibae.cpp:86-96, src/emu/config/include/config/options.inl:72, src/emu/config/src/config.cpp:400-402, src/emu/qt/src/state.cpp:155-156, src/emu/qt/CMakeLists.txt:277" - name: gamecontrollerdb.txt standalone_path: resources/gamecontrollerdb.txt @@ -834,7 +834,7 @@ files: md5: "b1586eb09b91f65c37a2f5e7c6ef7980" note: "src/external/SDL_GameControllerDB is a submodule pinned at a113e7fa" description: "SDL2 controller mapping database handed to SDL_GameControllerAddMappingsFromFile" - source_ref: "src/emu/drivers/src/input/backend/emu_controller_sdl2.cpp:143-145, src/emu/qt/CMakeLists.txt:277" + source_ref: "src/emu/drivers/src/input/backend/emu_controller_sdl2.cpp:143-145, src/emu/qt/CMakeLists.txt:280" - name: joystick_base.png size: 59350 @@ -844,7 +844,7 @@ files: required: false bundled: true description: "Joystick image of the Qt button mapping editor" - source_ref: "src/emu/qt/src/btnmap/joystick.cpp:113-117, src/emu/qt/CMakeLists.txt:278" + source_ref: "src/emu/qt/src/btnmap/joystick.cpp:113-117, src/emu/qt/CMakeLists.txt:281" - name: overlay_font.ttf size: 162588 @@ -854,7 +854,7 @@ files: required: false bundled: true description: "Overlay font of the Qt button mapping editor" - source_ref: "src/emu/qt/src/btnmap/editor.cpp:60-62, src/emu/qt/CMakeLists.txt:278" + source_ref: "src/emu/qt/src/btnmap/editor.cpp:60-62, src/emu/qt/CMakeLists.txt:281" - name: panicBlackList.json size: 122 @@ -864,7 +864,7 @@ files: required: false bundled: true description: "Thread panics the kernel swallows instead of killing the thread, by process, thread, category and code" - source_ref: "src/emu/config/src/panic_blacklist.cpp:27-35, src/emu/kernel/src/kernel.cpp:1536, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/config/src/panic_blacklist.cpp:27-35, src/emu/kernel/src/kernel.cpp:1536, src/emu/qt/CMakeLists.txt:279" - name: 101FD3DE.yml size: 59 @@ -874,7 +874,7 @@ files: required: false bundled: true description: "Per-application settings for UID 0x101FD3DE: frame rate and launch delay" - source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:279" - name: 101FD3F5.yml size: 59 @@ -884,7 +884,7 @@ files: required: false bundled: true description: "Per-application settings for UID 0x101FD3F5: frame rate and launch delay" - source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:279" - name: 101FD3F6.yml size: 59 @@ -894,7 +894,7 @@ files: required: false bundled: true description: "Per-application settings for UID 0x101FD3F6: frame rate and launch delay" - source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:279" - name: 101FD3FD.yml size: 56 @@ -904,7 +904,7 @@ files: required: false bundled: true description: "Per-application settings for UID 0x101FD3FD: frame rate and launch delay" - source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:279" - name: 101FD409.yml size: 44 @@ -914,7 +914,7 @@ files: required: false bundled: true description: "Per-application settings for UID 0x101FD409, The ONE: T9 bypass" - source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:279" - name: 101FE1CA.yml size: 56 @@ -924,7 +924,7 @@ files: required: false bundled: true description: "Per-application settings for UID 0x101FE1CA: frame rate and launch delay" - source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/config/src/app_settings.cpp:82-114, src/emu/qt/CMakeLists.txt:279" - name: panic.json installed_on: [retrobat] @@ -933,7 +933,7 @@ files: required: false description: "Panic category descriptions read when the system is created" note: "Shipped in the desktop archives but not in the Android APK." - source_ref: "src/emu/utils/src/panic.cpp:32-38, src/emu/system/src/epoc.cpp:653, src/emu/qt/CMakeLists.txt:269" + source_ref: "src/emu/utils/src/panic.cpp:32-38, src/emu/system/src/epoc.cpp:653, src/emu/qt/CMakeLists.txt:272" - name: aq_crash_fix.lua size: 552 @@ -943,7 +943,7 @@ files: required: false bundled: true description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" - source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:271" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" - name: eternal_legacy_crash_fix.lua size: 764 @@ -953,7 +953,7 @@ files: required: false bundled: true description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" - source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:271" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" - name: hero_of_sparta_crash_fix.lua size: 771 @@ -963,7 +963,17 @@ files: required: false bundled: true description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" - source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:271" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" + + - name: pottery_startup_fix.lua + size: 486 + sha1: e644eb1113f2e177fe610025d47c042036144a1f + standalone_path: scripts/pottery_startup_fix.lua + mode: standalone + required: false + bundled: true + description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" - name: qt_font_extras_fix.lua size: 814 @@ -973,7 +983,7 @@ files: required: false bundled: true description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" - source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:271" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" - name: s3_driver_patch.lua size: 1225 @@ -983,7 +993,7 @@ files: required: false bundled: true description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" - source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:271" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" - name: s60v3_empty_avkon_menu_fix.lua size: 785 @@ -993,7 +1003,7 @@ files: required: false bundled: true description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" - source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:271" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" - name: ssx_cash_unlock_fix.lua size: 478 @@ -1003,7 +1013,17 @@ files: required: false bundled: true description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" - source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:271" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" + + - name: wave_crash_fix.lua + size: 951 + sha1: b9bc768cd3f1a883770bd2c5d2d2c492d057d261 + standalone_path: scripts/wave_crash_fix.lua + mode: standalone + required: false + bundled: true + description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" - name: wh40k_slow_load_fix.lua size: 2156 @@ -1013,7 +1033,7 @@ files: required: false bundled: true description: "Compatibility script, loaded from scripts/ by builds carrying LuaJIT" - source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:271" + source_ref: "src/emu/scripting/src/manager.cpp:196-202, src/emu/scripting/src/manager.cpp:230-256, src/emu/qt/CMakeLists.txt:274" - name: common.lua size: 1245 @@ -1023,7 +1043,7 @@ files: required: false bundled: true description: "eka2l1.common module the shipped scripts require through package.path" - source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:1, src/emu/qt/CMakeLists.txt:289-290" + source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:1, src/emu/qt/CMakeLists.txt:292-293" - name: context.lua size: 3690 @@ -1033,7 +1053,7 @@ files: required: false bundled: true description: "eka2l1.ipc.context module required by eka2l1.events" - source_ref: "src/emu/scripting/src/manager.cpp:252, src/emu/scripting/lua/eka2l1/events.lua:11, src/emu/qt/CMakeLists.txt:289-290" + source_ref: "src/emu/scripting/src/manager.cpp:252, src/emu/scripting/lua/eka2l1/events.lua:11, src/emu/qt/CMakeLists.txt:292-293" - name: cpu.lua size: 2085 @@ -1043,7 +1063,7 @@ files: required: false bundled: true description: "eka2l1.cpu module the shipped scripts require through package.path" - source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:3, src/emu/qt/CMakeLists.txt:289-290" + source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:3, src/emu/qt/CMakeLists.txt:292-293" - name: events.lua size: 9576 @@ -1053,7 +1073,7 @@ files: required: false bundled: true description: "eka2l1.events module the shipped scripts require through package.path" - source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:2, src/emu/qt/CMakeLists.txt:289-290" + source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:2, src/emu/qt/CMakeLists.txt:292-293" - name: helper.lua size: 1269 @@ -1063,7 +1083,7 @@ files: required: false bundled: true description: "eka2l1.helper module required by the other eka2l1 modules" - source_ref: "src/emu/scripting/src/manager.cpp:252, src/emu/qt/CMakeLists.txt:289-290" + source_ref: "src/emu/scripting/src/manager.cpp:252, src/emu/qt/CMakeLists.txt:292-293" - name: kernel.lua size: 23419 @@ -1073,7 +1093,17 @@ files: required: false bundled: true description: "eka2l1.kernel module the shipped scripts require through package.path" - source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:4, src/emu/qt/CMakeLists.txt:289-290" + source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:4, src/emu/qt/CMakeLists.txt:292-293" + + - name: mem.lua + size: 3304 + sha1: 5e8302523b02f4d094ed321753f4ebc037ec59d5 + standalone_path: scripts/eka2l1/mem.lua + mode: standalone + required: false + bundled: true + description: "eka2l1.mem module required by pottery_startup_fix.lua" + source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/pottery_startup_fix.lua:3, src/emu/qt/CMakeLists.txt:292-293" - name: std.lua size: 4973 @@ -1083,4 +1113,4 @@ files: required: false bundled: true description: "eka2l1.std module the shipped scripts require through package.path" - source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:5, src/emu/qt/CMakeLists.txt:289-290" + source_ref: "src/emu/scripting/src/manager.cpp:252, src/scripts/aq_crash_fix.lua:5, src/emu/qt/CMakeLists.txt:292-293" diff --git a/emulators/emucorex.yml b/emulators/emucorex.yml index 569b2abd..a2366b6e 100644 --- a/emulators/emucorex.yml +++ b/emulators/emucorex.yml @@ -5,10 +5,10 @@ source: "https://github.com/sashkinbro/EmuCoreX" upstream: "https://github.com/PCSX2/pcsx2" author: "Oleksandr (sashkinbro)" profiled_date: "2026-10-04" -source_commit: "9884c9f9a0c5d5df2f0c0c064ec41029a4528d72" -prose_written_at: "9884c9f9a0c5d5df2f0c0c064ec41029a4528d72" +source_commit: "bda532f311a77c828a4e6bdb4667d9e92dfdf62f" +prose_written_at: "bda532f311a77c828a4e6bdb4667d9e92dfdf62f" upstream_commit: "c10a5c9ad951c517dc48b722b5b84eb9bf7fdb42" -core_version: "0.4.7" +core_version: "0.5.1" display_name: "Sony - PlayStation 2 (EmuCoreX)" cores: - emucorex @@ -28,7 +28,7 @@ notes: | ref: app/build.gradle.kts:66-70, app/build.gradle.kts:97, app/src/main/AndroidManifest.xml:90-104, app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:78-82, - app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:359-360 + app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:361-362 The whole upstream core is linked, with three files swapped out of the target: Achievements.cpp, Host/SDLAudioStream.cpp and Input/SDLInputSource.cpp are @@ -37,8 +37,8 @@ notes: | DX11 and DX12 renderers sit in the Windows branch of the core CMakeLists. ref: app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:259-272, app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:59-60, - app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:706, - app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:723-734 + app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:710, + app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:727-738 Storage. The data root is the app files directory. The app creates cache, resources, inis, sstates and memcards under it, then copies the whole resources @@ -46,12 +46,12 @@ notes: | DataRoot, Resources, Settings and Cache from that root, and the launcher sets Folders for Bios, Savestates, MemoryCards, Textures, Cheats, Patches and Logs per run. - ref: app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:30, - app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:430-432, - app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:563-570, - app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:587-619, - app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:261-265, - app/src/main/java/com/sbro/emucorex/core/EmulatorBridge.kt:612-618 + ref: app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:31, + app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:448-450, + app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:581-588, + app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:605-637, + app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:281-285, + app/src/main/java/com/sbro/emucorex/core/EmulatorBridge.kt:665-671 A BIOS image is required and boot stops without one: LoadBIOS returning false makes VMManager report that a PlayStation 2 BIOS is needed. Only a GS dump @@ -76,7 +76,7 @@ notes: | app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:278-314, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:337-391, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367 (ROM window cleared), - app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1898-1912 + app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1901-1915 An arcade launch starts from a manifest carrying an NM game id and a board generation. It selects the board BIOS by name from the BIOS folder, @@ -84,8 +84,8 @@ notes: | keeps the configured BIOS with a warning when that file is absent. The dongle, memory card, boot ELF, SRAM and media the manifest names are per-title content resolved beside it. - ref: app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1530-1598, - app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1608-1733 + ref: app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1533-1601, + app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1611-1736 The app runs its own gate before launching. A candidate is a .bin, .rom, .7d or .8g between 512 KB and 8 MB. It passes when the core's IsBIOS accepts it, @@ -95,7 +95,7 @@ notes: | ref: app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:112-146, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:177-185, - app/src/main/cpp/ARM_ANDROID/src/jni/native_app_jni.cpp:493-515 + app/src/main/cpp/ARM_ANDROID/src/jni/native_app_jni.cpp:644-666 A BIOS folder picked through the storage access framework is copied flat into imported-bios under the external files directory, and Folders/Bios points there. @@ -124,8 +124,8 @@ notes: | app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:224-229, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:296-316, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:483-536, - app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:384-412, - app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:437 + app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:405-433, + app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:474 The three achievement sounds are the one resource the code reads that the tree does not carry. Their directory holds only the README naming their origin, @@ -136,8 +136,8 @@ notes: | every notification. ref: app/src/main/cpp/pcsx2/bin/resources/sounds/achievements/README.txt:1-3, app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:81-83, - app/src/main/cpp/pcsx2/pcsx2/Config.h:1371-1374, - app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:1963-1966 + app/src/main/cpp/pcsx2/pcsx2/Config.h:1381-1384, + app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:1983-1986 files: - name: ps2-0230a-20080220.bin @@ -176,7 +176,7 @@ files: comes from the EXTINFO serial. A System 246 arcade manifest selects this name from the BIOS folder. Byte-identical to the r27v1602f.7d member of the MAME sys246 set. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, source app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1590-1598, source app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, source app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1593-1601, source app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21" - name: r27v1602f.8g path: bios/r27v1602f.8g @@ -193,7 +193,7 @@ files: size gate. A System 256 or Super 256 arcade manifest selects this name from the BIOS folder. Byte-identical to the r27v1602f.8g member of the MAME sys256 set. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, source app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1590-1598, source app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, source app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1593-1601, source app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21" - name: ps2-0230a-20080220.rom1 path: bios/ps2-0230a-20080220.rom1 @@ -285,7 +285,7 @@ files: Read into the ROM region at 0x3C0000 when the IOP program counter reaches 0x1630 and the setting is longer than three characters. The launcher fills it from the boot parameters when the picked file is an IRX. Empty otherwise. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:263-276, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:406-407, source app/src/main/cpp/pcsx2/pcsx2/R3000AInterpreter.cpp:220, source app/src/main/cpp/pcsx2/pcsx2/arm64/iop/iR3000A-arm64.cpp:1695, source app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1846, source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:462-467" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:263-276, source app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:406-407, source app/src/main/cpp/pcsx2/pcsx2/R3000AInterpreter.cpp:220, source app/src/main/cpp/pcsx2/pcsx2/arm64/iop/iR3000A-arm64.cpp:1932, source app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1849, source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:503-508" - name: GameIndex.yaml path: resources/GameIndex.yaml @@ -301,7 +301,24 @@ files: drives per-title rounding modes, clamp modes, GS hacks and memory card filters. The Kotlin catalog reads the same file straight out of the package for the compatibility badges it draws. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:39, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1036-1037, source app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt:97, source app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt:202" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:43, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1225-1233, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1274-1277, source app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt:105, source app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt:271" + + - name: emucorex_overrides.yaml + path: resources/emucorex_overrides.yaml + system: sony-playstation-2 + required: false + bundled: true + sha1: 5fbbd96df996a3695cc3afec3501c0dca4da3c2d + size: 40064 + category: game_data + description: "per-title fix overlay for the game database" + note: >- + Read from the resources directory right after GameIndex.yaml. Each serial + it names is merged into the entry the base database gave, and a list it + carries for that title, such as game fixes, speed hacks, GS hardware fixes + or patches, replaces the base one. A missing file is skipped without a + message. + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:45, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:393-396, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1225-1233, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1264-1270, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1274-1278" - name: RedumpDatabase.yaml path: resources/RedumpDatabase.yaml @@ -315,7 +332,7 @@ files: note: >- Opened from the resources directory and parsed into the hash database used to name a disc from its dump. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1141, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1198-1199" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1341, source app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1398-1399" - name: patches.zip path: resources/patches.zip @@ -332,7 +349,7 @@ files: reported once and the built-in patches are dropped for the session. The app logs an error at startup when the copied archive is missing or holds no pnach. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:118, source app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:290-317, source app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:432-433, source app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:621-635" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:118, source app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:290-317, source app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:450-451, source app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:639-653" - name: Roboto-Regular.ttf path: resources/fonts/Roboto-Regular.ttf @@ -343,7 +360,7 @@ files: note: >- Read by the adapter's own font setup before the VM starts and handed to the core as the standard font. An empty font list is logged as a setup failure. - source_ref: "source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:384-392, source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:402-411, source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:437" + source_ref: "source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:405-413, source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:423-432, source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:474" - name: Twemoji.Mozilla.ttf path: resources/fonts/Twemoji.Mozilla.ttf @@ -354,11 +371,11 @@ files: note: >- Read by the same font setup and appended as the emoji face. Skipped when the file cannot be read. - source_ref: "source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:393-400, source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:402-411" + source_ref: "source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:414-421, source app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:423-432" - name: tfx.glsl - size: 52705 - sha1: 373792e3bc3c89226bff1852dca3eaf5a8ae4a80 + size: 53534 + sha1: d740ae6e3e3da1175ebd4b78136e027aa5feb194 path: resources/shaders/vulkan/tfx.glsl system: sony-playstation-2 required: true @@ -367,11 +384,11 @@ files: note: >- Read from the resources directory when the Vulkan device is created. A read failure is reported and device creation fails. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:404-407, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2531-2535" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:406-409, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2639-2643" - name: convert.glsl - size: 14941 - sha1: 705d20d39a910d58a070fb86780ac58c8007591c + size: 14100 + sha1: df6810fe9798582cf7e0b2f4d55eb099c7b155cd path: resources/shaders/vulkan/convert.glsl system: sony-playstation-2 required: true @@ -380,7 +397,7 @@ files: note: >- Read when the conversion pipelines are compiled and again as the vertex stage of the FXAA pipeline. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4901-4905, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5247-5251" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5144-5148, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5490-5494" - name: present.glsl size: 13440 @@ -390,7 +407,7 @@ files: required: true bundled: true description: "Vulkan presentation shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5076-5080" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5319-5323" - name: interlace.glsl size: 6329 @@ -400,7 +417,7 @@ files: required: true bundled: true description: "Vulkan deinterlacing shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5126-5130" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5369-5373" - name: merge.glsl size: 759 @@ -410,7 +427,7 @@ files: required: true bundled: true description: "Vulkan field merge shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5177-5181" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5420-5424" - name: shadeboost.glsl size: 1831 @@ -420,7 +437,7 @@ files: required: true bundled: true description: "Vulkan brightness and contrast shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5282-5286" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5525-5529" - name: cas.glsl path: resources/shaders/vulkan/cas.glsl @@ -433,7 +450,7 @@ files: contents of the common headers. The Vulkan device compiles the CAS pipelines unconditionally and returns on a failure, so a missing file stops device creation rather than dropping the feature. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2569-2570, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5333-5335, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1194-1205" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2677-2678, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5576-5578, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1270-1281" - name: imgui.glsl size: 791 @@ -443,7 +460,7 @@ files: required: true bundled: true description: "Vulkan overlay shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5359-5362" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5602-5605" - name: tfx_vgs.glsl size: 14156 @@ -455,7 +472,7 @@ files: description: "OpenGL texture and framebuffer vertex shader" note: >- Read from the resources directory when the OpenGL device is created. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:404-407, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:918-924" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:406-409, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:922-928" - name: tfx_fs.glsl size: 37479 @@ -465,17 +482,17 @@ files: required: true bundled: true description: "OpenGL texture and framebuffer fragment shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:919-924" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:923-928" - name: convert.glsl - size: 16416 - sha1: 35910b67070342cdd6ec4d68eb2e56b39d350543 + size: 14159 + sha1: 63daf461f408b97523fe8956a8ee5bd2c0042ebf path: resources/shaders/opengl/convert.glsl system: sony-playstation-2 required: true bundled: true description: "OpenGL format conversion shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:602-606" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:606-610" - name: present.glsl size: 14894 @@ -485,7 +502,7 @@ files: required: true bundled: true description: "OpenGL presentation shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:688-692" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:692-696" - name: interlace.glsl size: 5983 @@ -495,7 +512,7 @@ files: required: true bundled: true description: "OpenGL deinterlacing shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:747-751" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:751-755" - name: merge.glsl size: 579 @@ -505,7 +522,7 @@ files: required: true bundled: true description: "OpenGL field merge shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:724-728" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:728-732" - name: shadeboost.glsl size: 1548 @@ -515,7 +532,7 @@ files: required: true bundled: true description: "OpenGL brightness and contrast shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:767-768, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2868-2872" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:771-772, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2899-2903" - name: cas.glsl size: 2483 @@ -529,7 +546,7 @@ files: Read as a compute program with the two include lines substituted, and tried only on an ES 3.2 context or on GL 4.2 with compute shaders. A failure turns CAS sharpening off. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:771, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3068-3088, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1194-1205" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:775, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3099-3119, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1270-1281" - name: imgui.glsl size: 637 @@ -539,7 +556,7 @@ files: required: true bundled: true description: "OpenGL overlay shader" - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3152-3156" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3183-3187" - name: fxaa.fx size: 17432 @@ -555,7 +572,7 @@ files: file stops device creation there. On OpenGL the program is compiled beside the shadeboost one in the device creation chain, which returns on a read failure. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2556-2561, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5254-5258, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:767-768, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2611-2619" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2664-2669, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5497-5501, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:771-772, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2642-2650" - name: ffx_a.h path: resources/shaders/common/ffx_a.h @@ -568,7 +585,7 @@ files: of the CAS shader, the compilers having no include support. It shares the fate of the CAS shader it is pasted into: fatal to device creation on Vulkan, and only the sharpening feature on OpenGL. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1194-1205, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2569-2570, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:771" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1270-1281, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2677-2678, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:775" - name: ffx_cas.h path: resources/shaders/common/ffx_cas.h @@ -579,7 +596,7 @@ files: note: >- Read and substituted the same way as the other CAS header, with the same consequence per renderer when it is missing. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1194-1205, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2569-2570, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:771" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1270-1281, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2677-2678, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:775" - name: message.wav path: resources/sounds/achievements/message.wav @@ -593,10 +610,10 @@ files: Played from the resources directory whenever an achievement notification is raised and no custom sound is configured. Sound effects and the notification sound both default on. The vendored tree carries only the README for this - directory, but the released APK (EmuCoreX.v0.4.7.apk) ships the file at + directory, but the released APK (EmuCoreX.v0.5.1.apk) ships the file at 15696 bytes, as upstream v2.8.0 does. The Android sound callback returns without playing when the path is not a file. - source_ref: "source app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:81, source app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:1245-1250, source app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:1963-1966, source app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:461-467" + source_ref: "source app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:81, source app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:1245-1250, source app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:1983-1986, source app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:479-485" - name: unlock.wav path: resources/sounds/achievements/unlock.wav @@ -671,7 +688,7 @@ files: parses as the TEX0 hash, optional CLUT hash, optional region size and format that the texture cache looks it up by. A directory whose case does not match is reported. - source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:36-42, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:328-331, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:442-500" + source_ref: "source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:36-42, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:330-333, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:444-502" - name: ".zip" system: sony-playstation-2 @@ -686,10 +703,12 @@ files: segment being refused, and the Vulkan library it holds is recorded in a driver_name.txt written beside it. The install is removed when that library does not start with the ELF magic or when its GPU vendor, taken from the - catalog or from markers in the library, does not match the device. The + catalog or from markers in the library, does not match the device. A + library named libvulkan_malisx2.so is also refused unless the GL renderer + reports a Mali or Immortalis G57, G68, G77, G78, G615 or G715. The renderer then resolves the driver through adrenotools from that pair. The system loader is used when no driver is configured. - source_ref: "source app/src/main/java/com/sbro/emucorex/core/GpuDriverCatalogRepository.kt:143-147, source app/src/main/java/com/sbro/emucorex/core/GpuDriverCatalogRepository.kt:76-87, source app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:98-170, source app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:172-181, source app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:214-228, source app/src/main/cpp/ARM_ANDROID/src/runtime/android_runtime.cpp:138-152, source app/src/main/cpp/ARM_ANDROID/src/runtime/android_runtime.cpp:401-402, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp:136, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp:200-206" + source_ref: "source app/src/main/java/com/sbro/emucorex/core/GpuDriverCatalogRepository.kt:143-147, source app/src/main/java/com/sbro/emucorex/core/GpuDriverCatalogRepository.kt:76-87, source app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:98-176, source app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:178-195, source app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:228-242, source app/src/main/java/com/sbro/emucorex/core/GpuDriverCompatibility.kt:204-208, source app/src/main/java/com/sbro/emucorex/core/GpuDriverCompatibility.kt:244-257, source app/src/main/cpp/ARM_ANDROID/src/runtime/android_runtime.cpp:249-263, source app/src/main/cpp/ARM_ANDROID/src/runtime/android_runtime.cpp:581, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp:136, source app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp:201-207" exclusion_note: > Left out are the parts of the bundled resource tree that this platform compiles @@ -718,12 +737,12 @@ exclusion_note: > app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:224-229, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:483-536, app/src/main/cpp/pcsx2/pcsx2/ImGui/FullscreenUI.cpp:323, - app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:706, - app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:723-734, + app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:710, + app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:727-738, app/src/main/cpp/pcsx2/pcsx2/Input/SDLInputSource.cpp:24, app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:259-263, - app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:2452-2466, + app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:2472-2486, app/src/main/cpp/pcsx2/pcsx2/GameList.cpp:1376, app/src/main/cpp/pcsx2/pcsx2/ImGui/FullscreenUI.cpp:3640, app/src/main/java/com/sbro/emucorex/data/ps2/Ps2CatalogRepository.kt:235-248, - app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:434-436 + app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:452-454 diff --git a/emulators/eternal.yml b/emulators/eternal.yml index 5ed54916..774d61ee 100644 --- a/emulators/eternal.yml +++ b/emulators/eternal.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://codeberg.org/iyzsong/eternal-libretro" upstream: "https://github.com/adriancable/eternal" source_commit: "13adf143aea822ebc1ee23722a80e93a7979e4c9" -upstream_commit: "17c8ab87de7f308f48f4990ed62c48b86173797d" +upstream_commit: "23d4d6c7c9f930fa72568ce795c9147af09d56ee" profiled_date: "2026-09-17" core_version: "0.0" display_name: "Eternal Computer" diff --git a/emulators/etlegacy.yml b/emulators/etlegacy.yml index d514fc36..95c9bb7e 100644 --- a/emulators/etlegacy.yml +++ b/emulators/etlegacy.yml @@ -4,16 +4,16 @@ core_classification: game_engine source: "https://github.com/etlegacy/etlegacy" upstream: "https://github.com/etlegacy/etlegacy" profiled_date: "2026-10-04" -source_commit: "f8974d1861e3e95c236d3a7c05362d05f408275f" -core_version: "2.83.0+git" +source_commit: "518815d6c7d95f4a6f26e2262f6e3dc82a15ea24" +core_version: "2.86.2+git" display_name: "ET: Legacy" cores: [etlegacy] systems: [enemyterritory] notes: | Wolfenstein: Enemy Territory source port. BASEGAME = "etmain" - (src/qcommon/qcommon.h:787). FS_InitFilesystem (src/qcommon/files.c: - 5066-5094) refuses to start if pak0.pk3 is not reachable under etmain + (src/qcommon/qcommon.h:783). FS_InitFilesystem + (src/qcommon/files.c:5066-5094) refuses to start if pak0.pk3 is not reachable under etmain and prints "Please copy pak0.pk3 from the 'etmain' path of your Wolfenstein: Enemy Territory installation to ". pak1.pk3 and pak2.pk3 are checked against the server's requested pak list in @@ -23,7 +23,7 @@ notes: | pak2.pk3"). mp_bin.pk3 ships in the retail release and holds the stock multiplayer binaries. - NUM_ID_PAKS = 9 (src/qcommon/qcommon.h:815) counts the names recognised + NUM_ID_PAKS = 9 (src/qcommon/qcommon.h:811) counts the names recognised by FS_idPak. Retail Enemy Territory 2.60b publishes only pak0, pak1, pak2 and mp_bin, so the extra slots are reserved for forward compatible server lists, never filled by id. @@ -31,9 +31,9 @@ notes: | fs_game defaults to the legacy mod (src/qcommon/files.c:5141-5148). The build packs the cgame and ui libraries with the source tree's etmain/ assets (configs, presets, locale files) into legacy/legacy_.pk3 - and installs it with the engine (cmake/ETLBuildMod.cmake:301-316). The + and installs it with the engine (cmake/ETLBuildMod.cmake:281-296). The client extracts its cgame and ui libraries from that pk3 at load - (src/sys/sys_main.c:954-966). The user still has to supply the retail + (src/sys/sys_main.c:935-947). The user still has to supply the retail pak0.pk3 from the free Enemy Territory 2.60b download. pak0.pk3 holds every id map, model, texture and sound. @@ -43,7 +43,7 @@ files: system: enemyterritory path: "etmain/pak0.pk3" required: true - source_ref: "src/qcommon/files.c:5066-5094 (fatal if absent), 5076 (FS_FOpenFileRead \"pak0.pk3\"), src/qcommon/qcommon.h:787 (BASEGAME \"etmain\")" + source_ref: "src/qcommon/files.c:5066-5094 (fatal if absent), 5076 (FS_FOpenFileRead \"pak0.pk3\"), src/qcommon/qcommon.h:783 (BASEGAME \"etmain\")" note: "Retail Wolfenstein: Enemy Territory 2.60b data pak. Startup gate." - name: "pak1.pk3" @@ -76,4 +76,4 @@ exclusion_note: > ui libraries compiled for the host, so every release and architecture ships different bytes under a different name. It arrives with every install of the engine. - ref: cmake/ETLBuildMod.cmake:301-316, cmake/ETLVersion.cmake:120-131 + ref: cmake/ETLBuildMod.cmake:281-296, cmake/ETLVersion.cmake:120-131 diff --git a/emulators/fbneo.yml b/emulators/fbneo.yml index d856a833..80ade64e 100644 --- a/emulators/fbneo.yml +++ b/emulators/fbneo.yml @@ -4,9 +4,9 @@ core_classification: official_port source: "https://github.com/libretro/FBNeo" upstream: "https://github.com/finalburnneo/FBNeo" logo: "https://raw.githubusercontent.com/finalburnneo/FBNeo/master/projectfiles/xcode/Emulator/Assets.xcassets/AppIcon.appiconset/icon_512.png" -profiled_date: "2026-03-23" -source_commit: "63c4190785cadd5ff84483399375871ed6e98754" -upstream_commit: "8d47450deff3802a61559108f12bb0c846c98e36" +profiled_date: "2026-10-23" +source_commit: "2b0c1c0679df115cada7df9199ea2762222e58fd" +upstream_commit: "c89fdfe3abe118dc4a006f3d887094f0d83360f0" core_version: "v1.0.0.2" display_name: "Arcade (FinalBurn Neo)" cores: @@ -54,7 +54,7 @@ notes: | FinalBurn Neo is a multi-system arcade and console emulator. BIOS files are expected as MAME-format ZIP archives containing individual ROM chips. The libretro core searches for BIOS ZIPs in this order - (src/burner/libretro/libretro.cpp:881-949): + (src/burner/libretro/libretro.cpp:882-950): 1. {system_dir}/fbneo/patched/{romName} 2. {rom_dir}/{romName} 3. {system_dir}/fbneo/{romName} @@ -101,7 +101,7 @@ files: size: 131072 # 0x20000 crc32: "91b64be3" note: "MVS Asia/Europe ver. 6 (1 slot) - default BIOS" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1624" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1660" - name: "sp-s2.sp1" archive: neogeo.zip @@ -110,7 +110,7 @@ files: size: 131072 crc32: "9036d879" note: "MVS Asia/Europe ver. 5 (1 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1625" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1661" - name: "sp-s.sp1" archive: neogeo.zip @@ -119,7 +119,7 @@ files: size: 131072 crc32: "c7f2fa45" note: "MVS Asia/Europe ver. 3 (4 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1626" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1662" - name: "sp-u2.sp1" aliases: ["usa_2slt.bin"] @@ -129,7 +129,7 @@ files: size: 131072 crc32: "e72943de" note: "MVS USA ver. 5 (2 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1627" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1663" - name: "sp1-u2" archive: neogeo.zip @@ -138,7 +138,7 @@ files: size: 131072 crc32: "62f021f4" note: "MVS USA ver. 5 (4 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1628" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1664" - name: "sp-e.sp1" archive: neogeo.zip @@ -147,7 +147,7 @@ files: size: 131072 crc32: "2723a5b5" note: "MVS USA ver. 5 (6 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1629" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1665" - name: "sp1-u4.bin" archive: neogeo.zip @@ -156,7 +156,7 @@ files: size: 131072 crc32: "1179a30f" note: "MVS USA (U4)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1630" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1666" - name: "sp1-u3.bin" archive: neogeo.zip @@ -165,7 +165,7 @@ files: size: 131072 crc32: "2025b7a2" note: "MVS USA (U3)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1631" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1667" - name: "vs-bios.rom" archive: neogeo.zip @@ -174,7 +174,7 @@ files: size: 131072 crc32: "f0e8f27d" note: "MVS Japan ver. 6" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1632" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1668" - name: "sp-j2.sp1" archive: neogeo.zip @@ -183,7 +183,7 @@ files: size: 131072 crc32: "acede59c" note: "MVS Japan ver. 5" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1633" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1669" - name: "sp1.jipan.1024" archive: neogeo.zip @@ -192,7 +192,7 @@ files: size: 131072 crc32: "9fb0abe4" note: "MVS Japan ver. 3 (4 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1634" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1670" - name: "sp-45.sp1" archive: neogeo.zip @@ -201,7 +201,7 @@ files: size: 524288 # 0x80000 crc32: "03cc9f6a" note: "NEO-MVH MV1C (Asia)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1635" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1671" - name: "sp-j3.sp1" archive: neogeo.zip @@ -210,7 +210,7 @@ files: size: 524288 crc32: "486cb450" note: "NEO-MVH MV1C (Japan)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1636" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1672" - name: "japan-j3.bin" archive: neogeo.zip @@ -219,7 +219,7 @@ files: size: 131072 crc32: "dff6d41f" note: "MVS Japan (J3)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1637" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1673" - name: "sp1-j3.bin" archive: neogeo.zip @@ -228,7 +228,7 @@ files: size: 131072 crc32: "fbc6d469" note: "MVS Japan (J3, alt)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1638" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1674" # AES BIOS ROMs (not in MAME ROM_VERIFY builds) - name: "neo-po.bin" @@ -238,7 +238,7 @@ files: size: 131072 crc32: "16d0c132" note: "AES Japan" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1640" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1676" - name: "neo-epo.bin" archive: neogeo.zip @@ -247,7 +247,7 @@ files: size: 131072 crc32: "d27a71f1" note: "AES Asia" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1641" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1677" - name: "neodebug.bin" archive: neogeo.zip @@ -256,7 +256,7 @@ files: size: 131072 crc32: "698ebb7d" note: "Development Kit BIOS" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1642" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1678" - name: "sp-1v1_3db8c.bin" archive: neogeo.zip @@ -265,7 +265,7 @@ files: size: 131072 crc32: "162f0ebe" note: "Deck ver. 6 (Git Ver 1.3)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1648" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1684" # Universe BIOS (third-party, multiple versions) - name: "uni-bios_4_0.rom" @@ -275,7 +275,7 @@ files: size: 131072 crc32: "a7aab458" note: "Universe BIOS ver. 4.0 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1649" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1685" - name: "uni-bios_3_3.rom" archive: neogeo.zip @@ -284,7 +284,7 @@ files: size: 131072 crc32: "24858466" note: "Universe BIOS ver. 3.3 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1650" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1686" - name: "uni-bios_3_2.rom" archive: neogeo.zip @@ -293,7 +293,7 @@ files: size: 131072 crc32: "a4e8b9b3" note: "Universe BIOS ver. 3.2 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1651" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1687" - name: "uni-bios_3_1.rom" archive: neogeo.zip @@ -302,7 +302,7 @@ files: size: 131072 crc32: "0c58093f" note: "Universe BIOS ver. 3.1 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1652" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1688" - name: "uni-bios_3_0.rom" archive: neogeo.zip @@ -311,7 +311,7 @@ files: size: 131072 crc32: "a97c89a9" note: "Universe BIOS ver. 3.0 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1653" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1689" - name: "uni-bios_2_3.rom" archive: neogeo.zip @@ -320,7 +320,7 @@ files: size: 131072 crc32: "27664eb5" note: "Universe BIOS ver. 2.3 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1654" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1690" - name: "uni-bios_2_3o.rom" archive: neogeo.zip @@ -329,7 +329,7 @@ files: size: 131072 crc32: "601720ae" note: "Universe BIOS ver. 2.3 older (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1655" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1691" - name: "uni-bios_2_2.rom" archive: neogeo.zip @@ -338,7 +338,7 @@ files: size: 131072 crc32: "2d50996a" note: "Universe BIOS ver. 2.2 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1656" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1692" - name: "uni-bios_2_1.rom" archive: neogeo.zip @@ -347,7 +347,7 @@ files: size: 131072 crc32: "8dabf76b" note: "Universe BIOS ver. 2.1 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1657" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1693" - name: "uni-bios_2_0.rom" archive: neogeo.zip @@ -356,7 +356,7 @@ files: size: 131072 crc32: "0c12c2ad" note: "Universe BIOS ver. 2.0 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1658" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1694" - name: "uni-bios_1_3.rom" archive: neogeo.zip @@ -365,7 +365,7 @@ files: size: 131072 crc32: "b24b44a0" note: "Universe BIOS ver. 1.3 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1659" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1695" - name: "uni-bios_1_2.rom" archive: neogeo.zip @@ -374,7 +374,7 @@ files: size: 131072 crc32: "4fa698e9" note: "Universe BIOS ver. 1.2 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1660" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1696" - name: "uni-bios_1_2o.rom" archive: neogeo.zip @@ -383,7 +383,7 @@ files: size: 131072 crc32: "e19d3ce9" note: "Universe BIOS ver. 1.2 older (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1661" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1697" - name: "uni-bios_1_1.rom" archive: neogeo.zip @@ -392,7 +392,7 @@ files: size: 131072 crc32: "5dda0d84" note: "Universe BIOS ver. 1.1 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1662" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1698" - name: "uni-bios_1_0.rom" archive: neogeo.zip @@ -401,7 +401,7 @@ files: size: 131072 crc32: "0ce453a0" note: "Universe BIOS ver. 1.0 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1663" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1699" - name: "neopen.sp1" archive: neogeo.zip @@ -410,7 +410,7 @@ files: size: 131072 crc32: "cb915e76" note: "NeoOpen BIOS v0.1 beta (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1665" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1701" # Neo Geo shared ROMs (always required) - name: "sm1.sm1" @@ -420,7 +420,7 @@ files: size: 131072 crc32: "94416d67" note: "Z80 sound BIOS" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1672" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1708" - name: "sfix.sfix" archive: neogeo.zip @@ -429,7 +429,7 @@ files: size: 131072 crc32: "c2ea0cfd" note: "Text layer fix tiles" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1673" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1709" - name: "000-lo.lo" archive: neogeo.zip @@ -438,7 +438,7 @@ files: size: 131072 crc32: "5a86cff2" note: "Zoom lookup table" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1674" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1710" # ------------------------------------------------------- # Neo Geo Trackball BIOS (for irrmaze) @@ -450,7 +450,7 @@ files: size: 131072 crc32: "853e6b96" note: "Trackball BIOS / Asia MV1B 263" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1764" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1800" - name: "236-bios_japan_hack.sp1" archive: neogeo.zip @@ -459,7 +459,7 @@ files: size: 131072 crc32: "02bf4426" note: "Trackball BIOS / Japan (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1765" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1801" # ------------------------------------------------------- # Neo Geo PCB BIOS (for ms5pcb, svcpcb, kf2k3pcb) @@ -471,7 +471,7 @@ files: size: 524288 crc32: "b4590283" note: "PCB BIOS for Metal Slug 5 PCB and SVC Chaos PCB" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1811" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1847" - name: "spj.sp1" archive: neogeo.zip @@ -480,7 +480,7 @@ files: size: 524288 crc32: "148dd727" note: "PCB BIOS for KOF 2003 PCB" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1899" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1935" # ------------------------------------------------------- # Neo Geo CDZ (neocdz.zip) @@ -492,7 +492,7 @@ files: size: 524288 # 0x80000 crc32: "df9de490" note: "Neo Geo CD/CDZ top-loading BIOS" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1983" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2019" - name: "neocd_sz.rom" archive: neocdz.zip @@ -501,7 +501,7 @@ files: size: 524288 crc32: "42f6b6c4" note: "Neo Geo CDZ custom BIOS by SMKDan" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1984" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2020" - name: "uni-bioscd33.rom" archive: neocdz.zip @@ -510,7 +510,7 @@ files: size: 524288 crc32: "ff3abc59" note: "Universe BIOS CD ver. 3.3 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1985" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2021" - name: "uni-bioscd32.rom" archive: neocdz.zip @@ -519,7 +519,7 @@ files: size: 524288 crc32: "0ffb3127" note: "Universe BIOS CD ver. 3.2 (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1986" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2022" - name: "000-lo.lo" archive: neocdz.zip @@ -528,7 +528,7 @@ files: size: 131072 crc32: "5a86cff2" note: "Zoom lookup table (shared with MVS)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1988" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2024" # ------------------------------------------------------- # IGS PGM (pgm.zip) @@ -937,7 +937,7 @@ files: size: 8192 # 0x2000 crc32: "3aa93ef3" note: "ColecoVision BIOS (Coleco, 1982)" - source_ref: "source src/burn/drv/coleco/d_coleco.cpp:1070" + source_ref: "source src/burn/drv/coleco/d_coleco.cpp:1061" - name: "colecoa.rom" archive: coleco.zip @@ -946,7 +946,7 @@ files: size: 8192 crc32: "39bb16fc" note: "ColecoVision BIOS thick characters (Coleco, 1982)" - source_ref: "source src/burn/drv/coleco/d_coleco.cpp:1071" + source_ref: "source src/burn/drv/coleco/d_coleco.cpp:1062" - name: "svi603.rom" archive: coleco.zip @@ -955,7 +955,7 @@ files: size: 8192 crc32: "19e91b82" note: "SVI-603 Coleco Game Adapter (Spectravideo, 1983)" - source_ref: "source src/burn/drv/coleco/d_coleco.cpp:1072" + source_ref: "source src/burn/drv/coleco/d_coleco.cpp:1063" - name: "czz50.rom" archive: coleco.zip @@ -964,7 +964,7 @@ files: size: 16384 # 0x4000 crc32: "4999abc6" note: "Chuang Zao Zhe 50 (Bit Corporation, 1986)" - source_ref: "source src/burn/drv/coleco/d_coleco.cpp:1073" + source_ref: "source src/burn/drv/coleco/d_coleco.cpp:1064" # ------------------------------------------------------- # ZX Spectrum (spectrum.zip, spec128.zip) @@ -1512,7 +1512,7 @@ files: required: true size: 16384 crc32: "81977335" - source_ref: "source src/burn/drv/gba/d_gba.cpp:540" + source_ref: "source src/burn/drv/gba/d_gba.cpp:564" - name: "st018.bin" archive: st018.zip diff --git a/emulators/fbneo_cps12.yml b/emulators/fbneo_cps12.yml index a74a5cb2..6f6efbe2 100644 --- a/emulators/fbneo_cps12.yml +++ b/emulators/fbneo_cps12.yml @@ -4,7 +4,8 @@ core_classification: official_port source: "https://github.com/libretro/FBNeo" upstream: "https://github.com/finalburnneo/FBNeo" profiled_date: "2026-03-23" -source_commit: "63c4190785cadd5ff84483399375871ed6e98754" +source_commit: "2b0c1c0679df115cada7df9199ea2762222e58fd" +upstream_commit: "c89fdfe3abe118dc4a006f3d887094f0d83360f0" core_version: "v1.0.0.2" display_name: "Arcade (FinalBurn Neo) (CPS-1 / CPS-2)" cores: diff --git a/emulators/fbneo_neogeo.yml b/emulators/fbneo_neogeo.yml index 32db8d2d..350023bc 100644 --- a/emulators/fbneo_neogeo.yml +++ b/emulators/fbneo_neogeo.yml @@ -3,8 +3,9 @@ type: libretro core_classification: official_port source: "https://github.com/libretro/FBNeo" upstream: "https://github.com/finalburnneo/FBNeo" -profiled_date: "2026-03-23" -source_commit: "63c4190785cadd5ff84483399375871ed6e98754" +profiled_date: "2026-10-23" +source_commit: "2b0c1c0679df115cada7df9199ea2762222e58fd" +upstream_commit: "c89fdfe3abe118dc4a006f3d887094f0d83360f0" core_version: "v1.0.0.2" display_name: "Arcade (FinalBurn Neo) (Neo-Geo)" cores: @@ -22,7 +23,7 @@ notes: | Neo Geo games reference "neogeo" as parent ROM set. The BIOS ZIP must be alongside game ZIPs or in system_dir/fbneo/. - Search order (src/burner/libretro/libretro.cpp:881-949): + Search order (src/burner/libretro/libretro.cpp:882-950): 1. {system_dir}/fbneo/patched/{romName} 2. {rom_dir}/{romName} 3. {system_dir}/fbneo/{romName} @@ -57,7 +58,7 @@ files: size: 131072 crc32: "91b64be3" note: "MVS Asia/Europe ver. 6 (1 slot) - default BIOS" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1624" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1660" - name: "sp-s2.sp1" archive: neogeo.zip @@ -66,7 +67,7 @@ files: size: 131072 crc32: "9036d879" note: "MVS Asia/Europe ver. 5 (1 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1625" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1661" - name: "sp-s.sp1" archive: neogeo.zip @@ -75,7 +76,7 @@ files: size: 131072 crc32: "c7f2fa45" note: "MVS Asia/Europe ver. 3 (4 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1626" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1662" - name: "sp-u2.sp1" aliases: ["usa_2slt.bin"] @@ -85,7 +86,7 @@ files: size: 131072 crc32: "e72943de" note: "MVS USA ver. 5 (2 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1627" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1663" - name: "sp1-u2" archive: neogeo.zip @@ -94,7 +95,7 @@ files: size: 131072 crc32: "62f021f4" note: "MVS USA ver. 5 (4 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1628" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1664" - name: "sp-e.sp1" archive: neogeo.zip @@ -103,7 +104,7 @@ files: size: 131072 crc32: "2723a5b5" note: "MVS USA ver. 5 (6 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1629" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1665" - name: "sp1-u4.bin" archive: neogeo.zip @@ -112,7 +113,7 @@ files: size: 131072 crc32: "1179a30f" note: "MVS USA (U4)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1630" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1666" - name: "sp1-u3.bin" archive: neogeo.zip @@ -121,7 +122,7 @@ files: size: 131072 crc32: "2025b7a2" note: "MVS USA (U3)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1631" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1667" - name: "vs-bios.rom" archive: neogeo.zip @@ -130,7 +131,7 @@ files: size: 131072 crc32: "f0e8f27d" note: "MVS Japan ver. 6" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1632" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1668" - name: "sp-j2.sp1" archive: neogeo.zip @@ -139,7 +140,7 @@ files: size: 131072 crc32: "acede59c" note: "MVS Japan ver. 5" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1633" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1669" - name: "sp1.jipan.1024" archive: neogeo.zip @@ -148,7 +149,7 @@ files: size: 131072 crc32: "9fb0abe4" note: "MVS Japan ver. 3 (4 slot)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1634" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1670" - name: "sp-45.sp1" archive: neogeo.zip @@ -157,7 +158,7 @@ files: size: 524288 crc32: "03cc9f6a" note: "NEO-MVH MV1C (Asia)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1635" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1671" - name: "sp-j3.sp1" archive: neogeo.zip @@ -166,7 +167,7 @@ files: size: 524288 crc32: "486cb450" note: "NEO-MVH MV1C (Japan)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1636" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1672" - name: "japan-j3.bin" archive: neogeo.zip @@ -175,7 +176,7 @@ files: size: 131072 crc32: "dff6d41f" note: "MVS Japan (J3)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1637" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1673" - name: "sp1-j3.bin" archive: neogeo.zip @@ -184,7 +185,7 @@ files: size: 131072 crc32: "fbc6d469" note: "MVS Japan (J3, alt)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1638" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1674" - name: "neo-po.bin" archive: neogeo.zip @@ -193,7 +194,7 @@ files: size: 131072 crc32: "16d0c132" note: "AES Japan" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1640" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1676" - name: "neo-epo.bin" archive: neogeo.zip @@ -202,7 +203,7 @@ files: size: 131072 crc32: "d27a71f1" note: "AES Asia" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1641" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1677" - name: "neodebug.bin" archive: neogeo.zip @@ -211,7 +212,7 @@ files: size: 131072 crc32: "698ebb7d" note: "Development Kit BIOS" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1642" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1678" - name: "sp-1v1_3db8c.bin" archive: neogeo.zip @@ -220,7 +221,7 @@ files: size: 131072 crc32: "162f0ebe" note: "Deck ver. 6 (Git Ver 1.3)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1648" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1684" # Universe BIOS (third-party, multiple versions) - name: "uni-bios_4_0.rom" @@ -230,7 +231,7 @@ files: size: 131072 crc32: "a7aab458" note: "Universe BIOS ver. 4.0" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1649" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1685" - name: "uni-bios_3_3.rom" archive: neogeo.zip @@ -239,7 +240,7 @@ files: size: 131072 crc32: "24858466" note: "Universe BIOS ver. 3.3" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1650" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1686" - name: "uni-bios_3_2.rom" archive: neogeo.zip @@ -248,7 +249,7 @@ files: size: 131072 crc32: "a4e8b9b3" note: "Universe BIOS ver. 3.2" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1651" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1687" - name: "uni-bios_3_1.rom" archive: neogeo.zip @@ -257,7 +258,7 @@ files: size: 131072 crc32: "0c58093f" note: "Universe BIOS ver. 3.1" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1652" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1688" - name: "uni-bios_3_0.rom" archive: neogeo.zip @@ -266,7 +267,7 @@ files: size: 131072 crc32: "a97c89a9" note: "Universe BIOS ver. 3.0" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1653" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1689" - name: "uni-bios_2_3.rom" archive: neogeo.zip @@ -275,7 +276,7 @@ files: size: 131072 crc32: "27664eb5" note: "Universe BIOS ver. 2.3" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1654" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1690" - name: "uni-bios_2_3o.rom" archive: neogeo.zip @@ -284,7 +285,7 @@ files: size: 131072 crc32: "601720ae" note: "Universe BIOS ver. 2.3 (older)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1655" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1691" - name: "uni-bios_2_2.rom" archive: neogeo.zip @@ -293,7 +294,7 @@ files: size: 131072 crc32: "2d50996a" note: "Universe BIOS ver. 2.2" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1656" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1692" - name: "uni-bios_2_1.rom" archive: neogeo.zip @@ -302,7 +303,7 @@ files: size: 131072 crc32: "8dabf76b" note: "Universe BIOS ver. 2.1" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1657" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1693" - name: "uni-bios_2_0.rom" archive: neogeo.zip @@ -311,7 +312,7 @@ files: size: 131072 crc32: "0c12c2ad" note: "Universe BIOS ver. 2.0" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1658" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1694" - name: "uni-bios_1_3.rom" archive: neogeo.zip @@ -320,7 +321,7 @@ files: size: 131072 crc32: "b24b44a0" note: "Universe BIOS ver. 1.3" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1659" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1695" - name: "uni-bios_1_2.rom" archive: neogeo.zip @@ -329,7 +330,7 @@ files: size: 131072 crc32: "4fa698e9" note: "Universe BIOS ver. 1.2" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1660" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1696" - name: "uni-bios_1_2o.rom" archive: neogeo.zip @@ -338,7 +339,7 @@ files: size: 131072 crc32: "e19d3ce9" note: "Universe BIOS ver. 1.2 (older)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1661" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1697" - name: "uni-bios_1_1.rom" archive: neogeo.zip @@ -347,7 +348,7 @@ files: size: 131072 crc32: "5dda0d84" note: "Universe BIOS ver. 1.1" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1662" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1698" - name: "uni-bios_1_0.rom" archive: neogeo.zip @@ -356,7 +357,7 @@ files: size: 131072 crc32: "0ce453a0" note: "Universe BIOS ver. 1.0" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1663" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1699" - name: "neopen.sp1" archive: neogeo.zip @@ -365,7 +366,7 @@ files: size: 131072 crc32: "cb915e76" note: "NeoOpen BIOS v0.1 beta" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1665" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1701" # Neo Geo shared ROMs (always required) - name: "sm1.sm1" @@ -375,7 +376,7 @@ files: size: 131072 crc32: "94416d67" note: "Z80 sound BIOS" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1672" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1708" - name: "sfix.sfix" archive: neogeo.zip @@ -384,7 +385,7 @@ files: size: 131072 crc32: "c2ea0cfd" note: "Text layer fix tiles" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1673" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1709" - name: "000-lo.lo" archive: neogeo.zip @@ -393,7 +394,7 @@ files: size: 131072 crc32: "5a86cff2" note: "Zoom lookup table" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1988" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2024" # ------------------------------------------------------- # Neo Geo Trackball BIOS (for irrmaze) @@ -405,7 +406,7 @@ files: size: 131072 crc32: "853e6b96" note: "Trackball BIOS / Asia MV1B 263" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1764" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1800" - name: "236-bios_japan_hack.sp1" archive: neogeo.zip @@ -414,7 +415,7 @@ files: size: 131072 crc32: "02bf4426" note: "Trackball BIOS / Japan (hack)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1765" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1801" # ------------------------------------------------------- # Neo Geo PCB BIOS (for ms5pcb, svcpcb, kf2k3pcb) @@ -426,7 +427,7 @@ files: size: 524288 crc32: "b4590283" note: "PCB BIOS for Metal Slug 5 PCB and SVC Chaos PCB" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1811" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1847" - name: "spj.sp1" archive: neogeo.zip @@ -435,7 +436,7 @@ files: size: 524288 crc32: "148dd727" note: "PCB BIOS for KOF 2003 PCB" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1899" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1935" # ------------------------------------------------------- # Neo Geo CDZ (neocdz.zip) @@ -447,7 +448,7 @@ files: size: 524288 crc32: "df9de490" note: "Neo Geo CD/CDZ BIOS" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1983" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2019" - name: "neocd_sz.rom" archive: neocdz.zip @@ -456,7 +457,7 @@ files: size: 524288 crc32: "42f6b6c4" note: "Neo Geo CDZ custom BIOS by SMKDan" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1984" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2020" - name: "uni-bioscd33.rom" archive: neocdz.zip @@ -465,7 +466,7 @@ files: size: 524288 crc32: "ff3abc59" note: "Universe BIOS CD ver. 3.3" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1985" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2021" - name: "uni-bioscd32.rom" archive: neocdz.zip @@ -474,7 +475,7 @@ files: size: 524288 crc32: "0ffb3127" note: "Universe BIOS CD ver. 3.2" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1986" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2022" - name: "000-lo.lo" archive: neocdz.zip @@ -483,7 +484,7 @@ files: size: 131072 crc32: "5a86cff2" note: "Zoom lookup table (shared with MVS)" - source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:1988" + source_ref: "source src/burn/drv/neogeo/d_neogeo.cpp:2024" # ------------------------------------------------------- # System support files diff --git a/emulators/fceumm.yml b/emulators/fceumm.yml index 758f2d25..b210da2a 100644 --- a/emulators/fceumm.yml +++ b/emulators/fceumm.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/libretro-fceumm" upstream: "https://sourceforge.net/projects/fceumm/" profiled_date: "2026-03-23" -source_commit: "7a542dab1e87679921962a9f056186eca425c0c2" +source_commit: "ac0d00a7fc01166f84c7bac01d1084ebfd2b865e" core_version: "SVN" display_name: "Nintendo - NES / Famicom (FCEUmm)" cores: diff --git a/emulators/fheroes2.yml b/emulators/fheroes2.yml index b1ffbbf5..6cd29936 100644 --- a/emulators/fheroes2.yml +++ b/emulators/fheroes2.yml @@ -4,6 +4,7 @@ core_classification: game_engine source: "https://github.com/ihhub/fheroes2" profiled_date: "2026-10-22" source_commit: "35ca4c915be00098547d5050412a325dd55cfd7f" +pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/fheroes2/package.mk:5). Later commits are not part of that build." core_version: "1.0.11" display_name: "Heroes of Might and Magic II (fheroes2)" cores: diff --git a/emulators/flycast-dojo.yml b/emulators/flycast-dojo.yml index b72fca33..125257a1 100644 --- a/emulators/flycast-dojo.yml +++ b/emulators/flycast-dojo.yml @@ -3,11 +3,12 @@ type: standalone core_classification: enhanced_fork source: "https://github.com/blueminder/flycast-dojo" upstream: "https://github.com/flyinghead/flycast" -source_commit: "d0e47e572b1e7b355e88bda8308c89d0c5156cbf" -upstream_commit: "a172e0001351dfbc49b86860a13d5390b1c493fe" +source_branch: "dojo" +source_commit: "745815c929fca4a893be28c99351b44d984b6642" +upstream_commit: "f13d7ad2dcf141f59a999090dbc0f78be196e665" logo: "https://raw.githubusercontent.com/blueminder/flycast-dojo/master/shell/linux/flycast-dojo.png" -profiled_date: "2026-08-08" -core_version: "dojo-7-preview4" +profiled_date: "2026-10-23" +core_version: "dojo-7.8" display_name: "Sega - Dreamcast/Naomi (Flycast Dojo)" cores: - flycast-dojo @@ -17,70 +18,78 @@ systems: - sega-naomi - sega-naomi2 - sega-atomiswave + - sega-systemsp mode: standalone verification: existence notes: | Fork of Flycast adding rollback and delay netplay, a lobby, spectating, - replay recording and a training mode. + replay recording and a training mode. The Dojo 7 releases are tagged on the + dojo branch, which carries flyinghead/flycast up to f13d7ad of 2024-05-11 + with the Dojo commits on top. The master branch is the older Dojo 6 line. + The build names itself with git describe, so the version string is the tag. + ref: .github/workflows/build-and-release.yml:4-6, .github/workflows/build-and-release.yml:27 Every file below is read from the data directory, flat, with no subfolder. - The directory is /data on Windows, $XDG_DATA_HOME/flycast-dojo or - $HOME/.local/share/flycast-dojo on Linux, /flycast-dojo/data on Switch. - $FLYCAST_ROOT overrides the root, $FLYCAST_BIOS_PATH adds search paths, - and ContentPath entries are searched after the data directory. - ref: core/linux-dist/main.cpp:157-365, core/windows/winmain.cpp:245-266, - core/stdclass.cpp:78-97 + The user data directory is /data on Windows, + $XDG_DATA_HOME/flycast-dojo or $HOME/.local/share/flycast-dojo on Linux, + the data/ folder of $HOME/.flycast or ~/Library/Application Support/Flycast + on macOS, and /flycast-dojo/data on Switch. A missing file is then looked up + in the system data directories (on Linux $XDG_DATA_DIRS or /usr/local/share + and /usr/share, each with flycast-dojo appended, every $FLYCAST_BIOS_PATH + entry, ./ and data/), then in the directory of the loaded game. Boot ROMs, + flash and arcade BIOS archives are also searched in every ContentPath entry. + ref: core/linux-dist/main.cpp:148-178, 255-296, 337-344, + core/windows/winmain.cpp:77-97, + shell/apple/emulator-osx/emulator-osx/osx-main.mm:108-137, + core/stdclass.cpp:83-105, core/oslib/oslib.cpp:52-81, 88-103 - The boot ROM prefix follows the platform (core/hw/holly/sb_mem.cpp:27-42): + The boot ROM prefix follows the platform (core/hw/flashrom/nvmem.cpp:35-50): Dreamcast -> dc_ NAOMI -> naomi_ NAOMI 2 -> naomi2_ Atomiswave -> aw_ - Boot ROM search pattern (sb_mem.cpp:254,269): + System SP -> no prefix + Boot ROM search pattern (core/hw/flashrom/nvmem.cpp:256-272): {prefix}boot.bin, {prefix}boot.bin.bin, {prefix}bios.bin, {prefix}bios.bin.bin - Flash search takes a single name, {prefix}nvmem.bin (sb_mem.cpp:214), or - {prefix}nvmem.bin.net once Dojo mode is on (sb_mem.cpp:195). - The aw_ prefix never reaches a filename: sb_mem.cpp:267 skips the boot ROM - search on Atomiswave, whose BIOS comes from awbios.zip, and its flash - follows the per-game arcade path (sb_mem.cpp:216). + Flash search takes a single name, {prefix}nvmem.bin, on Dreamcast only. The + arcade platforms keep their flash under the per-game save path, and when it + is absent the NAOMI and Atomiswave defaults compiled into the binary are + used for the games that have one (core/hw/flashrom/nvmem.cpp:214-254). + The aw_ prefix never reaches a filename: the boot ROM search is skipped on + Atomiswave, whose BIOS comes from awbios.zip. Arcade BIOS archives are opened as .zip, then .7z - (core/hw/naomi/naomi_cart.cpp:69-71). Each ROM inside is looked up by CRC - then by filename. The crc field of every BIOS blob is left at zero, so the - filename decides. No hash is checked on an archive. + (core/hw/naomi/naomi_cart.cpp:57-75). Each ROM is looked up by CRC32 in + the game archive, its parent and the BIOS archive, then by file name in + the same order, and the blob of the configured region is taken, else the + first one listed. awbios declares no CRC32, so its member is found by name. + No hash is checked on an archive. A game with no bios field reads naomi.zip + and runs from the flat naomi_boot.bin when the archive is missing. A game + that names a BIOS aborts without it (core/hw/naomi/naomi_cart.cpp:190-206). - NAOMI 2 is a platform of its own here: naomi_cart_GetPlatform returns - DC_PLATFORM_NAOMI2 for any game whose bios field is naomi2 - (naomi_cart.cpp:646-657), which selects the naomi2_ prefix and naomi2.zip. + NAOMI 2 and System SP are platforms of their own: naomi_cart_GetPlatform + returns DC_PLATFORM_NAOMI2 for a game whose bios field is naomi2 and + DC_PLATFORM_SYSTEMSP for segasp (core/hw/naomi/naomi_cart.cpp:785-806). - Under netplay, match playback or match recording the Dreamcast boot ROM is - skipped and reios is forced, so both sides start from the same state. - Product numbers T0019M and T-31101N are the two exceptions that keep the - real BIOS (sb_mem.cpp:237-259). + UseReios defaults to on, so the Dreamcast boots through reios and reads + dc_boot.bin only when HLE BIOS is turned off, to start the BIOS menu + without a disc, or for the product ids that force the real BIOS + (core/cfg/option.cpp:127, core/emulator.cpp:262-279, 502-526). - BIOS[] also declares airlbios and naomigd. No entry of Games[] carries - either name in its bios field and loadBios is only ever called with that - field or the literal naomi, so neither archive is opened. The Airline - Pilots sets use the naomi BIOS (naomi_roms.cpp:821-828,854-862). + The release archives hold the binary and its libraries alone. The default + arcade flash images, the on-screen button sheet and the reios font are + compiled in as resources. + ref: CMakeLists.txt:966-1001, .github/workflows/build-and-release.yml:56, + .github/workflows/build-and-release.yml:71-72 - flycast_roms.json ships beside the binary and lists an md5 for naomi.zip, - naomi2.zip and awbios.zip. The only function reading them, CompareBIOS, - has no live caller (DojoFile.cpp:228-242, DojoGui.cpp:1314,1369). - - Distributed with the emulator and fetched at build time: data/default.zip - and the per-game .nvmem/.eeprom/.nvmem2 netplay files from - flycast-netplay-nvmem, data/game_values/*.json from - flycast-dojo-game-values, training/*.lua from flycast-dojo-training, and - flycast_roms.json. - ref: CMakeLists.txt:1787-1834, .github/workflows/c-cpp.yml:171-192, - shell/linux/make-appimage.sh:136-149 - - Also read but never user supplied: buttons.png overrides an on-screen - button sheet compiled into the binary (core/rend/osd.cpp:152-171), - mappings/*.cfg are written by the input configuration screen - (core/input/mapping.cpp:382-445), and flycast.lua is a user script - (core/lua/lua.cpp:746-761). + Also read but never user supplied: buttons.png overrides the compiled in + button sheet (core/rend/osd.cpp:155-174), mappings/*.cfg are written by the + input configuration screen (core/input/mapping.cpp:401, 461-463), + flycast.lua is a user script (core/lua/lua.cpp:750-760), and the training + mode runs training/cvs2.lua or training/mvsc2.lua from the config directory + for those two games, otherwise training/.lua from the data directory + (core/dojo/dojo.cpp:287-319). files: # ------------------------------------------------------- @@ -93,30 +102,16 @@ files: hle_fallback: true min_size: 2097152 validation: [size] - note: "Boot ROM. reios takes over when it is absent, and is forced under netplay, match playback and match recording. Read fails below 2 MB." - source_ref: "source core/hw/holly/sb_mem.cpp:269, source core/emulator.cpp:566-569, source core/hw/flashrom/flashrom.cpp:23-33" + note: "Boot ROM. reios runs by default and when it is absent. Read when HLE BIOS is off, for the product ids that force the real BIOS, and to boot the BIOS menu without a disc, which fails without it. Read fails below 2 MB." + source_ref: "source core/hw/flashrom/nvmem.cpp:256-272, source core/emulator.cpp:502-526, source core/hw/flashrom/flashrom.cpp:21-33" - name: dc_nvmem.bin system: sega-dreamcast required: false min_size: 131072 validation: [size] - note: "Flash memory. Created and filled with factory settings when absent." - source_ref: "source core/hw/holly/sb_mem.cpp:214, source core/hw/holly/sb_mem.cpp:111-187" - - - name: dc_nvmem.bin.net - system: sega-dreamcast - required: false - min_size: 131072 - validation: [size] - note: "Flash memory used once Dojo mode is enabled, keeping netplay settings apart from local ones. Absent, the emulator logs that the flash is missing and creates it: the factory partition is rewritten, the user partition erased and ISP blocks and a random console id seeded (core/hw/flashrom/flashrom.h:494-524). Nothing distributed seeds it, and SaveRomFiles writes dc_nvmem.bin, never this name (core/hw/holly/sb_mem.cpp:279-286)." - source_ref: "source core/hw/holly/sb_mem.cpp:189-230" - - - name: font.bin - system: sega-dreamcast - required: false - note: "System font served by the reios font syscall. A built-in font is used when absent." - source_ref: "source core/reios/reios.cpp:741-764, source core/oslib/oslib.cpp:195-198" + note: "Flash memory. Created and filled with factory settings when absent, and written back under this name." + source_ref: "source core/hw/flashrom/nvmem.cpp:214-222, source core/hw/flashrom/nvmem.cpp:120-197, source core/hw/flashrom/nvmem.cpp:274-284" # ------------------------------------------------------- # Sega NAOMI @@ -128,78 +123,123 @@ files: min_size: 2097152 validation: [size] note: "Flat boot ROM. Games whose bios field is null run from it when naomi.zip is missing." - source_ref: "source core/hw/holly/sb_mem.cpp:269, source core/hw/naomi/naomi_cart.cpp:202-207" + source_ref: "source core/hw/flashrom/nvmem.cpp:256-272, source core/hw/naomi/naomi_cart.cpp:190-206" - name: naomi.zip system: sega-naomi required: true category: bios_zip - note: "System BIOS archive. 89 game entries name it and abort without it." - source_ref: "source core/hw/naomi/naomi_roms.cpp:84-140, upstream core/hw/naomi/naomi_cart.cpp:194-208" + note: "System BIOS archive. 102 game entries name it and abort without it, and the 131 entries with no bios field read it too." + source_ref: "source core/hw/naomi/naomi_roms.cpp:83-141, source core/hw/naomi/naomi_cart.cpp:190-206" contents: - name: epr-21576h.ic27 description: Japan size: 2097152 - - name: epr-21577h.ic27 - description: USA + crc32: "d4895685" + - name: epr-21576g.ic27 + description: Japan size: 2097152 + crc32: "d2a1c6bf" - name: epr-21578h.ic27 description: Export size: 2097152 + crc32: "7b452946" + - name: epr-21578g.ic27 + description: Export + size: 2097152 + crc32: "55413214" + - name: epr-21577h.ic27 + description: USA + size: 2097152 + crc32: "fdf17452" + - name: epr-21577g.ic27 + description: USA + size: 2097152 + crc32: "25f64af7" - name: epr-21579d.ic27 description: Korea size: 2097152 + crc32: "33513691" + - name: epr-21576h_multi.ic27 + description: "Multi-region, listed for the Korea region" + size: 2097152 + crc32: "cce01f1f" + + - name: airlbios.zip + system: sega-naomi + required: false + category: bios_zip + note: "Airline Pilots Deluxe. Required by alpilot and alpilotj." + source_ref: "source core/hw/naomi/naomi_roms.cpp:29-37, source core/hw/naomi/naomi_roms.cpp:932, 964" + contents: + - name: epr-21802.ic27 + description: Export + size: 2097152 + crc32: "a77c6b1c" + - name: epr-21801.ic27 + description: USA + size: 2097152 + crc32: "a21bef24" - name: f355bios.zip system: sega-naomi required: false category: bios_zip note: "Ferrari F355 Challenge twin. Required by f355twin, f355twinp and f355twn2." - source_ref: "source core/hw/naomi/naomi_roms.cpp:47-54, source core/hw/naomi/naomi_roms.cpp:1689, 1725, 1761" + source_ref: "source core/hw/naomi/naomi_roms.cpp:46-56, source core/hw/naomi/naomi_roms.cpp:1843, 1883, 1923" contents: - - name: epr-22849.ic27 - description: Japan - size: 2097152 - - name: epr-22850.ic27 - description: USA - size: 2097152 - name: epr-22851.ic27 description: Export size: 2097152 + crc32: "62483677" + - name: epr-22850.ic27 + description: USA + size: 2097152 + crc32: "28aa539d" + - name: epr-22849.ic27 + description: Japan + size: 2097152 + crc32: "121e009c" - name: f355dlx.zip system: sega-naomi required: false category: bios_zip note: "Ferrari F355 Challenge deluxe. Required by f355." - source_ref: "source core/hw/naomi/naomi_roms.cpp:56-70, source core/hw/naomi/naomi_roms.cpp:1645" + source_ref: "source core/hw/naomi/naomi_roms.cpp:57-71, source core/hw/naomi/naomi_roms.cpp:1797" contents: - - name: epr-21862.ic27 - description: Japan - size: 2097152 - - name: epr-21863.ic27 - description: USA - size: 2097152 - name: epr-21864.ic27 description: Export size: 2097152 + crc32: "12ed7c66" + - name: epr-21863.ic27 + description: USA + size: 2097152 + crc32: "0615a4d1" + - name: epr-21862.ic27 + description: Japan + size: 2097152 + crc32: "1f630716" - name: hod2bios.zip system: sega-naomi required: false category: bios_zip note: "House of the Dead 2. Required by hotd2, hotd2o, hotd2e and hotd2p." - source_ref: "source core/hw/naomi/naomi_roms.cpp:72-82, source core/hw/naomi/naomi_roms.cpp:2003, 2042, 2081, 2120" + source_ref: "source core/hw/naomi/naomi_roms.cpp:72-82, source core/hw/naomi/naomi_roms.cpp:2170, 2209, 2248, 2287" contents: - - name: epr-21329.ic27 - description: Japan - size: 2097152 - - name: epr-21330.ic27 - description: USA - size: 2097152 - name: epr-21331.ic27 description: Export size: 2097152 + crc32: "065f8500" + - name: epr-21330.ic27 + description: USA + size: 2097152 + crc32: "9e3bfa1b" + - name: epr-21329.ic27 + description: Japan + size: 2097152 + crc32: "d99e5b9b" # ------------------------------------------------------- # Sega NAOMI 2 @@ -210,25 +250,48 @@ files: required: false min_size: 2097152 validation: [size] - note: "Flat boot ROM for the NAOMI 2 platform." - source_ref: "source core/hw/holly/sb_mem.cpp:35-36, 269" + note: "Flat boot ROM for the NAOMI 2 platform. Every NAOMI 2 game names naomi2 in its bios field, so naomi2.zip is still required and replaces it." + source_ref: "source core/hw/flashrom/nvmem.cpp:43-44, 256-272" - name: naomi2.zip system: sega-naomi2 required: true category: bios_zip - note: "System BIOS archive. All 43 NAOMI 2 game entries name it and abort without it." - source_ref: "source core/hw/naomi/naomi_roms.cpp:166-172, source core/hw/naomi/naomi_cart.cpp:646-657" + note: "System BIOS archive. All 45 NAOMI 2 game entries name it and abort without it." + source_ref: "source core/hw/naomi/naomi_roms.cpp:142-162, source core/hw/naomi/naomi_cart.cpp:785-806" contents: - name: epr-23605c.ic27 description: Japan size: 2097152 + crc32: "297ea6ed" + - name: epr-23605b.ic27 + description: Japan + size: 2097152 + crc32: "3a3242d4" - name: epr-23607c.ic27 description: USA size: 2097152 + crc32: "750e254b" + - name: epr-23607b.ic27 + description: USA + size: 2097152 + crc32: "f308c5e9" - name: epr-23608c.ic27 description: Export size: 2097152 + crc32: "6ef1dd8e" + - name: epr-23608b.ic27 + description: Export + size: 2097152 + crc32: "a554b1e3" + - name: epr-23609b.ic27 + description: Korea + size: 2097152 + crc32: "99e3751f" + - name: epr-23605c_multi.ic27 + description: "Multi-region, listed for the Korea region" + size: 2097152 + crc32: "353fdbcd" # ------------------------------------------------------- # Sammy Atomiswave @@ -238,11 +301,32 @@ files: required: true category: bios_zip note: "System BIOS archive. All 34 Atomiswave game entries name it and abort without it." - source_ref: "source core/hw/naomi/naomi_roms.cpp:38-45, source core/hw/naomi/naomi_cart.cpp:194-208" + source_ref: "source core/hw/naomi/naomi_roms.cpp:38-45, source core/hw/naomi/naomi_cart.cpp:190-206" contents: - name: bios0.ic23 size: 131072 + # ------------------------------------------------------- + # Sega System SP + # ------------------------------------------------------- + - name: segasp.zip + system: sega-systemsp + required: true + category: bios_zip + note: "System BIOS archive. All 26 System SP game entries name it and abort without it. The USA and Export regions also take their default motherboard EEPROM from it." + source_ref: "source core/hw/naomi/naomi_roms.cpp:163-178, source core/hw/naomi/naomi_cart.cpp:124-137, source core/hw/naomi/naomi_cart.cpp:785-806" + contents: + - name: epr-24328a.ic50 + description: "Boot ROM 2.01, all regions" + size: 2097152 + crc32: "03ec3805" + - name: mb_eeprom_us.ic54s + description: USA + crc32: "4186d7ab" + - name: mb_eeprom_exp.ic54s + description: Export + crc32: "947ddfad" + # ------------------------------------------------------- # Input # ------------------------------------------------------- @@ -250,7 +334,7 @@ files: required: false category: game_data note: "SDL controller mapping database, read from the data directory then the config directory. Not part of the release archive. SDL built-in mappings are used when absent." - source_ref: "source core/sdl/sdl.cpp:183-191" + source_ref: "source core/sdl/sdl.cpp:185-191" platform_details: dreamcast: @@ -258,14 +342,14 @@ platform_details: flash_size: 131072 ram_size: 16777216 hle_available: true - source_ref: "core/emulator.cpp:436-442" + source_ref: "core/emulator.cpp:368-374" naomi: bios_size: 2097152 sram_size: 32768 ram_size: 33554432 hle_available: false - source_ref: "core/emulator.cpp:443-449" + source_ref: "core/emulator.cpp:375-381" naomi2: bios_size: 2097152 @@ -273,11 +357,18 @@ platform_details: ram_size: 33554432 eram_size: 33554432 hle_available: false - source_ref: "core/emulator.cpp:450-458" + source_ref: "core/emulator.cpp:382-389" atomiswave: bios_size: 131072 sram_size: 131072 ram_size: 16777216 hle_available: false - source_ref: "core/emulator.cpp:459-465" + source_ref: "core/emulator.cpp:390-396" + + systemsp: + bios_size: 2097152 + sram_size: 131072 + ram_size: 33554432 + hle_available: false + source_ref: "core/emulator.cpp:397-403" diff --git a/emulators/flycast.yml b/emulators/flycast.yml index 0417b266..b2507a1c 100644 --- a/emulators/flycast.yml +++ b/emulators/flycast.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/flyinghead/flycast" logo: "https://raw.githubusercontent.com/flyinghead/flycast/master/shell/linux/flycast.png" profiled_date: "2026-10-21" -source_commit: "34ad8c8262c82db237a8b9cee0d8046d9cdd6f78" +source_commit: "6d81b998169b916ad7d7d6f403f7dc2c18e2aea5" core_version: "Git" display_name: "Sega - Dreamcast/Naomi (Flycast)" cores: @@ -41,7 +41,7 @@ notes: | System SP) load MAME-format BIOS archives. The libretro port appends "dc/" to the system directory - (shell/libretro/libretro.cpp:2249-2250). All files below are relative to + (shell/libretro/libretro.cpp:2252-2253). All files below are relative to system_dir/dc/. The standalone emulator looks for each file in the BIOS paths the user diff --git a/emulators/flycast2021le.yml b/emulators/flycast2021le.yml index f1515530..a2f9a8f8 100644 --- a/emulators/flycast2021le.yml +++ b/emulators/flycast2021le.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/libretro/parallel-dc" profiled_date: "2026-10-22" source_commit: "bf93aece5db7050667075a1107ab380856b44a23" upstream_commit: "4c293f306bc16a265c2d768af5d0cea138426054" +pin_frozen: "AmberELEC, the only platform that ships it, builds this revision (AmberELEC packages/games/libretro/flycast2021le/package.mk:5). Later commits are not part of that build." core_version: "0.1" display_name: "Sega - Dreamcast/Naomi (Flycast 2021 LE)" cores: diff --git a/emulators/freej2me.yml b/emulators/freej2me.yml index 7ffa0868..9300db0b 100644 --- a/emulators/freej2me.yml +++ b/emulators/freej2me.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/hex007/freej2me" upstream: "https://github.com/hex007/freej2me" profiled_date: "2026-03-23" -source_commit: "fae9304b85ac1c61d0117f6c8efe528612388278" +source_commit: "eb4ac87e9a0b212ba701691eb67ee4892b2b1173" core_version: "GIT" display_name: "Mobile - J2ME (FreeJ2ME)" cores: @@ -26,5 +26,5 @@ files: description: "FreeJ2ME libretro Java application" required: true installed_on: [retrobat, rocknix] - source_ref: "src/libretro/freej2me_libretro.c:483-486 (GET_SYSTEM_DIRECTORY + fill_pathname_join + java -jar)" + source_ref: "src/libretro/freej2me_libretro.c:487-490 (GET_SYSTEM_DIRECTORY + fill_pathname_join + java -jar)" note: "Not a BIOS dump. Java emulator loaded by the native core at startup via execvp('java', '-jar', path). Built from source via 'ant'. Must be in the system directory root. ROCKNIX builds the core and the jar from freej2me-plus 1.52, which keeps the freej2me-lr.jar name, and copies the jar into its BIOS folder before each launch when it is missing." diff --git a/emulators/freej2me_plus.yml b/emulators/freej2me_plus.yml index cbdf4fa0..85353567 100644 --- a/emulators/freej2me_plus.yml +++ b/emulators/freej2me_plus.yml @@ -4,7 +4,7 @@ core_classification: enhanced_fork source: "https://github.com/TASEmulators/freej2me-plus" upstream: "https://github.com/hex007/freej2me" profiled_date: "2026-10-04" -source_commit: "68069d79aa6ed106eb788a640a8294a0db55fdcd" +source_commit: "3933e75ef927a95eab9f5e065f0b76dabf336069" upstream_commit: "8b9bc8a19baf26e3d92f88934a64a32f1cbc2795" core_version: "1.53" display_name: "Mobile - J2ME (FreeJ2ME-Plus)" @@ -26,10 +26,10 @@ notes: | the host PATH, and the start failure message asks for Java 6 or newer. The jar is built by ant from build.xml, which writes the libretro variant as freej2me_plus-lr.jar. - ref: src/libretro/freej2me_libretro.c:38-45, - src/libretro/freej2me_libretro.c:859-888, - src/libretro/freej2me_libretro.c:1556-1582, - src/libretro/freej2me_libretro.c:1679-1688, + ref: src/libretro/freej2me_libretro.c:39-46, + src/libretro/freej2me_libretro.c:875-904, + src/libretro/freej2me_libretro.c:1567-1593, + src/libretro/freej2me_libretro.c:1690-1699, src/libretro/freej2me_libretro.h:80, build.xml:86-99 @@ -37,8 +37,8 @@ notes: | SYSTEM_NOT_FOUND message and returns from retro_init before any process is created, so nothing loads. The message text still names freej2me-lr.jar, the file the original core opens. This core opens freej2me_plus-lr.jar. - ref: src/libretro/freej2me_libretro.c:339-346, - src/libretro/freej2me_libretro.c:866-872, + ref: src/libretro/freej2me_libretro.c:340-347, + src/libretro/freej2me_libretro.c:867-873, src/libretro/freej2me_libretro.h:73-79 Every relative path the jar opens resolves against the system directory, @@ -54,7 +54,7 @@ notes: | src/org/recompile/freej2me/Config.java:186-206, src/org/recompile/mobile/Mobile.java:121-123, src/org/recompile/mobile/Mobile.java:135, - src/libretro/freej2me_libretro.c:926-934, + src/libretro/freej2me_libretro.c:937-945, src/org/recompile/freej2me/Libretro.java:201-205, src/javax/microedition/rms/RecordStore.java:111 @@ -66,13 +66,13 @@ notes: | freej2me_system/customFont/. Off, the AWT SansSerif, Monospaced and Dialog faces are used. Both directories are created with a placeholder file when missing, and neither file has a fixed name. - ref: src/libretro/freej2me_libretro.c:464-469, - src/libretro/freej2me_libretro.c:480-485, + ref: src/libretro/freej2me_libretro.c:465-470, + src/libretro/freej2me_libretro.c:481-486, src/org/recompile/freej2me/Libretro.java:240, src/org/recompile/freej2me/Libretro.java:254, src/org/recompile/mobile/Mobile.java:1056-1064, src/javax/microedition/media/Manager.java:55, - src/javax/microedition/media/Manager.java:328-351, + src/javax/microedition/media/Manager.java:329-352, src/org/recompile/mobile/PlatformFont.java:63, src/org/recompile/mobile/PlatformFont.java:133-154 @@ -84,7 +84,7 @@ files: validation: [existence] description: "FreeJ2ME-Plus libretro Java application" note: "Java program the native core launches with java -jar from the system directory root. Built by ant from build.xml at the pinned revision. The code reads no size and no hash." - source_ref: "source src/libretro/freej2me_libretro.c:38-45 (freej2meapp), source src/libretro/freej2me_libretro.c:859-875 (GET_SYSTEM_DIRECTORY, freej2me_present, SYSTEM_NOT_FOUND_MSG), source src/libretro/freej2me_libretro.c:339-346 (access F_OK), upstream src/libretro/freej2me_libretro.c:877-888 (java -jar argv), source build.xml:86-99 (destfile)" + source_ref: "source src/libretro/freej2me_libretro.c:39-46 (freej2meapp), source src/libretro/freej2me_libretro.c:860-876 (GET_SYSTEM_DIRECTORY, freej2me_present, SYSTEM_NOT_FOUND_MSG), source src/libretro/freej2me_libretro.c:340-347 (access F_OK), upstream src/libretro/freej2me_libretro.c:893-904 (java -jar argv), source build.xml:86-99 (destfile)" - name: ".sf2" system: j2me @@ -94,7 +94,7 @@ files: category: game_data description: "MIDI soundbank for J2ME audio" note: "First .sf2 or .gm in the directory listing, loaded through MidiSystem.getSoundbank when the freej2me_midifont option is on. A rejected file is logged and the JVM default soundbank stays." - source_ref: "source src/javax/microedition/media/Manager.java:55, source src/javax/microedition/media/Manager.java:328-351, source src/org/recompile/mobile/Mobile.java:1056-1058" + source_ref: "source src/javax/microedition/media/Manager.java:55, source src/javax/microedition/media/Manager.java:329-352, source src/org/recompile/mobile/Mobile.java:1056-1058" - name: ".ttf" system: j2me diff --git a/emulators/frotz.yml b/emulators/frotz.yml index fc5db1ab..f9b6cdf7 100644 --- a/emulators/frotz.yml +++ b/emulators/frotz.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://gitlab.com/DavidGriffith/frotz" upstream: "https://gitlab.com/DavidGriffith/frotz" profiled_date: "2026-10-17" -source_commit: "2f17d64f23f3d6e68cd676d35c9d1789e17bc9fc" +source_commit: "042d7bcadc1e2a8090cf737c841d8b7fc14b6eff" core_version: "2.55pre" display_name: "Infocom Z-Machine (SDL Frotz)" cores: @@ -19,15 +19,15 @@ notes: | sf_initfonts() builds the text and fixed-width fonts from the bitmap compiled into sf_deffont.c (ref: src/sdl/sf_deffont.c:22) and the - character graphics font from SF_font3 (ref: src/sdl/sf_fonts.c:979-989). + character graphics font from SF_font3 (ref: src/sdl/sf_fonts.c:990-1000). TrueType fonts are loaded only when the config file names them under - [Fonts] (ref: src/sdl/sf_resource.c:402-413), and a font that fails to - load is reported and skipped (ref: src/sdl/sf_fonts.c:959-973). No + [Fonts] (ref: src/sdl/sf_resource.c:401-412), and a font that fails to + load is reported and skipped (ref: src/sdl/sf_fonts.c:970-984). No default font path exists. Pictures and sounds come from the story's Blorb data or from loose resource files under the [Resources] Dir setting, "./" by default - (ref: src/sdl/sf_resource.c:75, 415). Both belong to the game. + (ref: src/sdl/sf_resource.c:74, 415). Both belong to the game. exclusion_note: "fonts compiled into the binary, external TrueType fonts only when the user config names them" files: [] diff --git a/emulators/gam4980.yml b/emulators/gam4980.yml index 2a4cada6..a0ced2aa 100644 --- a/emulators/gam4980.yml +++ b/emulators/gam4980.yml @@ -5,6 +5,7 @@ source: "https://github.com/ThisBoringWorld/gam4980" upstream: "https://codeberg.org/iyzsong/gam4980" profiled_date: "2026-03-23" source_commit: "eeaa531b55e7127ab4b5e0bdc5ceba686df59c6a" +upstream_commit: "32c531d3e7159081afd8dee72e8266153821095d" core_version: "0.2" display_name: "GAM4980" cores: diff --git a/emulators/gambatte.yml b/emulators/gambatte.yml index bc144cc4..e1ff8f20 100644 --- a/emulators/gambatte.yml +++ b/emulators/gambatte.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/gambatte-libretro" upstream: "https://github.com/sinamas/gambatte" profiled_date: "2026-03-23" -source_commit: "d9d6cd06382d1ced30de34d56d3609452323dab1" +source_commit: "7809bb68ee96c3e6c74e9d9c4c8bb09aa7c6801d" core_version: "v0.5.0" display_name: "Nintendo - Game Boy / Color (Gambatte)" cores: diff --git a/emulators/gametank.yml b/emulators/gametank.yml index 97799476..7479a732 100644 --- a/emulators/gametank.yml +++ b/emulators/gametank.yml @@ -5,7 +5,7 @@ source: "https://github.com/Sundownersport/gametank-libretro" upstream: "https://github.com/clydeshaffer/GameTankEmulator" profiled_date: "2026-10-20" source_commit: "1a6f2608ae302d613ac17ae8584c7239ae47044b" -upstream_commit: "9896544460d5bb7dd89c2d2bc0f5c97a6f31d2e0" +upstream_commit: "be32deab74b7778647273fa5616d1ea92e3e1267" core_version: "1.0.1" display_name: "Clydeware - GameTank (GameTank)" cores: diff --git a/emulators/gba-emu.yml b/emulators/gba-emu.yml index 996f7659..dda29ecd 100644 --- a/emulators/gba-emu.yml +++ b/emulators/gba-emu.yml @@ -5,7 +5,7 @@ source: "https://github.com/Rakashazi/emu-ex-plus-alpha" upstream: "https://github.com/visualboyadvance-m/visualboyadvance-m" profiled_date: "2026-08-11" source_commit: "1c12fac5ce49badaadff2e2f210dcc30b89f4943" -upstream_commit: "fbd043dea0920a2356c44e1458a160455403c640" +upstream_commit: "8124d84a655e5261bee5eeb9f43c18630ec58a61" core_version: "1.5.85" display_name: "Nintendo - Game Boy Advance (GBA.emu)" mode: standalone @@ -37,7 +37,7 @@ notes: | (GBA.emu/src/core/gba/gba.cpp:3758-3778). Nothing else about the file is examined: CPUIsGBABios, the extension test upstream passes to utilLoad, has no caller here (GBA.emu/src/core/gba/gba.cpp:1655-1675, upstream - src/core/gba/gba.cpp:4975-4986). + src/core/gba/gba.cpp:5165-5176). Without a file the app runs on the built-in myROM stub copied into the BIOS area (GBA.emu/src/core/gba/gba.cpp:131-305,3776-3778) and on the service call diff --git a/emulators/gearboy.yml b/emulators/gearboy.yml index 82dad098..5b36121d 100644 --- a/emulators/gearboy.yml +++ b/emulators/gearboy.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/drhelius/Gearboy" upstream: "https://github.com/drhelius/Gearboy" profiled_date: "2026-03-23" -source_commit: "214b84ed64cefc41071197cd52863deb0658a64d" +source_commit: "8231b17f9c9007732977cd4b286eee80957e3414" core_version: "3.4.1" display_name: "Nintendo - Game Boy / Color (Gearboy)" cores: @@ -27,7 +27,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "platforms/libretro/libretro.cpp:964, platforms/libretro/libretro.cpp:408, platforms/libretro/libretro.cpp:408" + source_ref: "platforms/libretro/libretro.cpp:1043, platforms/libretro/libretro.cpp:474, platforms/libretro/libretro.cpp:474" - name: cgb_boot.bin description: Game Boy Color bootrom @@ -35,4 +35,4 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "platforms/libretro/libretro.cpp:965, platforms/libretro/libretro.cpp:409, platforms/libretro/libretro.cpp:409" + source_ref: "platforms/libretro/libretro.cpp:1044, platforms/libretro/libretro.cpp:475, platforms/libretro/libretro.cpp:475" diff --git a/emulators/gearcoleco.yml b/emulators/gearcoleco.yml index 019a9e39..d9bc7271 100644 --- a/emulators/gearcoleco.yml +++ b/emulators/gearcoleco.yml @@ -4,8 +4,8 @@ core_classification: official_port source: "https://github.com/drhelius/Gearcoleco" upstream: "https://github.com/drhelius/Gearcoleco" profiled_date: "2026-09-17" -source_commit: "da48b1a3d4fcdc23c505f0bba68dd8ed36b489b1" -core_version: "1.7.0-7-g8d32d24" +source_commit: "23d0ec288cbe595c420001dd347560c29efa9937" +core_version: "1.7.4-24-g23d0ec2" display_name: "Coleco - ColecoVision / ADAM (Gearcoleco)" cores: - gearcoleco @@ -16,39 +16,39 @@ systems: notes: | ColecoVision and Coleco ADAM emulator by Ignacio Sanchez (drhelius). The libretro port lives in the same repository. Three firmware roles are - declared in kAdamFirmwareMetadata (src/Adam.cpp:26-42): OS-7, EOS and + declared in kAdamFirmwareMetadata (src/Adam.cpp:26-40): OS-7, EOS and SmartWriter, each with a size, a CRC32 and its accepted file names. - find_firmware() (platforms/libretro/libretro.cpp:772-833) walks the + find_firmware() (platforms/libretro/libretro.cpp:779-840) walks the frontend system directory and then its gearcoleco subdirectory - (platforms/libretro/libretro.cpp:786), trying every accepted name in each. A file whose size - differs from the role's size is skipped with a warning (platforms/libretro/libretro.cpp:805-810). + (platforms/libretro/libretro.cpp:793), trying every accepted name in each. A file whose size + differs from the role's size is skipped with a warning (platforms/libretro/libretro.cpp:812-817). Every candidate that passes is compared to the first one found: two valid-sized images with different bytes are an ambiguous role and the load - fails (platforms/libretro/libretro.cpp:819-826). CRC32 is computed after the search and only - logged when it differs from the table (platforms/libretro/libretro.cpp:866-869, 917-928). + fails (platforms/libretro/libretro.cpp:826-833). CRC32 is computed after the search and only + logged when it differs from the table (platforms/libretro/libretro.cpp:873-876, 924-935). - The machine is chosen per load (platforms/libretro/libretro.cpp:2386-2388): .ddp, .dsk, a ZIP + The machine is chosen per load (platforms/libretro/libretro.cpp:2441-2443): .ddp, .dsk, a ZIP holding an ADAM image, an .m3u playlist, no content at all, or a cartridge with the core option gearcoleco_cartridge_hardware set to ADAM start the ADAM, and any other cartridge starts the ColecoVision. The "adam" subsystem - (platforms/libretro/libretro.cpp:528-536) takes a cartridge, two disks and two data packs. + (platforms/libretro/libretro.cpp:535-543) takes a cartridge, two disks and two data packs. - ColecoVision: load_colecovision_firmware() (platforms/libretro/libretro.cpp:851-878) needs OS-7 - and retro_load_game() returns false without it (platforms/libretro/libretro.cpp:2398-2402). - It runs again on retro_reset() (platforms/libretro/libretro.cpp:2203-2204). The image goes + ColecoVision: load_colecovision_firmware() (platforms/libretro/libretro.cpp:858-885) needs OS-7 + and retro_load_game() returns false without it (platforms/libretro/libretro.cpp:2453-2457). + It runs again on retro_reset() (platforms/libretro/libretro.cpp:2258-2259). The image goes through Memory::LoadBiosFromBuffer() (src/Memory.cpp:310-319) and byte 0x69 is patched on reset, 0x32 when the cartridge is PAL and 0x3C otherwise (src/Memory.cpp:246-249). The ADAM always gets 0x3C (src/Memory.cpp:221). - ADAM: load_adam_firmware() (platforms/libretro/libretro.cpp:880-941) needs all three roles and - every ADAM entry point returns false when one is missing (libretro.cpp: - 2372-2373, 2429-2433, 2446-2447, 2530-2534). Adam::LoadFirmware() - (src/Adam.cpp:168-190) copies the three images, IsFirmwareReady() - (src/Adam.cpp:139-148) gates StartAdam() (src/GearcolecoCore.cpp:410-415). + ADAM: load_adam_firmware() (platforms/libretro/libretro.cpp:887-948) needs all three roles and + every ADAM entry point returns false when one is missing (platforms/libretro/libretro.cpp: + 2427-2428, 2484-2488, 2501-2502, 2585-2589). Adam::LoadFirmware() + (src/Adam.cpp:166-188) copies the three images, IsFirmwareReady() + (src/Adam.cpp:137-146) gates StartAdam() (src/GearcolecoCore.cpp:414-419). The MIOC maps SmartWriter over the lower 32 KiB with EOS replacing its last 8 KiB bank when the control latch selects it, and OS-7 over the first - 8 KiB in cartridge mode (src/Adam.cpp:531-555). + 8 KiB in cartridge mode (src/Adam.cpp:513-537). Save RAM, save states and IPS patches are read next to the content or in the frontend save directory. They are state the core writes, not files a @@ -62,9 +62,8 @@ files: required: true size: 8192 crc32: "3aa93ef3" - sha1: "45bedc4cbdeac66c7df59e9e599195c778d86a92" validation: [size, crc32] - source_ref: "platforms/libretro/libretro.cpp:772-833 (find_firmware), platforms/libretro/libretro.cpp:851-878 (load_colecovision_firmware), platforms/libretro/libretro.cpp:2398-2402, platforms/libretro/libretro.cpp:2203-2204, src/Adam.cpp:28-32, src/Adam.h:53, src/Memory.cpp:310-319, src/Memory.cpp:246-249" + source_ref: "platforms/libretro/libretro.cpp:779-840 (find_firmware), platforms/libretro/libretro.cpp:858-885 (load_colecovision_firmware), platforms/libretro/libretro.cpp:2453-2457, platforms/libretro/libretro.cpp:2258-2259, src/Adam.cpp:28-31, src/Adam.h:52, src/Memory.cpp:310-319, src/Memory.cpp:246-249" note: > Loaded for both machines. Any 8192-byte image is accepted, and a CRC32 other than 3aa93ef3 logs "Unknown OS-7 revision" and runs. PAL timing @@ -77,7 +76,7 @@ files: size: 8192 crc32: "05a37a34" validation: [size, crc32] - source_ref: "platforms/libretro/libretro.cpp:880-941 (load_adam_firmware), platforms/libretro/libretro.cpp:2371-2372, platforms/libretro/libretro.cpp:2428-2432, platforms/libretro/libretro.cpp:2445-2446, platforms/libretro/libretro.cpp:2529-2533, src/Adam.cpp:33-36, src/Adam.h:54, src/Adam.cpp:139-148, src/Adam.cpp:168-190, src/GearcolecoCore.cpp:410-415, src/Adam.cpp:537-540" + source_ref: "platforms/libretro/libretro.cpp:887-948 (load_adam_firmware), platforms/libretro/libretro.cpp:2426-2427, platforms/libretro/libretro.cpp:2483-2487, platforms/libretro/libretro.cpp:2500-2501, platforms/libretro/libretro.cpp:2584-2588, src/Adam.cpp:32-35, src/Adam.h:53, src/Adam.cpp:137-146, src/Adam.cpp:166-188, src/GearcolecoCore.cpp:414-419, src/Adam.cpp:519-522" note: > The 8 KiB EOS bank, the first half of the 16 KiB u22 chip. A CRC32 other than 05a37a34 logs "Unknown EOS revision" and runs. Only the ADAM @@ -90,9 +89,8 @@ files: required: true size: 32768 crc32: "58d86a2a" - sha1: "d4aec4efe1431e56fe52d83baf9118542c525255" validation: [size, crc32] - source_ref: "platforms/libretro/libretro.cpp:880-941 (load_adam_firmware), platforms/libretro/libretro.cpp:2371-2372, platforms/libretro/libretro.cpp:2428-2432, platforms/libretro/libretro.cpp:2445-2446, platforms/libretro/libretro.cpp:2529-2533, src/Adam.cpp:37-41, src/Adam.h:55, src/Adam.cpp:139-148, src/Adam.cpp:168-190, src/GearcolecoCore.cpp:410-415, src/Adam.cpp:531-540" + source_ref: "platforms/libretro/libretro.cpp:887-948 (load_adam_firmware), platforms/libretro/libretro.cpp:2426-2427, platforms/libretro/libretro.cpp:2483-2487, platforms/libretro/libretro.cpp:2500-2501, platforms/libretro/libretro.cpp:2584-2588, src/Adam.cpp:36-39, src/Adam.h:54, src/Adam.cpp:137-146, src/Adam.cpp:166-188, src/GearcolecoCore.cpp:414-419, src/Adam.cpp:513-522" note: > A CRC32 other than 58d86a2a logs "Unknown SmartWriter revision" and runs. Only the ADAM needs it: ColecoVision cartridges load without it. diff --git a/emulators/geargrafx.yml b/emulators/geargrafx.yml index 717a372f..a5425a43 100644 --- a/emulators/geargrafx.yml +++ b/emulators/geargrafx.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/drhelius/Geargrafx" upstream: "https://github.com/drhelius/Geargrafx" profiled_date: "2026-10-04" -source_commit: "d0307bfbe4aebb67e1969502b6ccec752fd04b1d" +source_commit: "57c257dda25f441fff3c63a63bbc4ba7cbb713e3" core_version: "1.8.1" display_name: "NEC - PC Engine / SuperGrafx / CD (Geargrafx)" cores: @@ -20,63 +20,63 @@ notes: | Ignacio Sanchez (drhelius). HuCard games run without any external file. CD-ROM content (cue, chd, mmi) needs a System Card image from the frontend - system directory. load_bios() in platforms/libretro/libretro.cpp:709-750 + system directory. load_bios() in platforms/libretro/libretro.cpp:721-762 picks the file name from the core option geargrafx_cdrom_bios - (platforms/libretro/libretro.cpp:1568-1591): System Card 1 loads + (platforms/libretro/libretro.cpp:1605-1628): System Card 1 loads syscard1.pce, System Card 2 loads syscard2.pce, System Card 3 (the default) and Force Game Express load syscard3.pce. The older values Auto and Game Express are still accepted and map to the same. The path is - "{system_directory}/{name}" (platforms/libretro/libretro.cpp:736). When the + "{system_directory}/{name}" (platforms/libretro/libretro.cpp:748). When the card is missing the core posts "CD-ROM BIOS not found" and continues - (platforms/libretro/libretro.cpp:737-746). gexpress.pce is then always - attempted from the same directory (platforms/libretro/libretro.cpp:748-749). + (platforms/libretro/libretro.cpp:749-758). gexpress.pce is then always + attempted from the same directory (platforms/libretro/libretro.cpp:760-761). load_bios() runs from retro_load_game() for CD content only - (platforms/libretro/libretro.cpp:518-519) and again on retro_reset() when a - CD is loaded (platforms/libretro/libretro.cpp:355-356). With the libretro + (platforms/libretro/libretro.cpp:520-521) and again on retro_reset() when a + CD is loaded (platforms/libretro/libretro.cpp:357-358). With the libretro VFS the file goes through load_bios_file() into LoadBiosFromBuffer(), - otherwise through Media::LoadBios() (platforms/libretro/libretro.cpp:672-707, - src/media.cpp:448-491). + otherwise through Media::LoadBios() (platforms/libretro/libretro.cpp:684-719, + src/media.cpp:457-500). - Media::LoadBiosData() (src/media.cpp:662-705) strips a 512-byte header when + Media::LoadBiosData() (src/media.cpp:671-714) strips a 512-byte header when the size is the expected size plus 512, then rejects any image whose size is not GG_BIOS_SYSCARD_SIZE (0x40000) or GG_BIOS_GAME_EXPRESS_SIZE (0x8000) - (src/defines.h:53-54). CRC32 is computed over the accepted image. - GatherBIOSInfoFromDB() (src/media.cpp:1027-1061) looks the CRC up in + (src/defines.h:51-52). CRC32 is computed over the accepted image. + GatherBIOSInfoFromDB() (src/media.cpp:1052-1086) looks the CRC up in k_game_database entries flagged GG_GAMEDB_BIOS_SYSCARD or GG_GAMEDB_BIOS_GAME_EXPRESS (src/game_db.h:48-56). An unknown CRC marks the image "Unknown" and invalid but it is still used. For CD content the ROM banks map onto the System Card buffer, or onto the Game Express buffer when the disc is a Game Express title - (src/media.cpp:1094-1103). A Game Express disc is detected by its CRC in - game_db.h (GG_GAMEDB_GAME_EXPRESS, src/media.cpp:993-997), named by the - card field of an MMI image (src/media.cpp:821-823) or forced by the option - (src/media.cpp:835-839). With no card loaded the buffer is zeros and the CD + (src/media.cpp:1119-1128). A Game Express disc is detected by its CRC in + game_db.h (GG_GAMEDB_GAME_EXPRESS, src/media.cpp:1018-1022), named by the + card field of an MMI image (src/media.cpp:846-848) or forced by the option + (src/media.cpp:860-864). With no card loaded the buffer is zeros and the CD does not boot. Arcade Card titles are also detected from game_db.h and run on the selected System Card. MMI content is a LaserActive LD-ROM2 image. retro_load_game() also calls - load_pac_bios() for it (platforms/libretro/libretro.cpp:521-522), which + load_pac_bios() for it (platforms/libretro/libretro.cpp:523-524), which reads the NEC PAC firmware from the system directory according to the core - option geargrafx_laseractive_region (platforms/libretro/libretro.cpp:1603-1614): + option geargrafx_laseractive_region (platforms/libretro/libretro.cpp:1640-1651): Japan loads pac-n1.bin and falls back to pce-lp1.bin, US loads pac-n10.bin, Auto (the default) loads both regions - (platforms/libretro/libretro.cpp:775-797). Media::LoadPacBiosData() - (src/media.cpp:570-632) accepts 0x80000 bytes (GG_BIOS_LASERACTIVE_SIZE, - src/defines.h:55), with or without a 512-byte header, and compares the + (platforms/libretro/libretro.cpp:787-809). Media::LoadPacBiosData() + (src/media.cpp:579-641) accepts 0x80000 bytes (GG_BIOS_LASERACTIVE_SIZE, + src/defines.h:53), with or without a 512-byte header, and compares the CRC32 with the values hardcoded for the region. An unknown CRC is logged - and the image is still used. SelectPacBios() (src/media.cpp:634-660) follows + and the image is still used. SelectPacBios() (src/media.cpp:643-669) follows the option, then the regionCode of the MMI image, then whichever region is loaded. An MMI image that names no card maps the PAC firmware - (src/media.cpp:1094-1103), and one that names a card uses the System Card or + (src/media.cpp:1119-1128), and one that names a card uses the System Card or Game Express buffer. retro_load_game() fails when the firmware the MMI - image needs is not loaded (platforms/libretro/libretro.cpp:534-549). + image needs is not loaded (platforms/libretro/libretro.cpp:546-561). Backup RAM is exposed through RETRO_MEMORY_SAVE_RAM - (platforms/libretro/libretro.cpp:632-640) and saved by the frontend. A + (platforms/libretro/libretro.cpp:644-652) and saved by the frontend. A connected Memory Base 128 is persisted by the core itself as geargrafx_mb128.sav in the frontend save directory - (platforms/libretro/libretro.cpp:799-879). Both are state the core writes, + (platforms/libretro/libretro.cpp:811-891). Both are state the core writes, not files a user obtains. files: @@ -87,7 +87,7 @@ files: required: true crc32: ["6d9a73ef", "0ecea1f3", "2b5b75fe"] validation: [size] - source_ref: "platforms/libretro/libretro.cpp:714, platforms/libretro/libretro.cpp:726-731, platforms/libretro/libretro.cpp:736-746, src/media.cpp:662-705, src/defines.h:53, src/game_db.h:51-52, src/game_db.h:54" + source_ref: "platforms/libretro/libretro.cpp:726, platforms/libretro/libretro.cpp:738-743, platforms/libretro/libretro.cpp:748-758, src/media.cpp:671-714, src/defines.h:51, src/game_db.h:51-52, src/game_db.h:54" note: > Loaded for the default option value System Card 3 and for Force Game Express. game_db.h accepts three images under this name: Japan @@ -102,7 +102,7 @@ files: required: false crc32: ["52520bc6", "283b74e0", "ff2a5ec3"] validation: [size] - source_ref: "platforms/libretro/libretro.cpp:713, platforms/libretro/libretro.cpp:723-724, src/media.cpp:662-705, src/defines.h:53, src/game_db.h:49-50, src/game_db.h:53" + source_ref: "platforms/libretro/libretro.cpp:725, platforms/libretro/libretro.cpp:735-736, src/media.cpp:671-714, src/defines.h:51, src/game_db.h:49-50, src/game_db.h:53" note: > Loaded when geargrafx_cdrom_bios is System Card 2. game_db.h accepts v2.0 Japan (CRC32 52520BC6), v2.1 Japan (CRC32 283B74E0) and USA @@ -115,7 +115,7 @@ files: crc32: "3F9F95A4" required: false validation: [size] - source_ref: "platforms/libretro/libretro.cpp:712, platforms/libretro/libretro.cpp:720-721, src/media.cpp:662-705, src/defines.h:53, src/game_db.h:48" + source_ref: "platforms/libretro/libretro.cpp:724, platforms/libretro/libretro.cpp:732-733, src/media.cpp:671-714, src/defines.h:51, src/game_db.h:48" note: "Loaded when geargrafx_cdrom_bios is System Card 1." - name: "gexpress.pce" @@ -125,7 +125,7 @@ files: required: false crc32: ["51a12d90", "16aaf05a"] validation: [size] - source_ref: "platforms/libretro/libretro.cpp:715, platforms/libretro/libretro.cpp:748-749, src/media.cpp:662-705, src/media.cpp:821-823, src/media.cpp:835-839, src/media.cpp:993-997, src/defines.h:54, src/game_db.h:55-56" + source_ref: "platforms/libretro/libretro.cpp:727, platforms/libretro/libretro.cpp:760-761, src/media.cpp:671-714, src/media.cpp:846-848, src/media.cpp:860-864, src/media.cpp:1018-1022, src/defines.h:52, src/game_db.h:55-56" note: > Always attempted after the System Card, used for discs flagged GG_GAMEDB_GAME_EXPRESS in game_db.h, for MMI images whose card is @@ -143,7 +143,7 @@ files: region: [japan] required: true validation: [size] - source_ref: "platforms/libretro/libretro.cpp:507, platforms/libretro/libretro.cpp:521-522, platforms/libretro/libretro.cpp:780-784, platforms/libretro/libretro.cpp:534-549, src/media.cpp:570-632, src/defines.h:55" + source_ref: "platforms/libretro/libretro.cpp:509, platforms/libretro/libretro.cpp:523-524, platforms/libretro/libretro.cpp:792-796, platforms/libretro/libretro.cpp:546-561, src/media.cpp:579-641, src/defines.h:53" note: > Japanese PAC firmware, read for MMI content when geargrafx_laseractive_region is Auto or Japan. The Japanese slot @@ -157,7 +157,7 @@ files: region: [japan] required: false validation: [size] - source_ref: "platforms/libretro/libretro.cpp:785-789, src/media.cpp:570-632, src/defines.h:55" + source_ref: "platforms/libretro/libretro.cpp:797-801, src/media.cpp:579-641, src/defines.h:53" note: "Read only when pac-n1.bin did not load." - name: "pac-n10.bin" @@ -168,7 +168,7 @@ files: region: [north-america] required: true validation: [size] - source_ref: "platforms/libretro/libretro.cpp:507, platforms/libretro/libretro.cpp:521-522, platforms/libretro/libretro.cpp:792-796, platforms/libretro/libretro.cpp:534-549, src/media.cpp:570-632, src/defines.h:55" + source_ref: "platforms/libretro/libretro.cpp:509, platforms/libretro/libretro.cpp:523-524, platforms/libretro/libretro.cpp:804-808, platforms/libretro/libretro.cpp:546-561, src/media.cpp:579-641, src/defines.h:53" note: > US PAC firmware, read for MMI content when geargrafx_laseractive_region is Auto or US. diff --git a/emulators/gearlynx.yml b/emulators/gearlynx.yml index c84c8a2a..46be319d 100644 --- a/emulators/gearlynx.yml +++ b/emulators/gearlynx.yml @@ -3,7 +3,7 @@ type: libretro core_classification: official_port source: "https://github.com/drhelius/Gearlynx" profiled_date: "2026-10-04" -source_commit: "6a939afbca387ca615d96433928866e9d16ba2de" +source_commit: "675201c62f77b6683d7943cac2b69a23eb2ae573" core_version: "1.2.33" display_name: "Atari - Lynx (GearLynx)" cores: [gearlynx] @@ -18,10 +18,10 @@ notes: | Path is built as: system_directory + "/lynxboot.img", no subdirectory. With the libretro VFS the file is read by load_bios_file() and handed to LoadBiosFromBuffer(), otherwise Media::LoadBios() opens it - (platforms/libretro/libretro.cpp:130-168, src/media.cpp:578-620). + (platforms/libretro/libretro.cpp:130-168, src/media.cpp:583-625). - LoadBiosData in src/media.cpp:633-683 takes exactly 512 bytes - (GLYNX_BIOS_SIZE = 0x200, src/defines.h:52). If the file size is not + LoadBiosData in src/media.cpp:638-688 takes exactly 512 bytes + (GLYNX_BIOS_SIZE = 0x200, src/defines.h:50). If the file size is not 0x200, the load is rejected with BIOS_LOAD_INVALID_SIZE. After loading, bytes at offset 0x1F8 and 0x1F9 are patched (RAM/MAPCTL registers), then CRC32 is computed and compared against GLYNX_DB_BIOS_CRC (0x0D973C9D, @@ -29,7 +29,7 @@ notes: | is still marked as loaded (m_is_bios_loaded = true). No HLE fallback. If the BIOS is not loaded (IsBiosLoaded() returns - false), RunToVBlank in src/gearlynx_core.cpp:216-221 renders a static + false), RunToVBlank in src/gearlynx_core.cpp:223-228 renders a static "no bios" image and returns false, refusing to emulate. The BIOS is required for any ROM to run. Homebrew (.o, BS93 format) bypasses the normal boot sequence via PrepareForHomebrew() but still requires the @@ -44,5 +44,5 @@ files: size: 512 crc32: "0d973c9d" validation: [size, crc32] - source_ref: "platforms/libretro/libretro.cpp:170-212 (load_bootroms), src/media.cpp:633-683 (LoadBiosData), src/defines.h:52 (GLYNX_BIOS_SIZE=0x200), src/game_db.h:47 (GLYNX_DB_BIOS_CRC=0x0D973C9D), src/gearlynx_core.cpp:216-221 (no-bios guard)" + source_ref: "platforms/libretro/libretro.cpp:170-212 (load_bootroms), src/media.cpp:638-688 (LoadBiosData), src/defines.h:50 (GLYNX_BIOS_SIZE=0x200), src/game_db.h:47 (GLYNX_DB_BIOS_CRC=0x0D973C9D), src/gearlynx_core.cpp:223-228 (no-bios guard)" note: "512-byte boot ROM validated by CRC32 after load. Invalid CRC logs a warning but still works. Missing or wrong-size file blocks emulation entirely (no HLE fallback)." diff --git a/emulators/gearsystem.yml b/emulators/gearsystem.yml index 7ec19122..fc791a2d 100644 --- a/emulators/gearsystem.yml +++ b/emulators/gearsystem.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/drhelius/Gearsystem" upstream: "https://github.com/drhelius/Gearsystem" profiled_date: "2026-03-23" -source_commit: "3c86cbefe71cb7b18df54d0bc3aeedf552081da5" +source_commit: "e18e795ad3bb421a81e416c95248eae885a5e3ab" core_version: "3.2.0" display_name: "Sega - MS/GG/SG-1000 (Gearsystem)" cores: @@ -44,7 +44,7 @@ files: platform_details: mastersystem: bios_filename: "bios.sms" - source_ref: "src/Memory.cpp:267-272" + source_ref: "src/Memory.cpp:238-243" note: | Boot ROM loaded via LoadBootromSMS() -> LoadBootroom(path, false). Raw binary read, stored in m_pBootromSMS. Bank count computed as @@ -52,7 +52,7 @@ platform_details: gamegear: bios_filename: "bios.gg" - source_ref: "src/Memory.cpp:274-279" + source_ref: "src/Memory.cpp:245-250" note: | Boot ROM loaded via LoadBootromGG() -> LoadBootroom(path, true). Raw binary read, stored in m_pBootromGG. Same bank computation. @@ -61,5 +61,5 @@ platform_details: sg1000: bios_filename: null note: | - No BIOS support. src/Memory.cpp:381-384 returns false from IsBootromEnabled() + No BIOS support. src/Memory.cpp:352-355 returns false from IsBootromEnabled() when IsSG1000() or IsGameGearInSMSMode() is true. diff --git a/emulators/geartowns.yml b/emulators/geartowns.yml index b54b12c9..deb60ddd 100644 --- a/emulators/geartowns.yml +++ b/emulators/geartowns.yml @@ -3,9 +3,9 @@ type: libretro core_classification: official_port source: "https://github.com/drhelius/Geartowns" upstream: "https://github.com/drhelius/Geartowns" -profiled_date: "2026-10-17" -source_commit: "25d2025be28e9fcc319f597a516f21e0778f770b" -core_version: "0.0.6-8-g25d2025" +profiled_date: "2026-10-23" +source_commit: "d157715112589aeb7e88319b2f2b4ac4e2cafc5f" +core_version: "0.0.10" display_name: "Fujitsu - FM Towns (Geartowns)" cores: - "geartowns" @@ -16,56 +16,60 @@ notes: | FM Towns emulator by Ignacio Sanchez (drhelius). The same tree builds the desktop application and the libretro core (platforms/libretro). The core emulates the Model 1/2, 1F/2F, 10F/20F, II CX, UX, UG, HG and the Marty - (src/system/machine_profiles.h:61-75, `emulated` field). The version string + (src/system/machine_profiles.h:108-122, `emulated` field). The version string is `git describe` at build time (platforms/libretro/Makefile:369-371). retro_load_game() fails when load_bios() finds no firmware - (platforms/libretro/libretro.cpp:704-708). load_bios() searches + (platforms/libretro/libretro.cpp:736-740). load_bios() searches system/geartowns first, then the system directory itself, each time accepting first only a set made for the selected model and then any set - (platforms/libretro/libretro.cpp:798-825). Firmware::FindSources() takes + (platforms/libretro/libretro.cpp:842-869). Firmware::FindSources() takes as candidates the folder itself, every direct subfolder and every .zip in - it (src/media/firmware.cpp:286-346). Folder and zip names are free. A + it (src/media/firmware.cpp:288-348). Folder and zip names are free. A candidate counts only when the System, OS, Font and Dictionary ROMs are all present at the right size, and the CRC32 of its System ROM names the set - (src/media/firmware.cpp:375-414, src/media/firmware.h:114-123). + (src/media/firmware.cpp:377-416, src/media/firmware.h:115-124). - Six sets are known (src/media/firmware.h:114-123): fmtowns (Model 1/2), + Six sets are known (src/media/firmware.h:115-124): fmtowns (Model 1/2), freetowns (Free FM Towns Project replacement ROMs, used by the Model 1/2), fmtownsux (UX, also used by 1F/2F, 10F/20F, CX and UG), fmtmarty (Marty), fmtownshr and fmtownsftv (both used by the HG, HR preferred). On Auto the model comes from the game database and falls back to the Model 1/2 or to the first model in release order that has a set - (src/geartowns_core.cpp:1624-1649, src/geartowns_core.cpp:1691-1696). A set - made for another model still loads in the second pass, with a warning - (platforms/libretro/libretro.cpp:827-860). + (src/geartowns_core.cpp:1958-1991, src/geartowns_core.cpp:2050-2055). A + 1.44 MB floppy (2HD at 300 rpm) inserted on Auto replaces a model without a + three-mode drive by the first one in release order that has it, the HG + (src/geartowns_core.cpp:768-771, src/geartowns_core.cpp:1968-1976), which + uses the fmtownshr or fmtownsftv set. A set made for another model still + loads in the second pass, with a warning + (platforms/libretro/libretro.cpp:871-904). File names are matched without case, inside a zip only at the archive root - (src/media/firmware.cpp:614-663). Accepted names, one group per component, + (src/media/firmware.cpp:617-666). Accepted names, one group per component, are (FMT_SYS.ROM, FMT_SYS_A.ROM, FMTHR_SYS.ROM), (FMT_DOS.ROM, FMT_DOS_A.ROM), (FMT_FNT.ROM), (FMT_DIC.ROM), (FMT_F20.ROM, FMT_F20_A.ROM), (MYTOWNS.ROM, MYTOWNSUX.ROM, MYTOWNSM2.ROM, MYTOWNSFTV.ROM, MYTOWNSHR.ROM) and (MAR_EX0.ROM to MAR_EX3.ROM) (src/media/firmware.cpp:28-42). Without separate files the Marty components are cut from MROM.M36 and MROM.M37, 2 MiB each - (src/media/firmware.cpp:497-508): OS at 0 and the first three extension + (src/media/firmware.cpp:500-511): OS at 0 and the first three extension parts in M36, and the fourth extension part, 20-dot font at 0x80000, dictionary at 0x100000, font at 0x180000 and System ROM at 0x1C0000 in M37. Each component must have its exact size or it is rejected - (src/media/firmware.cpp:530-612, src/common/defines.h:47-54): System + (src/media/firmware.cpp:533-615, src/common/defines.h:48-55): System 256 KiB, OS 512 KiB, Font 256 KiB, Dictionary 512 KiB, 20-dot Font 512 KiB, Serial 32 bytes, Extension 2 MiB (four 512 KiB parts). System, OS, Font and Dictionary are required. A missing 20-dot Font or Extension is replaced by - 0xFF, a missing Serial ROM is generated (src/media/firmware.cpp:73-163, - src/media/firmware.cpp:258-261). The CRC32 of every component is looked up - in game_db.h (src/media/firmware.cpp:165-182, src/media/game_db.h:303-335), + 0xFF, a missing Serial ROM is generated (src/media/firmware.cpp:76-165, + src/media/firmware.cpp:260-263). The CRC32 of every component is looked up + in game_db.h (src/media/firmware.cpp:167-184, src/media/game_db.h:337-369), and an unknown CRC only produces a warning. The Free FM Towns set is known by System 65DC3B1F, OS 43C18E92, Font 736D9CB1 and a blank Dictionary 504BF849. The Marty slices are known by System 937311F6, OS 2BC2AF96, Extension E1A9FA72 and 20-dot Font 75660AAC. The CMOS is written by the core next to the saves - (platforms/libretro/libretro.cpp:2753-2767). It is state, not a file to + (platforms/libretro/libretro.cpp:3001-3015). It is state, not a file to obtain. files: @@ -80,7 +84,7 @@ files: - { name: "fmt_dos.rom", size: 524288, crc32: "112872ee" } - { name: "fmt_fnt.rom", size: 262144, crc32: "955c6b75" } - { name: "fmt_dic.rom", size: 524288, crc32: "b314c659" } - source_ref: "platforms/libretro/libretro.cpp:704-708, platforms/libretro/libretro.cpp:807-825, src/media/firmware.h:116, src/media/firmware.cpp:28-33, src/media/firmware.cpp:286-346, src/media/game_db.h:303-307" + source_ref: "platforms/libretro/libretro.cpp:736-740, platforms/libretro/libretro.cpp:851-869, src/media/firmware.h:117, src/media/firmware.cpp:28-33, src/media/firmware.cpp:288-348, src/media/game_db.h:337-341" note: > Set for the Model 1/2, the machine Auto falls back to. The same four files load from any subfolder of system/geartowns or from @@ -99,7 +103,7 @@ files: - { name: "fmt_fnt.rom", size: 262144, crc32: "dd6fd544" } - { name: "fmt_dic.rom", size: 524288, crc32: "82d1daa2" } - { name: "mytownsux.rom", size: 32, crc32: "5cc7e6bc" } - source_ref: "src/media/firmware.h:118-119, src/media/firmware.cpp:28-34, src/media/game_db.h:309-314" + source_ref: "src/media/firmware.h:119-120, src/media/firmware.cpp:28-34, src/media/game_db.h:343-348" note: "Set for the UX, also used by the 1F/2F, 10F/20F, CX and UG." - name: "fmtmarty.zip" @@ -111,7 +115,7 @@ files: contents: - { name: "mrom.m36", size: 2097152 } - { name: "mrom.m37", size: 2097152 } - source_ref: "src/media/firmware.h:120, src/media/firmware.cpp:497-508, src/media/game_db.h:316-320" + source_ref: "src/media/firmware.h:121, src/media/firmware.cpp:500-511, src/media/game_db.h:350-354" note: > The core checks the CRC32 of the slices it cuts from the two mask ROMs, not of the files: System 937311F6, OS 2BC2AF96, Extension @@ -130,7 +134,7 @@ files: - { name: "fmt_fnt.rom", size: 262144 } - { name: "fmt_dic.rom", size: 524288 } - { name: "mytownshr.rom", size: 32, crc32: "c52f0e89" } - source_ref: "src/media/firmware.h:121, src/media/firmware.cpp:28-34, src/media/game_db.h:322-324" + source_ref: "src/media/firmware.h:122, src/media/firmware.cpp:28-34, src/media/game_db.h:356-358" note: "First choice for the HG. The HR itself is not emulated." - name: "fmtownsftv.zip" @@ -146,5 +150,5 @@ files: - { name: "fmt_dic.rom", size: 524288 } - { name: "fmt_f20.rom", size: 524288, crc32: "9f55a20c" } - { name: "mytownsftv.rom", size: 32, crc32: "a961aae7" } - source_ref: "src/media/firmware.h:122, src/media/firmware.cpp:28-34, src/media/game_db.h:326-329" + source_ref: "src/media/firmware.h:123, src/media/firmware.cpp:28-34, src/media/game_db.h:360-363" note: "Second choice for the HG. The MF/Fresh itself is not emulated." diff --git a/emulators/genesis_plus_gx.yml b/emulators/genesis_plus_gx.yml index e6d9561b..2582044d 100644 --- a/emulators/genesis_plus_gx.yml +++ b/emulators/genesis_plus_gx.yml @@ -4,7 +4,8 @@ core_classification: community_fork source: "https://github.com/libretro/Genesis-Plus-GX" upstream: "https://github.com/ekeeke/Genesis-Plus-GX" profiled_date: "2026-03-23" -source_commit: "58c341487e5bfcf979ea68413c7987633adb0c56" +source_commit: "aa74d79634cd230f65cce4180e92688e53883d2f" +upstream_commit: "49c584764893b0505ac7f768a754f97330fa4392" core_version: "v1.7.4" display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX)" cores: diff --git a/emulators/genesis_plus_gx_expanded.yml b/emulators/genesis_plus_gx_expanded.yml index 18e54e52..e5ca0821 100644 --- a/emulators/genesis_plus_gx_expanded.yml +++ b/emulators/genesis_plus_gx_expanded.yml @@ -3,7 +3,7 @@ type: libretro core_classification: enhanced_fork source: "https://github.com/BillyTimeGames/Genesis-Plus-GX-Expanded-Rom-Size" upstream: "https://github.com/ekeeke/Genesis-Plus-GX" -profiled_date: "2026-10-20" +profiled_date: "2026-10-23" source_commit: "dea3528cc0e3f54098e1fb91e3ae7e0e5d90a590" upstream_commit: "e366ca817f5b750ad06a8e2c5976d79b3758ea0a" core_version: "v1.7.4" @@ -26,9 +26,11 @@ notes: | Fork of Genesis Plus GX branched from ekeeke's tree at e366ca8 (May 2022). Makefile.libretro builds it with MAXROMSIZE 93554432 for Sega Channel dumps and large hacks, and it adds a Paprium mapper (core/cart_hw/paprium.h). - RapidEdwin08/Genesis-Plus-GX-Expanded-Rom-Size, which Batocera builds as - genesisplusgx-expanded at 181e8f93, carries the same core/, libretro/ and - Makefile.libretro as this pin. RetroBat ships genesis_plus_gx_expanded_libretro.dll + RapidEdwin08/Genesis-Plus-GX-Expanded-Rom-Size, which Batocera 43.1 builds + as genesisplusgx-expanded at a0b5a033 + (Batocera package/batocera/emulators/retroarch/libretro/libretro-genesisplusgx-expanded/libretro-genesisplusgx-expanded.mk:7), + carries the same core/, libretro/ and Makefile.libretro as this pin, and so + does its tip 181e8f93. RetroBat ships genesis_plus_gx_expanded_libretro.dll from its own core repository, and its strings carry the same file names and the Paprium track list. diff --git a/emulators/genesis_plus_gx_wide.yml b/emulators/genesis_plus_gx_wide.yml index ae9d229b..43db7ad7 100644 --- a/emulators/genesis_plus_gx_wide.yml +++ b/emulators/genesis_plus_gx_wide.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/Genesis-Plus-GX-Wide" upstream: "https://github.com/ekeeke/Genesis-Plus-GX" profiled_date: "2026-03-23" source_commit: "b7ad005431f5f0b55e559f6d598d1ed2479bf13b" +upstream_commit: "49c584764893b0505ac7f768a754f97330fa4392" core_version: "v1.7.4" display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX Wide)" cores: diff --git a/emulators/geolith.yml b/emulators/geolith.yml index 984c0ce9..a5ff28bd 100644 --- a/emulators/geolith.yml +++ b/emulators/geolith.yml @@ -4,8 +4,8 @@ core_classification: official_port source: "https://github.com/libretro/geolith-libretro" upstream: "https://gitlab.com/jgemu/geolith" profiled_date: "2026-08-07" -source_commit: "194024931935eff2092e36fc4f8e53e62ed11097" -upstream_commit: "1bb5a84fbd87dc1f1c510cb3ff81332573e22452" +source_commit: "2dc88e3fa72ff404213a65d6eb5bb33baa687f73" +upstream_commit: "05ddef568212e7225ceec22f3ecb20b5a9b640e6" core_version: "0.4.1" display_name: "SNK - Neo Geo AES/MVS (Geolith)" cores: diff --git a/emulators/gopher2600.yml b/emulators/gopher2600.yml index 35c1af90..63b9edaa 100644 --- a/emulators/gopher2600.yml +++ b/emulators/gopher2600.yml @@ -4,7 +4,7 @@ core_classification: other source: "https://github.com/JetSetIlly/Gopher2600" upstream: "https://github.com/JetSetIlly/Gopher2600" profiled_date: "2026-08-08" -source_commit: "3b0e186983c6e13af6e2f2f42530138a10d6b31b" +source_commit: "7d59ca0ec7555d0e81ef525ecd2486ba4bb31e9e" core_version: "v0.57.0" display_name: "Atari - 2600 (Gopher2600)" cores: @@ -38,14 +38,15 @@ notes: | The demo unit is recognised by MD5 of the 256 bytes at 0x300 of the loaded image (hardware/memory/cartridge/supercharger/demounit.go:58,78). When that image carries more than 2048 bytes it holds the Schweber chip and the carousel together, otherwise the eight ROMs - are read from the directory of the loaded file (demounit_controller.go: - 178-200). A read error or a length other than 8192 logs and returns nil, and - the peripheral is left unplugged. + are read from the directory of the loaded file + (hardware/memory/cartridge/supercharger/demounit_controller.go:178-200). A + read error or a length other than 8192 logs and returns nil, and the + peripheral is left unplugged. stella.pro is Stella's cartridge properties database, read from the configuration directory (properties/properties.go:28,48-58). It is loaded by NewDebugger (debugger/debugger.go:357), which drives play as well as debug - (gopher2600.go:261,307,326), so it applies to the plain `gopher2600 ` + (gopher2600.go:261,308,327), so it applies to the plain `gopher2600 ` invocation. A missing file is logged and start-up continues. The ROM selector then falls back to the filename and no television specification is inferred from the cartridge name. @@ -63,9 +64,12 @@ notes: | directory are written by the emulator or authored by hand: preferences, debugger_imgui.ini, managerState, managerHotkeys, savekey, fa2_nvram, elf_nvram, regression, patches and setupDB. ARM map files and DWARF sources - are read from a project build tree beside the ROM. AtariVox speech calls the - festival binary as a process, with the path taken from preferences - (hardware/preferences/atarivox_preferences.go:51). + are read from a project build tree beside the ROM. AtariVox speech uses the + SpeakJet emulation compiled in, on by default + (hardware/peripherals/atarivox/atarivox.go:152-170, + hardware/preferences/atarivox_preferences.go:78-83). With it off, the + festival binary is called as a process, its path taken from preferences + (hardware/preferences/atarivox_preferences.go:59). files: - name: "Supercharger BIOS.bin" diff --git a/emulators/gopher64.yml b/emulators/gopher64.yml index a8873795..d48490f0 100644 --- a/emulators/gopher64.yml +++ b/emulators/gopher64.yml @@ -3,9 +3,9 @@ type: standalone core_classification: other source: "https://github.com/gopher64/gopher64" upstream: "https://github.com/gopher64/gopher64" -profiled_date: "2026-08-08" -source_commit: "1ab3793323ce7a7c1f491ccfb989231a09b58a0f" -core_version: "v1.1.34" +profiled_date: "2026-10-23" +source_commit: "e7bdf8b5be924576730f5cdaf3b8b209839e1bdd" +core_version: "v1.1.42" display_name: "Nintendo - Nintendo 64 (gopher64)" cores: - gopher64 @@ -50,19 +50,19 @@ notes: | retroachievements.json (src/lib.rs:209, src/retroachievements.rs:37,61), ice_config.json from the netplay server response (src/ui/netplay.rs:715-718, src/netplay.rs:419), the eeprom, sram, flash, mempak, sdcard and romsave saves - and the savestates (src/ui/storage.rs:212-232, src/savestates.rs:179,236). For + and the savestates (src/ui/storage.rs:213-233, src/savestates.rs:201,260). For a netplay launch the GUI serialises the cheats to the cache directory, passes them to a re-exec of itself through the hidden --cheats flag and deletes the - file afterwards (src/ui/gui.rs:585-595,602-617,632, src/lib.rs:141-147). + file afterwards (src/ui/gui.rs:590-600,607-622,637, src/lib.rs:141-147). portable.txt is tested for existence only, to move those three directories - beside the executable (src/ui.rs:186-200). + beside the executable (src/ui.rs:216-230). Compiled-in data: the cheat database (src/cheats.rs:31), the No-Intro Nintendo 64 export that names entries in the ROM browser - (src/ui/gui.rs:690-692), the RobotoMono face handed to SDL_ttf from memory - (src/ui/video.rs:109, src/ui/input_profile.rs:99), the parallel-rdp SPIR-V + (src/ui/gui.rs:695-697), the RobotoMono face handed to SDL_ttf from memory + (src/ui/video.rs:128, src/ui/input_profile.rs:99), the parallel-rdp SPIR-V modules (parallel-rdp/spirv.hpp and parallel-rdp/spirv_crt.hpp, used at - parallel-rdp/interface.cpp:4-5,636) and the Slint translations bundled at + parallel-rdp/interface.cpp:4-5,638) and the Slint translations bundled at build time (build.rs:11). files: [] diff --git a/emulators/hatari2014.yml b/emulators/hatari2014.yml index 5430986b..9e94a5f0 100644 --- a/emulators/hatari2014.yml +++ b/emulators/hatari2014.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/hatari" source_branch: hitari2014-mercurial upstream: "https://github.com/hatari/hatari" profiled_date: "2026-09-03" -source_commit: "3919d702b7013e8d05222345066747d4f8559c3f" +source_commit: "ab55c3ed0e620c91e7f059a6d3fbef7acf9bfca8" upstream_commit: "c1a5c88bc06e56778b6b7f8483becfd58a7da2b4" core_version: "1.8.0" display_name: "Atari - ST/STE/TT/Falcon (Hatari 2014)" @@ -24,29 +24,29 @@ notes: | carries the Mercurial history up to the 1.8.0 release commit plus the port commits started in November 2014. It builds as hatari2014 (Makefile.libretro:22, .gitlab-ci-libretro.yml:12) and reports - library_name Hatari2014, version 1.8 (libretro/libretro.c:1466-1468). + library_name Hatari2014, version 1.8 (libretro/libretro.c:1476-1478). No hatari2014 .info exists in libretro-core-info yet. Directory layout under the libretro system directory: the Hatari working - and data directories are /hatari (src/paths.c:323-324, or the - system directory itself on Vita and PS3, src/paths.c:313-319), the + and data directories are /hatari (src/paths.c:324-325, or the + system directory itself on Vita and PS3, src/paths.c:314-320), the default TOS is /tos.img, extra TOS images go in /hatari/tos, BOOT.ST in /hatari, floppy.raw and the global hatari.cfg in and /hatari. The Hatari home directory, which holds the user hatari.cfg and hatari.nvram, is - $HOME/.hatari on desktop builds (src/paths.c:40, src/paths.c:283-284), - /hatari on Wii U and Vita (src/paths.c:209-212, - src/paths.c:223-225), the system directory itself on PS3 - (src/paths.c:237-239). + $HOME/.hatari on desktop builds (src/paths.c:41, src/paths.c:284-285), + /hatari on Wii U and Vita (src/paths.c:210-213, + src/paths.c:224-226), the system directory itself on PS3 + (src/paths.c:238-240). TOS selection: retro_set_environment lists /tos.img and every entry of /hatari/tos (libretro/libretro.c:393-411). The hatari_tosimage option offers those ending in img (libretro/libretro.c:270-299) and the choice becomes RETRO_TOS (libretro/libretro.c:640-649). retro_load_game refuses content when that - path does not exist (libretro/libretro.c:1602-1607) and hmain writes it + path does not exist (libretro/libretro.c:1612-1617) and hmain writes it into szTosImageFileName after the configuration files, so hatari.cfg - cannot override it (src/main.c:905-907). TOS_LoadImage reads the file + cannot override it (src/main.c:914-916). TOS_LoadImage reads the file whole, strips the 256-byte (or 34-byte for 4.92) loader of a RAM TOS, detects EmuTOS by ETOS at offset 0x2c, and rejects an image whose version word is outside 0x100-0x4FF, whose load address is neither 0xE00000 nor @@ -56,7 +56,7 @@ notes: | patches are applied for TOS 1.00, 1.02, 1.04, 1.06, 1.62, 2.05, 2.06, 3.06, 4.00 to 4.04 and 4.92 (src/tos.c:146-220). HFile_Read also accepts .img, .rom and .tos as fallback extensions and reads the first member of - a .zip or a .gz (src/file.c:203-230, libretro/include/config.h:20), which + a .zip or a .gz (src/file.c:217-244, libretro/include/config.h:20), which only matters for a path picked in the in-core ROM dialog (libretro/gui-retro/dlgRom.c:69-76). EmuTOS is not embedded. @@ -68,8 +68,8 @@ notes: | Floppy, ACSI, IDE and GEMDOS images are content. When a .gem folder is loaded, /hatari/BOOT.ST is inserted into drive A so TOS boots - with the GEMDOS drive (libretro/libretro.c:1663-1671). Memory snapshots - for retro_serialize stay in memory (libretro/libretro.c:1768-1793), and + with the GEMDOS drive (libretro/libretro.c:1673-1681). Memory snapshots + for retro_serialize stay in memory (libretro/libretro.c:1778-1803), and hatari.sav, auto.sav, hatari.prn, hatari.wav and hatari.avi are output names under /hatari. DESKTOP.INF and NEWDESK.INF are created or rewritten inside the emulated C: directory when extended VDI is on @@ -82,7 +82,7 @@ files: required: true max_size: 1048576 validation: [size] - source_ref: "source libretro/libretro.c:393-411, source libretro/libretro.c:640-649, source libretro/libretro.c:1602-1607, source src/main.c:905-907, source src/tos.c:48-53, source src/tos.c:575-651" + source_ref: "source libretro/libretro.c:393-411, source libretro/libretro.c:640-649, source libretro/libretro.c:1612-1617, source src/main.c:914-916, source src/tos.c:48-53, source src/tos.c:575-651" note: > Any TOS 1.00 to 4.04, TOS 0.00, a RAM TOS or EmuTOS. Additional images are read from /hatari/tos and selected with the hatari_tosimage @@ -106,7 +106,7 @@ files: path: "hatari/BOOT.ST" description: "Boot floppy inserted with GEMDOS hard disk folders" required: false - source_ref: "source libretro/libretro.c:1663-1671" + source_ref: "source libretro/libretro.c:1673-1681" note: "Added as the first disk when the content is a .gem file." - name: "floppy.raw" @@ -116,7 +116,7 @@ files: has_builtin: true storage: user_provided unsourceable: "any headerless s16le stereo 44100 Hz sample the user records, with no name or version the code expects beyond the filename" - source_ref: "source libretro/floppy_sound.c:118-170, source libretro/libretro.c:844-852, source libretro/libretro.c:1379" + source_ref: "source libretro/floppy_sound.c:118-170, source libretro/libretro.c:844-852, source libretro/libretro.c:1389" note: > Read whole at retro_init. An empty or short read falls back to the synthesised click (libretro/floppy_sound.c:31-95). Played on each drive @@ -128,7 +128,7 @@ files: required: false storage: user_provided unsourceable: "user settings in Hatari's INI format, with no canonical contents" - source_ref: "source libretro/libretro.c:945-951, source src/main.c:805-831, source src/main.c:892-894, source src/configuration.c:630-633, source src/configuration.c:768-777, source src/paths.c:283-284" + source_ref: "source libretro/libretro.c:945-951, source src/main.c:814-840, source src/main.c:901-903, source src/configuration.c:630-633, source src/configuration.c:768-777, source src/paths.c:284-285" note: > Read only when the hatari_autoload_config option is on (off by default): /hatari/hatari.cfg first, then hatari.cfg in the Hatari home @@ -152,7 +152,7 @@ files: min_size: 50 validation: [size] unsourceable: "machine state the emulator writes itself at exit, with no canonical contents" - source_ref: "source src/falcon/nvram.c:63-85, source src/falcon/nvram.c:186-216, source src/falcon/nvram.c:223-226, source src/main.c:752, source src/paths.c:283-284" + source_ref: "source src/falcon/nvram.c:63-85, source src/falcon/nvram.c:186-216, source src/falcon/nvram.c:223-226, source src/main.c:761, source src/paths.c:284-285" note: > Read from the Hatari home directory at NvRam_Init. A short read keeps the built-in defaults adjusted to the monitor type. Saved back on exit. diff --git a/emulators/hatarib.yml b/emulators/hatarib.yml index c5027191..f1e39c9f 100644 --- a/emulators/hatarib.yml +++ b/emulators/hatarib.yml @@ -4,8 +4,8 @@ core_classification: community_fork source: "https://github.com/bbbradsmith/hatariB" upstream: "https://github.com/hatari/hatari" profiled_date: "2026-09-17" -source_commit: "4fb7ebdfa14d5de7df3076143f255d7d8bf0323c" -upstream_commit: "6a8e26d69fb32d61efd398dc1ad9a77122400034" +source_commit: "5f05733fc21903dce7d978bd0d7aae445ffe1185" +upstream_commit: "7dd6a196cde1b1f9a55cd09cfbecb6edcb1bb000" core_version: "1.1 unstable preview" display_name: "Atari - ST/STE/TT/Falcon (hatariB)" cores: diff --git a/emulators/higan_sfc_balanced.yml b/emulators/higan_sfc_balanced.yml index 5cab89e5..674047b7 100644 --- a/emulators/higan_sfc_balanced.yml +++ b/emulators/higan_sfc_balanced.yml @@ -28,8 +28,9 @@ exclusion_note: > notes: | Fork of higan by hex_usr (nSide v009r16, README.txt:1-4), synchronised with - higan v106r25: Emulator::Version is "106.25" (nSide/emulator/emulator.hpp:16) - and retro_get_system_info announces it as library_version under the name + higan v106r25, the release commit upstream_commit names: Emulator::Version + is "106.25" (nSide/emulator/emulator.hpp:16) and retro_get_system_info + announces it as library_version under the name "higan (Super Famicom Balanced)" (nSide/target-libretro/libretro.cpp:87-93, nSide/target-libretro/libretro-sfc.cpp:486). The balanced profile keeps a scanline-based PPU, and the accuracy profile is refused at build time diff --git a/emulators/ikemen.yml b/emulators/ikemen.yml index 8dc2bcbd..dc96fff9 100644 --- a/emulators/ikemen.yml +++ b/emulators/ikemen.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/ikemen-engine/Ikemen-GO" upstream: "https://github.com/ikemen-engine/Ikemen-GO" profiled_date: "2026-10-04" -source_commit: "e8b065f410fa9507dbddc1d6b1abc231de99f8c6" +source_commit: "ee4791bcd5e2f4bcb16ef9d584e001fb4a7eedfc" core_version: ~ display_name: "Ikemen GO" cores: [ikemen] @@ -33,16 +33,16 @@ notes: | stage stages/stage0-720.def and external/gamecontrollerdb.txt. Release packages copy chars, data, font, sound, stages and video from the Ikemen-GO-Screenpack repository next to the engine - (.github/workflows/releases.yml:585-593) and download the controller - database (.github/workflows/releases.yml:610-612). + (.github/workflows/releases.yml:588-597) and download the controller + database (.github/workflows/releases.yml:614-616). A definition file names the files it loads. Each name is searched beside the definition, beside the motif, in the working directory and in data/ - (src/common.go:641), fonts also in font/ and videos in video/. The motif + (src/common.go:646), fonts also in font/ and videos in video/. The motif names its music under sound/, which release packages ship empty. Characters and stages are found under chars/ and stages/ - (src/system.go:5364, src/system.go:5590). + (src/system.go:5376, src/system.go:5602). files: - name: "script/" @@ -53,7 +53,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:143, src/main.go:213-232" + source_ref: "src/resources/defaultConfig.ini:146, src/main.go:213-232" note: > main.go opens Config.System and panics when it is missing. main.lua requires debug, start, options and menu from the same directory. @@ -65,7 +65,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:141, src/system.go:527-538" + source_ref: "src/resources/defaultConfig.ini:144, src/system.go:533-544" - name: "IkemenCylia_96.png" path: "ikemen/external/icons/IkemenCylia_96.png" @@ -74,7 +74,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:141, src/system.go:527-538" + source_ref: "src/resources/defaultConfig.ini:144, src/system.go:533-544" - name: "IkemenCylia_48.png" path: "ikemen/external/icons/IkemenCylia_48.png" @@ -83,7 +83,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:141, src/system.go:527-538" + source_ref: "src/resources/defaultConfig.ini:144, src/system.go:533-544" - name: "shaders/" type: directory @@ -93,7 +93,7 @@ files: required: false bundled: true not_bundled_on: [batocera] - source_ref: "external/script/options.lua:1646, src/system.go:457-470" + source_ref: "external/script/options.lua:1653, src/system.go:461-474" - name: "common.air" path: "ikemen/data/common.air" @@ -102,7 +102,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:12, src/char.go:4676-4689" + source_ref: "src/resources/defaultConfig.ini:12, src/char.go:4675-4688" - name: "common.cmd" path: "ikemen/data/common.cmd" @@ -111,7 +111,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:14, src/compiler.go:8367-8380" + source_ref: "src/resources/defaultConfig.ini:14, src/compiler.go:8595-8608" - name: "common.const" path: "ikemen/data/common.const" @@ -120,7 +120,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:16, src/char.go:4338-4355" + source_ref: "src/resources/defaultConfig.ini:16, src/char.go:4337-4354" - name: "functions.zss" path: "ikemen/data/functions.zss" @@ -129,7 +129,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "action.zss" path: "ikemen/data/action.zss" @@ -138,7 +138,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "demo.zss" path: "ikemen/data/demo.zss" @@ -147,7 +147,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "dizzy.zss" path: "ikemen/data/dizzy.zss" @@ -156,7 +156,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "guardbreak.zss" path: "ikemen/data/guardbreak.zss" @@ -165,7 +165,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "score.zss" path: "ikemen/data/score.zss" @@ -174,7 +174,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "system.zss" path: "ikemen/data/system.zss" @@ -183,7 +183,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "tag.zss" path: "ikemen/data/tag.zss" @@ -192,7 +192,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "training.zss" path: "ikemen/data/training.zss" @@ -201,7 +201,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552" + source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8773-8780" - name: "common1.cns.zss" path: "ikemen/data/common1.cns.zss" @@ -210,7 +210,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/compiler.go:6929-6943, src/compiler.go:8538-8543" + source_ref: "src/compiler.go:7155-7169, src/compiler.go:8766-8771" note: > A character names its common state file in stcommon. When that file is not found, stateCompile retries with the .zss suffix, so a character @@ -223,7 +223,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:174, external/script/main.lua:648, src/script.go:4108-4111" + source_ref: "src/resources/defaultConfig.ini:177, external/script/main.lua:648, src/script.go:4122-4125" note: "loadDebugFont raises a Lua error when the font cannot be loaded." - name: "OpenSans-Bold.ttf" @@ -233,7 +233,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "font/debug.def:19, src/util_desktop.go:29-40" + source_ref: "font/debug.def:19, src/util_desktop.go:34-45" note: > When the file is not found, the same name is searched in the system font directories, and the engine panics when that fails too. @@ -255,7 +255,7 @@ files: required: false bundled: true not_bundled_on: [batocera] - source_ref: "font/default-3x5.def:21, src/font.go:412-418" + source_ref: "font/default-3x5.def:21, src/font.go:414-420" note: "LoadFntSff panics when default-3x5.def is loaded and this file is missing." - name: "system.def" @@ -265,7 +265,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:96, src/motif.go:2627-2659, src/script.go:4249-4252" + source_ref: "src/resources/defaultConfig.ini:99, src/motif.go:2627-2659, src/script.go:4263-4266" note: > Held by the Ikemen-GO-Screenpack repository and copied into release packages. main.lua calls loadMotif at startup, which raises a Lua error @@ -278,7 +278,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:21, src/fightscreen.go:85-102, src/system.go:6551-6555" + source_ref: "src/resources/defaultConfig.ini:21, src/fightscreen.go:85-102, src/system.go:6563-6567" note: > Held by the Ikemen-GO-Screenpack repository and copied into release packages. A load failure puts the match loader in its error state. @@ -324,7 +324,7 @@ files: required: true bundled: true not_bundled_on: [batocera] - source_ref: "src/motif.go:82, src/fightscreen.go:6005-6027, src/fightscreen.go:4792-4800, src/script.go:4233-4236, external/script/main.lua:1188" + source_ref: "src/motif.go:82, src/fightscreen.go:6005-6027, src/fightscreen.go:4792-4800, src/script.go:4247-4250, external/script/main.lua:1188" note: "main.lua calls loadFightScreen at startup, which raises a Lua error on a load failure." - name: "fight.sff" @@ -405,7 +405,7 @@ files: required: false bundled: true not_bundled_on: [batocera] - source_ref: "src/motif.go:64, src/motif.go:2594-2621, src/fightscreen.go:5017, src/storyboard.go:620, src/font.go:413" + source_ref: "src/motif.go:64, src/motif.go:2594-2621, src/fightscreen.go:5017, src/storyboard.go:620, src/font.go:415" note: "font/ is the default directory of every font lookup." - name: "video/" @@ -416,7 +416,7 @@ files: required: false bundled: true not_bundled_on: [batocera] - source_ref: "src/stage.go:204-212" + source_ref: "src/stage.go:238-246" note: > A background element of type video names its file in path, and video/ is the default directory of the lookup. @@ -428,7 +428,7 @@ files: required: false bundled: true not_bundled_on: [batocera] - source_ref: "src/resources/defaultConfig.ini:153, src/system.go:444-445, src/input_sdl.go:261-271" + source_ref: "src/resources/defaultConfig.ini:156, src/system.go:448-449, src/input_sdl.go:261-271" note: "A read failure is logged." - name: "chars/" @@ -439,7 +439,7 @@ files: required: false bundled: true not_bundled_on: [batocera] - source_ref: "src/system.go:5364, src/script.go:3190-3191" + source_ref: "src/system.go:5376, src/script.go:3204-3205" note: > A character path that does not resolve as given is searched under chars/. Release packages ship the Kung Fu Man characters. @@ -452,7 +452,7 @@ files: required: false bundled: true not_bundled_on: [batocera] - source_ref: "src/system.go:5590, src/resources/defaultConfig.ini:178, external/script/main.lua:1770-1774" + source_ref: "src/system.go:5602, src/resources/defaultConfig.ini:181, external/script/main.lua:1770-1774" note: > Debug.StartStage defaults to stages/stage0-720.def, the stage added when select.def lists none. diff --git a/emulators/ioquake3.yml b/emulators/ioquake3.yml index 5384415a..acf8d129 100644 --- a/emulators/ioquake3.yml +++ b/emulators/ioquake3.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/ioquake/ioq3" upstream: "https://github.com/ioquake/ioq3" profiled_date: "2026-10-04" -source_commit: "83a776283bdb958f82db25554b5ed0966aaf6e49" +source_commit: "87a99d18206e878a20289f05ac3c16005dcae5c3" core_version: "1.36+git" display_name: "ioquake3" cores: [ioquake3] diff --git a/emulators/izapple2.yml b/emulators/izapple2.yml index 28a5450e..f6448f74 100644 --- a/emulators/izapple2.yml +++ b/emulators/izapple2.yml @@ -4,7 +4,7 @@ core_classification: embedded_hle source: "https://github.com/ivanizag/izapple2" upstream: "https://github.com/ivanizag/izapple2" profiled_date: "2026-08-08" -source_commit: "877b75fcf00d5bdb88d77554a4ade3ecb8c1a166" +source_commit: "dc28a566c9c733119b0511d9f77e1b4574e28718" core_version: "v2.4.0" display_name: "Apple - Apple II (izapple2)" cores: @@ -16,18 +16,18 @@ mode: standalone notes: | Apple II emulator written in Go by Ivan Izaguirre. Boards: Apple ][ and ][+ with 48 KB, Apple IIe and //e enhanced with 128 KB, and two clones, the Copam - Base 64A and the Basis 108 (setup.go:36-58). + Base 64A and the Basis 108 (setup.go:45-67). Every ROM the machine needs is compiled into the binary. The whole resources directory is embedded with //go:embed (resources.go:25-26) and the 17 machine - configs with //go:embed configs/*.cfg (configuration.go:51-52). LoadResource + configs with //go:embed configs/*.cfg (configuration.go:57-58). LoadResource routes a name by its prefix: / reads the embedded filesystem, http:// and https:// fetch over the network, anything else is a path on disk (resources.go:55-88). The shipped configs name main ROM, character ROM and boot diskette as / paths, so the emulator starts into DOS 3.3 with no file on disk. The base64a and basis108 configs set rom: , which dispatches to loadMultiPageRom over six embedded PROM dumps each - (setup.go:189-199, boardBase64a.go:7-16, boardBasis108.go:28-37). + (setup.go:203-213, boardBase64a.go:7-16, boardBasis108.go:28-37). Two of the 27 registered cards name an image the emulator downloads instead of carrying: prodosromdrive and prodosromcard3 (cardBuilder.go:86-87). Both diff --git a/emulators/j2me-loader.yml b/emulators/j2me-loader.yml index 58c2be09..0484364b 100644 --- a/emulators/j2me-loader.yml +++ b/emulators/j2me-loader.yml @@ -4,8 +4,8 @@ core_classification: community_fork source: "https://github.com/nikita36078/J2ME-Loader" upstream: "https://github.com/nikita36078/J2ME-Loader" author: "Nikita Shakarun" -profiled_date: "2026-10-20" -source_commit: "752b93afa80f657fa515f560bebf7904d219f73a" +profiled_date: "2026-10-23" +source_commit: "c1aff868a674ea0c9fd9d565dfb4819987ee447f" core_version: "1.8.2" display_name: "Mobile - J2ME (J2ME Loader)" cores: @@ -32,10 +32,13 @@ notes: | fs/e, all written by the app, plus shaders/ and soundbanks/, created empty when the directory is initialized and read from. fs/c and fs/e are the JSR-75 drives, data/ is RMS storage, converted/ holds converted.dex and res.jar per - MIDlet. - ref: app/src/main/java/ru/playsoftware/j2meloader/config/Config.java:47-61, - app/src/main/java/ru/playsoftware/j2meloader/config/Config.java:155-161, - app/src/main/java/ru/playsoftware/j2meloader/util/FileUtils.java:166-181 + MIDlet. The config screen has a file list for shaders/ and soundbanks/ that + copies the files the user picks into that directory under their display name. + ref: app/src/main/java/ru/playsoftware/j2meloader/config/ConfigFilesActivity.java:76-83, + app/src/main/java/ru/playsoftware/j2meloader/config/ConfigFilesActivity.java:129-141, + app/src/main/java/ru/playsoftware/j2meloader/config/Config.java:47-61, + app/src/main/java/ru/playsoftware/j2meloader/config/Config.java:159-165, + app/src/main/java/ru/playsoftware/j2meloader/util/FileUtils.java:213-228 The shader and property assets are read through ContextHolder.getAssetAsString, which rethrows an IOException as RuntimeException instead of degrading, so an @@ -51,7 +54,7 @@ notes: | app/src/main/java/ru/woesss/j2me/mmapi/synth/SynthPluginFactory.java:36-54 The package carries every native library for arm64-v8a, armeabi-v7a, x86 and - x86_64. The hashes below are those of the x86_64 build, version 1.8.2-dev-1964, + x86_64. The hashes below are those of the x86_64 build, version 1.8.2-dev-1973, the continuous release built from source_commit. files: @@ -77,7 +80,7 @@ files: category: game_data description: "Default microedition system properties" note: "Read from assets/defaults when a profile is created and again when the config screen or updateSystemProperties fills the field. Each line becomes a System.setProperty pair at MIDlet startup, carrying microedition.configuration, microedition.platform, the JSR version strings and the vendor identity values." - source_ref: "app/src/main/java/ru/playsoftware/j2meloader/config/ProfileModel.java:201, app/src/main/java/ru/playsoftware/j2meloader/config/ProfilesManager.java:185, app/src/main/java/ru/playsoftware/j2meloader/config/ConfigActivity.java:636, app/src/main/java/javax/microedition/shell/MicroLoader.java:249-256" + source_ref: "app/src/main/java/ru/playsoftware/j2meloader/config/ProfileModel.java:201, app/src/main/java/ru/playsoftware/j2meloader/config/ProfilesManager.java:185, app/src/main/java/ru/playsoftware/j2meloader/config/ConfigActivity.java:680, app/src/main/java/javax/microedition/shell/MicroLoader.java:249-256" - name: simple.vsh system: j2me @@ -191,9 +194,9 @@ files: system: j2me required: true bundled: true - size: 416488 - sha1: "74171083847c3836e1ffb9470d3b7e3e7dafe242" - md5: "0e273cd2a17253fa9f0f475f95283777" + size: 417496 + sha1: "a9f584627b3c000c936749f6c88db5187e1cdd4f" + md5: "c19559b2fcf1ab091d7455b4c54fbafd" category: game_data description: "JSR-184 M3G engine" note: "Named by System.loadLibrary(\"javam3g\") outside any catch, the first time the toolkit reports the UI thread available. Built by ndkBuild from the m3g sources against GLES 1.1." @@ -279,7 +282,7 @@ files: category: game_data description: "DLS sound bank for MIDI playback" note: "The config screen lists every regular file in the sound banks directory with no extension filter, and the selected name is kept as a path when the file exists. EAS_LoadDLSCollection reads it with the header search flag off. A rejected file throws and the plugin is skipped." - source_ref: "app/src/main/java/ru/playsoftware/j2meloader/config/ConfigActivity.java:277-301, app/src/main/java/javax/microedition/shell/MicroLoader.java:285-288, app/src/main/cpp/mmapi_eas/eas_player.cpp:112-126, app/src/main/cpp/mmapi_eas/eas_player_jni.cpp:16-28" + source_ref: "app/src/main/java/ru/playsoftware/j2meloader/config/ConfigActivity.java:315-339, app/src/main/java/javax/microedition/shell/MicroLoader.java:285-288, app/src/main/cpp/mmapi_eas/eas_player.cpp:112-126, app/src/main/cpp/mmapi_eas/eas_player_jni.cpp:16-28" - name: ".sf2" path: "soundbanks/.sf2" @@ -289,7 +292,7 @@ files: category: game_data description: "SoundFont sound bank for MIDI playback" note: "Same selection path as the DLS bank. tsf_load_filename parses it, and a null result throws IllegalArgumentException so the plugin is skipped." - source_ref: "app/src/main/java/ru/playsoftware/j2meloader/config/ConfigActivity.java:277-301, app/src/main/cpp/mmapi_tsf/tsf_player.cpp:87-94, app/src/main/cpp/mmapi_tsf/tsf_player_jni.cpp:15-27" + source_ref: "app/src/main/java/ru/playsoftware/j2meloader/config/ConfigActivity.java:315-339, app/src/main/cpp/mmapi_tsf/tsf_player.cpp:87-94, app/src/main/cpp/mmapi_tsf/tsf_player_jni.cpp:15-27" - name: ".ini" path: "shaders/.ini" @@ -299,7 +302,7 @@ files: category: game_data description: "Shader descriptor read from the emulator directory" note: "The config screen creates the shaders directory, lists every file ending in .ini and parses it as sections opened by a bracketed name, keeping the entries that name both a Vertex and a Fragment file. Name, Author, OutputResolution, Upscaling and four SettingName/SettingDefaultValue/SettingMinValue/SettingMaxValue/SettingStep groups are also read, which is the PPSSPP post-processing descriptor format." - source_ref: "app/src/main/java/ru/playsoftware/j2meloader/config/ConfigActivity.java:368-399, app/src/main/java/ru/playsoftware/j2meloader/config/ShaderInfo.java:101-206, app/src/main/java/ru/playsoftware/j2meloader/util/FileUtils.java:156-164" + source_ref: "app/src/main/java/ru/playsoftware/j2meloader/config/ConfigActivity.java:406-437, app/src/main/java/ru/playsoftware/j2meloader/config/ShaderInfo.java:101-206, app/src/main/java/ru/playsoftware/j2meloader/util/FileUtils.java:203-211" - name: ".vsh" path: "shaders/.vsh" @@ -309,7 +312,7 @@ files: category: game_data description: "Vertex shader named by a descriptor" note: "Read whole from the shaders directory when the selected filter names it, then compiled in place of the built-in blitter. An unreadable file yields an empty string, the program fails to build and the bundled default is used after a toast." - source_ref: "app/src/main/java/javax/microedition/lcdui/graphics/ShaderProgram.java:45-57, app/src/main/java/javax/microedition/shell/MicroLoader.java:272-276, app/src/main/java/ru/playsoftware/j2meloader/util/FileUtils.java:156-164" + source_ref: "app/src/main/java/javax/microedition/lcdui/graphics/ShaderProgram.java:45-57, app/src/main/java/javax/microedition/shell/MicroLoader.java:272-276, app/src/main/java/ru/playsoftware/j2meloader/util/FileUtils.java:203-211" - name: ".fsh" path: "shaders/.fsh" diff --git a/emulators/jazz2-native.yml b/emulators/jazz2-native.yml index f3fe4c4c..7bbf47ac 100644 --- a/emulators/jazz2-native.yml +++ b/emulators/jazz2-native.yml @@ -4,8 +4,8 @@ core_classification: game_engine source: "https://github.com/deathkiller/jazz2-native" upstream: "https://github.com/deathkiller/jazz2-native" profiled_date: "2026-10-04" -source_commit: "1e20466795d5074570fb057b41f56baefd24c629" -core_version: "3.8.0" +source_commit: "36a1414d691142443ef7ad9078995e2be4755f11" +core_version: "3.9.0" display_name: "Jazz Jackrabbit 2 (Jazz² Resurrection)" cores: [jazz2] systems: [jazz-jackrabbit-2] @@ -15,29 +15,39 @@ notes: | ships its own Content/ tree (animations, metadata, translations) that sits next to the executable in a portable copy, or under /share// once installed. - ref: Sources/Jazz2/ContentResolver.cpp:191-243 (GetContentPath per - platform), Sources/Jazz2/ContentResolver.cpp:415-491 (Unix layouts) + ref: Sources/Jazz2/ContentResolver.cpp:195-247 (GetContentPath per + platform), Sources/Jazz2/ContentResolver.cpp:455-531 (Unix layouts) Original Jazz Jackrabbit 2 data is read from Source/ and converted on first launch into the engine's own formats under Cache/: Anims.j2a and Data.j2d into a package, then every .j2e, .j2l and the tilesets the levels name. Music and cinematics are read from Source/ as they are. - ref: Sources/Jazz2/ContentResolver.cpp:285-314 (GetSourcePath), - Sources/Main.cpp:2226-2290 (RefreshCache), - Sources/Jazz2/Compatibility/AssetConverter.cpp:152-168, - Sources/Jazz2/Compatibility/AssetConverter.cpp:400-520 + ref: Sources/Jazz2/ContentResolver.cpp:324-353 (GetSourcePath), + Sources/Main.cpp:2237-2301 (RefreshCache), + Sources/Jazz2/Compatibility/AssetConverter.cpp:332-348, + Sources/Jazz2/Compatibility/AssetConverter.cpp:585-712 Content/ is the engine runtime, shipped with the release package. Source/ holds the user's own copy of the 1998 game data. Without Anims.j2a (or the shareware AnimsSw.j2a) and without an existing - cache the engine starts but is not playable. + cache the engine starts but is not playable. A Content/ tree prepared + by the AssetPacker tool carries Prebaked.pak: the conversion is then + skipped and Source/ is not read. + ref: Sources/Main.cpp:2149-2155, + Sources/Jazz2/ContentResolver.cpp:698-706 + + On Android, Apple, Unix, UWP, Switch and Vita a Content/ directory + next to Cache/ (next to Source/ on iOS) is searched before the shipped + one, its .pak files first. + ref: Sources/Jazz2/ContentResolver.cpp:708-747, + Sources/Jazz2/ContentResolver.cpp:813-860 The libretro build looks for Content/ next to the loaded file, in the core assets directory or in /jazz2/, and for the original files in Source/ beside it, in the system directory itself or in /jazz2/Source/. - ref: Sources/Main.cpp:267-355 + ref: Sources/Main.cpp:286-374 files: # ================================================================ @@ -51,7 +61,7 @@ files: standalone_path: "Content/Animations/" mode: libretro required: true - source_ref: "Sources/Jazz2/ContentResolver.cpp:1164, 1294, 2837-2838" + source_ref: "Sources/Jazz2/ContentResolver.cpp:1352, 1482, 3165-3166" note: "Native graphics, sounds and the UI fonts, opened through OpenContentFile. No libretro build is published with the release, so the tree is placed by hand." - name: "Animations/" @@ -62,7 +72,7 @@ files: mode: standalone bundled: true required: true - source_ref: "Sources/Jazz2/ContentResolver.cpp:1164, 1294, 2837-2838" + source_ref: "Sources/Jazz2/ContentResolver.cpp:1352, 1482, 3165-3166" note: "Native graphics, sounds and the UI fonts, opened through OpenContentFile. Shipped beside the executable in the 3.8.0 Windows and Linux zips." - name: "Metadata/" @@ -72,7 +82,7 @@ files: standalone_path: "Content/Metadata/" mode: libretro required: true - source_ref: "Sources/Jazz2/ContentResolver.cpp:910" + source_ref: "Sources/Jazz2/ContentResolver.cpp:1099" note: "Actor .res descriptors (Common, Enemy, Player, UI, Boss, ...). No libretro build is published with the release, so the tree is placed by hand." - name: "Metadata/" @@ -83,7 +93,7 @@ files: mode: standalone bundled: true required: true - source_ref: "Sources/Jazz2/ContentResolver.cpp:910" + source_ref: "Sources/Jazz2/ContentResolver.cpp:1099" note: "Actor .res descriptors (Common, Enemy, Player, UI, Boss, ...). Shipped beside the executable in the 3.8.0 Windows and Linux zips." - name: "Translations/" @@ -93,8 +103,8 @@ files: standalone_path: "Content/Translations/" mode: libretro required: false - source_ref: "Sources/Main.cpp:2021-2027, Sources/Jazz2/UI/Menu/LanguageSelectSection.cpp:82-88" - note: "Language .mo bundles, searched in Cache/Translations/ first. Built-in English is used when none is loaded. No libretro build is published with the release, so the tree is placed by hand." + source_ref: "Sources/Main.cpp:2029-2037, Sources/Jazz2/UI/Menu/LanguageSelectSection.cpp:83-95" + note: "Language .mo bundles, searched in the user Content/Translations/ and in Cache/Translations/ first. Built-in English is used when none is loaded. No libretro build is published with the release, so the tree is placed by hand." - name: "Translations/" type: directory @@ -104,8 +114,8 @@ files: mode: standalone bundled: true required: false - source_ref: "Sources/Main.cpp:2021-2027, Sources/Jazz2/UI/Menu/LanguageSelectSection.cpp:82-88" - note: "Language .mo bundles, searched in Cache/Translations/ first. Built-in English is used when none is loaded. Shipped beside the executable in the 3.8.0 Windows and Linux zips." + source_ref: "Sources/Main.cpp:2029-2037, Sources/Jazz2/UI/Menu/LanguageSelectSection.cpp:83-95" + note: "Language .mo bundles, searched in the user Content/Translations/ and in Cache/Translations/ first. Built-in English is used when none is loaded. Shipped beside the executable in the 3.8.0 Windows and Linux zips." # ================================================================ # Source/ (original Jazz Jackrabbit 2 data, user-supplied) @@ -118,7 +128,7 @@ files: path: "jazz2/Source/Anims.j2a" standalone_path: "Source/Anims.j2a" required: true - source_ref: "Sources/Main.cpp:2226-2242, Sources/Jazz2/Compatibility/AssetConverter.cpp:156-159" + source_ref: "Sources/Main.cpp:2237-2253, Sources/Jazz2/Compatibility/AssetConverter.cpp:336-339" note: "Main animation archive. The cache cannot be created without it and the game is not flagged playable." - name: "AnimsSw.j2a" @@ -127,7 +137,7 @@ files: path: "jazz2/Source/AnimsSw.j2a" standalone_path: "Source/AnimsSw.j2a" required: false - source_ref: "Sources/Main.cpp:2229-2231" + source_ref: "Sources/Main.cpp:2240-2242" note: "Animation archive of the shareware demo, read when Anims.j2a is absent." - name: "Data.j2d" @@ -136,12 +146,21 @@ files: path: "jazz2/Source/Data.j2d" standalone_path: "Source/Data.j2d" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:161-164" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:341-344" note: "Converted into the cache package when present." + - name: "Plus.j2d" + category: game_data + system: jazz-jackrabbit-2 + path: "jazz2/Source/Plus.j2d" + standalone_path: "Source/Plus.j2d" + required: false + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:271-316, 512-515, Sources/Jazz2/Compatibility/JJ2Level.cpp:1128-1130" + note: "Data file of a JJ2+ installation. Read once a converted level names one of its TextureBG. textures. Without it a texture is made up for that layer." + # Episode descriptors (.j2e) and level files (.j2l) are optional per # episode. Every one present in Source/ is converted. - # ref: Sources/Jazz2/Compatibility/AssetConverter.cpp:400-520 + # ref: Sources/Jazz2/Compatibility/AssetConverter.cpp:585-712 - name: "prince.j2e" category: game_data @@ -149,7 +168,7 @@ files: path: "jazz2/Source/prince.j2e" standalone_path: "Source/prince.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:184-191, 310-312, 407-436" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:364-371, 490-492, 592-621" note: "First episode of the chain prince, rescue, flash, monk." - name: "rescue.j2e" @@ -158,7 +177,7 @@ files: path: "jazz2/Source/rescue.j2e" standalone_path: "Source/rescue.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:193-199, 313-314, 407-436" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:373-379, 493-494, 592-621" note: "Second episode of the chain." - name: "flash.j2e" @@ -167,7 +186,7 @@ files: path: "jazz2/Source/flash.j2e" standalone_path: "Source/flash.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:201-208, 315-316, 407-436" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:381-388, 495-496, 592-621" note: "Third episode of the chain." - name: "monk.j2e" @@ -176,7 +195,7 @@ files: path: "jazz2/Source/monk.j2e" standalone_path: "Source/monk.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:210-215, 317-318, 407-436" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:390-395, 497-498, 592-621" note: "Fourth episode of the chain." - name: "share.j2e" @@ -185,7 +204,7 @@ files: path: "jazz2/Source/share.j2e" standalone_path: "Source/share.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:217-219, 290-291, 407-436" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:397-399, 470-471, 592-621" note: "Shareware Demo episode." - name: "xmas98.j2e" @@ -194,7 +213,7 @@ files: path: "jazz2/Source/xmas98.j2e" standalone_path: "Source/xmas98.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:292-293, 412, 420-421, 434" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:472-473, 597, 605-606, 619" note: "Holiday Hare '98. Stored under the name xmas99 and skipped when xmas99.j2e is present." - name: "xmas99.j2e" @@ -203,7 +222,7 @@ files: path: "jazz2/Source/xmas99.j2e" standalone_path: "Source/xmas99.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:182, 221-223, 294-295" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:362, 401-403, 474-475" note: "The Christmas Chronicles." - name: "secretf.j2e" @@ -212,7 +231,7 @@ files: path: "jazz2/Source/secretf.j2e" standalone_path: "Source/secretf.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:225-233, 296-297, 407-436" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:405-413, 476-477, 592-621" note: "The Secret Files episode." - name: "home.j2e" @@ -221,12 +240,12 @@ files: path: "jazz2/Source/home.j2e" standalone_path: "Source/home.j2e" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:423-429" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:608-614" note: "Entry that lists custom levels." # Levels of the Shareware Demo. Every .j2l present in Source/ is # converted, whatever its name. - # ref: Sources/Jazz2/Compatibility/AssetConverter.cpp:437-516 + # ref: Sources/Jazz2/Compatibility/AssetConverter.cpp:622-708 - name: "share1.j2l" category: game_data @@ -234,7 +253,7 @@ files: path: "jazz2/Source/share1.j2l" standalone_path: "Source/share1.j2l" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:217, 437-499" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:397, 622-691" note: "First level of share.j2e, stored as share/01_share1. Its exit names share2." - name: "share2.j2l" @@ -243,7 +262,7 @@ files: path: "jazz2/Source/share2.j2l" standalone_path: "Source/share2.j2l" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:218, 437-499" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:398, 622-691" note: "Second level of the Shareware Demo episode. Its exit names share3." - name: "share3.j2l" @@ -252,7 +271,7 @@ files: path: "jazz2/Source/share3.j2l" standalone_path: "Source/share3.j2l" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:219, 437-499" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:399, 622-691" note: "Third level of the Shareware Demo episode. Its exit ends the episode." - name: "sharectf.j2l" @@ -261,7 +280,7 @@ files: path: "jazz2/Source/sharectf.j2l" standalone_path: "Source/sharectf.j2l" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:54, 437-499" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:56, 622-691" note: "Capture the flag level of the Shareware Demo, stored under unknown/." - name: "sharect2.j2l" @@ -270,7 +289,7 @@ files: path: "jazz2/Source/sharect2.j2l" standalone_path: "Source/sharect2.j2l" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:54, 437-499" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:56, 622-691" note: "Capture the flag level of the Shareware Demo, stored under unknown/." - name: "sharetrs.j2l" @@ -279,14 +298,14 @@ files: path: "jazz2/Source/sharetrs.j2l" standalone_path: "Source/sharetrs.j2l" required: false - source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:54, 437-499" + source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:56, 622-691" note: "Treasure hunt level of the Shareware Demo, stored under unknown/." # Tilesets. Only those a converted level names are converted. The name # is read from the level, lowercased and looked up in Source/ without # regard to case. - # ref: Sources/Jazz2/Compatibility/JJ2Level.cpp:124, 772-775, - # Sources/Jazz2/Compatibility/AssetConverter.cpp:492, 579-600 + # ref: Sources/Jazz2/Compatibility/JJ2Level.cpp:136, 785-788, + # Sources/Jazz2/Compatibility/AssetConverter.cpp:684, 771-792 - name: "labrat1n.j2t" category: game_data @@ -294,7 +313,7 @@ files: path: "jazz2/Source/labrat1n.j2t" standalone_path: "Source/labrat1n.j2t" required: false - source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:124, 772-775, Sources/Jazz2/Compatibility/AssetConverter.cpp:492, 579-600" + source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:136, 785-788, Sources/Jazz2/Compatibility/AssetConverter.cpp:684, 771-792" note: "Tileset named by share1.j2l, sharect2.j2l and sharetrs.j2l." - name: "psych2.j2t" @@ -303,7 +322,7 @@ files: path: "jazz2/Source/psych2.j2t" standalone_path: "Source/psych2.j2t" required: false - source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:124, 772-775, Sources/Jazz2/Compatibility/AssetConverter.cpp:492, 579-600" + source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:136, 785-788, Sources/Jazz2/Compatibility/AssetConverter.cpp:684, 771-792" note: "Tileset named by share2.j2l." - name: "diam2.j2t" @@ -312,11 +331,11 @@ files: path: "jazz2/Source/diam2.j2t" standalone_path: "Source/diam2.j2t" required: false - source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:124, 772-775, Sources/Jazz2/Compatibility/AssetConverter.cpp:492, 579-600" + source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:136, 785-788, Sources/Jazz2/Compatibility/AssetConverter.cpp:684, 771-792" note: "Tileset named by share3.j2l and sharectf.j2l." - # Music, read from Content/Music/ then from Source/ - # ref: Sources/Jazz2/ContentResolver.cpp:2784-2794 + # Music, read from the user Content/Music/, then Content/Music/, then Source/ + # ref: Sources/Jazz2/ContentResolver.cpp:3106-3122 - name: "menu.j2b" category: game_data @@ -324,7 +343,7 @@ files: path: "jazz2/Source/menu.j2b" standalone_path: "Source/menu.j2b" required: false - source_ref: "Sources/Jazz2/UI/Menu/MainMenu.cpp:509-511, Sources/Jazz2/Compatibility/AssetConverter.cpp:539-542" + source_ref: "Sources/Jazz2/UI/Menu/MainMenu.cpp:514-516, Sources/Jazz2/Compatibility/AssetConverter.cpp:731-734" note: "Main menu music." - name: "bonus2.j2b" @@ -333,7 +352,7 @@ files: path: "jazz2/Source/bonus2.j2b" standalone_path: "Source/bonus2.j2b" required: false - source_ref: "Sources/Jazz2/UI/Menu/MainMenu.cpp:503-504, Sources/Jazz2/Compatibility/AssetConverter.cpp:539-542" + source_ref: "Sources/Jazz2/UI/Menu/MainMenu.cpp:508-509, Sources/Jazz2/Compatibility/AssetConverter.cpp:731-734" note: "Menu music of the reforged main menu, picked at random with bonus3.j2b." - name: "bonus3.j2b" @@ -342,7 +361,7 @@ files: path: "jazz2/Source/bonus3.j2b" standalone_path: "Source/bonus3.j2b" required: false - source_ref: "Sources/Jazz2/UI/Menu/MainMenu.cpp:503-504, Sources/Jazz2/Compatibility/AssetConverter.cpp:539-542" + source_ref: "Sources/Jazz2/UI/Menu/MainMenu.cpp:508-509, Sources/Jazz2/Compatibility/AssetConverter.cpp:731-734" note: "Menu music of the reforged main menu, picked at random with bonus2.j2b." - name: "intro.j2b" @@ -351,7 +370,7 @@ files: path: "jazz2/Source/intro.j2b" standalone_path: "Source/intro.j2b" required: false - source_ref: "Sources/Jazz2/UI/Cinematics.cpp:255, Sources/Main.cpp:558, Sources/Jazz2/Compatibility/AssetConverter.cpp:539-542" + source_ref: "Sources/Jazz2/UI/Cinematics.cpp:549, Sources/Main.cpp:615, Sources/Jazz2/Compatibility/AssetConverter.cpp:731-734" note: "Music of the intro cinematic." - name: "ending.j2b" @@ -360,12 +379,12 @@ files: path: "jazz2/Source/ending.j2b" standalone_path: "Source/ending.j2b" required: false - source_ref: "Sources/Jazz2/UI/Cinematics.cpp:255, Sources/Main.cpp:964, Sources/Jazz2/Compatibility/AssetConverter.cpp:539-542" + source_ref: "Sources/Jazz2/UI/Cinematics.cpp:549, Sources/Main.cpp:1098, Sources/Jazz2/Compatibility/AssetConverter.cpp:731-734" note: "Music of the ending cinematic." # Level music. The name is read from the level, lowercased and given # the .j2b extension when it has none. - # ref: Sources/Jazz2/Compatibility/JJ2Level.cpp:128, 784-789 + # ref: Sources/Jazz2/Compatibility/JJ2Level.cpp:140, 795-801 - name: "labrat.j2b" category: game_data @@ -373,7 +392,7 @@ files: path: "jazz2/Source/labrat.j2b" standalone_path: "Source/labrat.j2b" required: false - source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:128, 784-789, Sources/Jazz2/LevelHandler.cpp:629-635, Sources/Jazz2/ContentResolver.cpp:2784-2788" + source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:140, 795-801, Sources/Jazz2/LevelHandler.cpp:700-706, Sources/Jazz2/ContentResolver.cpp:3106-3116" note: "Music named by share1.j2l, sharect2.j2l and sharetrs.j2l." - name: "funkyg.j2b" @@ -382,7 +401,7 @@ files: path: "jazz2/Source/funkyg.j2b" standalone_path: "Source/funkyg.j2b" required: false - source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:128, 784-789, Sources/Jazz2/LevelHandler.cpp:629-635, Sources/Jazz2/ContentResolver.cpp:2784-2788" + source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:140, 795-801, Sources/Jazz2/LevelHandler.cpp:700-706, Sources/Jazz2/ContentResolver.cpp:3106-3116" note: "Music named by share2.j2l." - name: "diamond.j2b" @@ -391,7 +410,7 @@ files: path: "jazz2/Source/diamond.j2b" standalone_path: "Source/diamond.j2b" required: false - source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:128, 784-789, Sources/Jazz2/LevelHandler.cpp:629-635, Sources/Jazz2/ContentResolver.cpp:2784-2788" + source_ref: "Sources/Jazz2/Compatibility/JJ2Level.cpp:140, 795-801, Sources/Jazz2/LevelHandler.cpp:700-706, Sources/Jazz2/ContentResolver.cpp:3106-3116" note: "Music named by share3.j2l and sharectf.j2l." - name: "boss2.j2b" @@ -400,7 +419,7 @@ files: path: "jazz2/Source/boss2.j2b" standalone_path: "Source/boss2.j2b" required: false - source_ref: "Sources/Jazz2/Compatibility/EventConverter.cpp:360-370, Sources/Jazz2/Compatibility/AssetConverter.cpp:505-508, Sources/Jazz2/LevelHandler.cpp:1397-1400, Sources/Jazz2/ContentResolver.cpp:2784-2788" + source_ref: "Sources/Jazz2/Compatibility/EventConverter.cpp:360-370, Sources/Jazz2/Compatibility/AssetConverter.cpp:697-700, Sources/Jazz2/LevelHandler.cpp:1547-1550, Sources/Jazz2/ContentResolver.cpp:3106-3116" note: "Boss music. The boss activation event carries a music index that is converted to boss1.j2b or boss2.j2b and recorded as music the level uses. share3.j2l carries index 1." # Cinematics, read from Content/Cinematics/ then from Source/ @@ -411,7 +430,7 @@ files: path: "jazz2/Source/intro.j2v" standalone_path: "Source/intro.j2v" required: false - source_ref: "Sources/Jazz2/UI/Cinematics.cpp:267-281, Sources/Main.cpp:558" + source_ref: "Sources/Jazz2/UI/Cinematics.cpp:576-593, Sources/Main.cpp:615" note: "Intro cinematic. Skipped when absent." - name: "ending.j2v" @@ -420,5 +439,5 @@ files: path: "jazz2/Source/ending.j2v" standalone_path: "Source/ending.j2v" required: false - source_ref: "Sources/Jazz2/UI/Cinematics.cpp:267-281, Sources/Main.cpp:964" + source_ref: "Sources/Jazz2/UI/Cinematics.cpp:576-593, Sources/Main.cpp:1098" note: "Ending cinematic. Skipped when absent." diff --git a/emulators/jgenesis.yml b/emulators/jgenesis.yml index cbd04fe8..abb8f6bb 100644 --- a/emulators/jgenesis.yml +++ b/emulators/jgenesis.yml @@ -4,8 +4,8 @@ core_classification: other source: "https://github.com/jsgroth/jgenesis" upstream: "https://github.com/jsgroth/jgenesis" profiled_date: "2026-08-08" -source_commit: "db1bec7392704aa0ecc2bbbb5ac751fec3c485a0" -core_version: "0.14.0" +source_commit: "d41e2d975771c78ee2efe80f8ec5768b87e3f7eb" +core_version: "0.14.1" display_name: "Multi-System (jgenesis)" cores: - jgenesis @@ -22,18 +22,20 @@ systems: - nintendo-gbc - nintendo-gba - nec-pc-engine + - nec-pc-engine-cd mode: standalone notes: | Multi-system emulator written in Rust by James Groth. One binary covers thirteen hardware modes: Master System, Game Gear, SG-1000, Genesis, Sega CD, 32X, Sega CD 32X, NES, SNES, Game Boy, Game Boy Color, Game Boy Advance and - PC Engine (frontend/jgenesis-native-driver/src/extensions.rs:172-187). + PC Engine (frontend/jgenesis-native-driver/src/extensions.rs:178-193). No path is hardcoded. Every BIOS, boot ROM and coprocessor ROM is an Option in the config, defaulting to None and set through a file - dialog or the TOML config file (frontend/jgenesis-native-driver/src/config.rs - :76-78,95-99,146-159,191-193,205). The emulator identifies these files by + dialog or the TOML config file + (frontend/jgenesis-native-driver/src/config.rs:78-81,97-102,149-162,193-196,207-208,222-223). + The emulator identifies these files by size and layout, never by name or hash, so the names below are the ones the dumps circulate under rather than strings read from the source. RetroBat writes bios_CD_U/E/J.bin and gba_bios.bin into the TOML directly @@ -41,8 +43,8 @@ notes: | Sega CD selects the BIOS by disc region and per_region_bios defaults to true, so the US, European and Japanese images are each reachable - (frontend/jgenesis-native-driver/src/mainloop/genesis.rs:215-244, - frontend/jgenesis-native-config/src/genesis.rs:117). Setting "Use US BIOS for + (frontend/jgenesis-native-driver/src/mainloop/genesis.rs:211-240, + frontend/jgenesis-native-config/src/genesis.rs:119). Setting "Use US BIOS for all regions" collapses all three onto the US slot. SNES coprocessor ROMs use the merged layout, program ROM followed by data ROM @@ -59,8 +61,13 @@ notes: | compiled into the binary (backend/s32x-core/src/bootrom.rs:3-6). A Sega CD BIOS is only consulted when the hardware mode is Sega CD or Sega CD 32X. - NES, SG-1000 and PC Engine need no BIOS. PC Engine has no CD-ROM² support, so - no System Card is involved. CX4, SA-1, S-DD1, SPC7110, Super FX, OBC1 and the + NES, SG-1000 and PC Engine HuCards need no BIOS. A disc image switches the PC + Engine to CD-ROM² mode, which runs the configured System Card ROM in place of + a HuCard and refuses to start without one + (frontend/jgenesis-native-driver/src/mainloop/pce.rs:29-50). The card model + defaults to the Arcade Card, which wants a v3.0 System Card ROM + (config/pce-config/src/lib.rs:60-65, frontend/jgenesis-gui/src/app/pce/helptext.rs:11-25). + CX4, SA-1, S-DD1, SPC7110, Super FX, OBC1 and the S-RTC are emulated from cartridge data alone and take no firmware file. Written by the emulator, not obtained: save files, save states, the per-game @@ -81,7 +88,7 @@ files: required: true size: 131072 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:39-49 (read), frontend/jgenesis-native-driver/src/mainloop/genesis.rs:238-244 (bios_path_for_region), backend/segacd-core/src/api.rs:77-79 (BIOS_LEN check)" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:43-53 (read), frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (bios_path_for_region), backend/segacd-core/src/api.rs:77-79 (BIOS_LEN check)" note: "Selected when the disc region is Americas, and for every region when per_region_bios is off." - name: "bios_CD_E.bin" @@ -91,8 +98,8 @@ files: required: true size: 131072 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:238-244 (eu_bios_path), backend/segacd-core/src/api.rs:77-79" - note: "Selected when the header area at 0x1F0 holds E and not U or J, as Australian discs do (backend/genesis-components/src/cartridge.rs:361-376, backend/segacd-core/src/api.rs:339-369)." + source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (eu_bios_path), backend/segacd-core/src/api.rs:77-79" + note: "Selected when the header area at 0x1F0 holds E and not U or J, as Australian discs do (backend/genesis-components/src/cartridge.rs:362-377, backend/segacd-core/src/api.rs:339-369)." - name: "bios_CD_J.bin" system: sega-megacd @@ -101,7 +108,7 @@ files: required: true size: 131072 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:238-244 (jp_bios_path), backend/segacd-core/src/api.rs:77-79" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (jp_bios_path), backend/segacd-core/src/api.rs:77-79" # ------------------------------------------------------- # Game Boy Advance @@ -112,7 +119,7 @@ files: required: true size: 16384 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/gba.rs:29-33 (GbaNoBios), backend/gba-core/src/memory.rs:10,102-107 (BIOS_ROM_LEN check)" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/gba.rs:32-36 (GbaNoBios), backend/gba-core/src/memory.rs:10, 102-107 (BIOS_ROM_LEN check)" note: "Every GBA load fails without it. skip_bios_animation only skips the intro, the BIOS is still mapped and read for SWI calls." # ------------------------------------------------------- @@ -178,6 +185,16 @@ files: source_ref: "backend/snes-core/src/memory/cartridge.rs:310-320 (MissingSt018Rom), backend/snes-coprocessors/src/st018.rs:18-22,346-352 (TOTAL_ROM_LEN check)" note: "0x20000 program plus 0x8000 data. Used by Hayazashi Nidan Morita Shougi 2. Files larger than the expected length are accepted, shorter ones are rejected." + # ------------------------------------------------------- + # PC Engine CD-ROM² + # ------------------------------------------------------- + - name: "syscard3.pce" + system: nec-pc-engine-cd + description: "Super CD-ROM² System Card 3.0" + required: true + source_ref: "frontend/jgenesis-native-driver/src/mainloop/pce.rs:29-50 (PceCdNoBios), frontend/jgenesis-native-config/src/pce.rs:15, 44, backend/pce-core/src/cartridge.rs:84-101, config/pce-config/src/lib.rs:60-65" + note: "Every disc fails to load without it. One slot accepts any System Card dump, no size or content check, but the default Arcade Card and the Super System Card need a v3.0 ROM. A file over 512 KiB is mapped as a plain HuCard." + # ------------------------------------------------------- # Master System / Game Gear # ------------------------------------------------------- @@ -185,14 +202,14 @@ files: system: sega-mastersystem description: "Master System BIOS" required: false - source_ref: "frontend/jgenesis-native-driver/src/mainloop/smsgg.rs:27-33,50-56,74-80,112-122, backend/smsgg-core/src/memory.rs:101-106,148-168" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/smsgg.rs:26-32, 49-55, 73-79, 116-126, backend/smsgg-core/src/memory.rs:101-106, 148-168" note: "Read only when sms_boot_from_bios is enabled or the emulator runs without a cartridge, both off by default. One slot accepts any regional dump, no size or content check." - name: "bios.gg" system: sega-gamegear description: "Game Gear BIOS" required: false - source_ref: "frontend/jgenesis-native-driver/src/mainloop/smsgg.rs:27-33,50-56,74-80,112-122" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/smsgg.rs:26-32, 49-55, 73-79, 116-126" note: "Read only when gg_boot_from_bios is enabled or the emulator runs without a cartridge, both off by default." # ------------------------------------------------------- @@ -204,7 +221,7 @@ files: required: false size: 256 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/gb.rs:29-33,77-89, backend/gb-core/src/memory.rs:9,45-63 (DMG_BOOT_ROM_LEN check)" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/gb.rs:32-36, 78-90, backend/gb-core/src/memory.rs:9, 45-63 (DMG_BOOT_ROM_LEN check)" note: "Loaded only when dmg_boot_rom is enabled, off by default. Without it the CPU starts post-boot." - name: "cgb_boot.bin" @@ -214,7 +231,7 @@ files: min_size: 2048 max_size: 2304 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/gb.rs:34-38, 77-89, backend/gb-core/src/memory.rs:10, 45-63, backend/gb-core/src/memory.rs:164 (CGB_BOOT_ROM_LEN check and pad_cgb_boot_rom)" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/gb.rs:37-41, frontend/jgenesis-native-driver/src/mainloop/gb.rs:78-90, backend/gb-core/src/memory.rs:10, 45-63, backend/gb-core/src/memory.rs:164 (CGB_BOOT_ROM_LEN check and pad_cgb_boot_rom)" note: "Loaded only when cgb_boot_rom is enabled, off by default. 2304 bytes is taken as is, 2048 bytes gets the filler page inserted." # ------------------------------------------------------- diff --git a/emulators/jl-mod.yml b/emulators/jl-mod.yml index c1775e76..1ad61a36 100644 --- a/emulators/jl-mod.yml +++ b/emulators/jl-mod.yml @@ -175,7 +175,7 @@ files: category: game_data description: "Third party licence text of the about screen" note: "Read when the licences dialog is opened and shown as HTML. Emulation never touches it." - source_ref: "upstream app/src/main/java/ru/playsoftware/j2meloader/info/LicensesDialogFragment.java:35" + source_ref: "source app/src/main/java/ru/playsoftware/j2meloader/info/LicensesDialogFragment.java:35" - name: appcenter.cer system: j2me diff --git a/emulators/jollycv.yml b/emulators/jollycv.yml index 08a5f480..ef37d8e7 100644 --- a/emulators/jollycv.yml +++ b/emulators/jollycv.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/jollycv" upstream: "https://gitlab.com/jgemu/jollycv" profiled_date: "2026-09-17" source_commit: "2790d59c7194d29e83f8603ffd7e9da17f11575e" -upstream_commit: "18875ffdb1891cec04217cf02928af563a3af9d8" +upstream_commit: "3caacb22143543d5c7de4f3208def645a2ec0ab5" core_version: "2.1.0" display_name: "ColecoVision/CreatiVision/My Vision (JollyCV)" cores: diff --git a/emulators/julius.yml b/emulators/julius.yml index c978fa6b..486a2a7b 100644 --- a/emulators/julius.yml +++ b/emulators/julius.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/bvschaik/julius" upstream: "https://github.com/bvschaik/julius" profiled_date: "2026-10-17" -source_commit: "33c777019b2640b847b73815c3b4344cf7bd9576" +source_commit: "34d1ecd54befb845c0139b371fa8a0438210dac1" core_version: "1.7.0" display_name: "Caesar III (Julius)" cores: @@ -20,12 +20,12 @@ notes: | The data directory is the command-line argument. pre_init() makes it the base path and runs game_pre_init(). A missing directory shows "Julius requires the original files from Caesar 3" and exits - (ref: src/platform/julius.c:488-501, 580-586). File lookups are + (ref: src/platform/julius.c:494-507, 586-592). File lookups are case-corrected inside that directory. Startup loads, in order, the text and message files c3.eng and c3_mm.eng (c3.rus and c3_mm.rus as the alternative pair) - (ref: src/game/game.c:48-63, src/core/lang.c:141-165), the central + (ref: src/game/game.c:48-63, src/core/lang.c:142-166), the central climate graphics c3.sg2 and c3.555, the barbarian enemy graphics goths.sg2 and goths.555, and c3_model.txt (ref: src/game/game.c:79-104). Any of them missing aborts init. The_empire.555 is loaded with the @@ -45,7 +45,7 @@ files: category: game_data required: true description: "Caesar III install directory" - source_ref: "src/platform/julius.c:488-501" + source_ref: "src/platform/julius.c:494-507" note: "Given on the command line. Every game file is opened by name inside it." - name: "c3.eng" path: "caesar3/c3.eng" @@ -53,7 +53,7 @@ files: category: game_data required: true description: "Caesar III interface text" - source_ref: "src/core/lang.c:23, 74-80, 141-165" + source_ref: "src/core/lang.c:24, src/core/lang.c:75-81, src/core/lang.c:142-166" note: "Rejected when outside MIN_TEXT_SIZE..MAX_TEXT_SIZE. c3.rus replaces it on a Russian install." - name: "c3_mm.eng" path: "caesar3/c3_mm.eng" @@ -61,7 +61,7 @@ files: category: game_data required: true description: "Caesar III message text" - source_ref: "src/core/lang.c:24, 129-150, 160-165" + source_ref: "src/core/lang.c:25, src/core/lang.c:130-151, src/core/lang.c:161-166" note: "Loaded as a pair with c3.eng, and c3_mm.rus replaces it on a Russian install." - name: "c3.sg2" path: "caesar3/c3.sg2" @@ -69,28 +69,28 @@ files: category: game_data required: true description: "Main graphics index, central climate" - source_ref: "src/core/image.c:48-52, 295-306, src/game/game.c:83-86" + source_ref: "src/core/image.c:48-52, src/core/image.c:303-314, src/game/game.c:83-86" - name: "c3.555" path: "caesar3/c3.555" system: "caesar3" category: game_data required: true description: "Main graphics bitmaps, central climate" - source_ref: "src/core/image.c:53-57, 314-317, src/game/game.c:83-86" + source_ref: "src/core/image.c:53-57, src/core/image.c:322-325, src/game/game.c:83-86" - name: "goths.sg2" path: "caesar3/goths.sg2" system: "caesar3" category: game_data required: true description: "Barbarian enemy graphics index" - source_ref: "src/core/image.c:79, 667-675, src/game/game.c:87-90" + source_ref: "src/core/image.c:79, src/core/image.c:678-686, src/game/game.c:87-90" - name: "goths.555" path: "caesar3/goths.555" system: "caesar3" category: game_data required: true description: "Barbarian enemy graphics bitmaps" - source_ref: "src/core/image.c:101, 681-684, src/game/game.c:87-90" + source_ref: "src/core/image.c:101, src/core/image.c:692-695, src/game/game.c:87-90" - name: "c3_model.txt" path: "caesar3/c3_model.txt" system: "caesar3" diff --git a/emulators/kemulator.yml b/emulators/kemulator.yml index 190d1d7a..63e40d91 100644 --- a/emulators/kemulator.yml +++ b/emulators/kemulator.yml @@ -5,7 +5,7 @@ source: "https://github.com/shinovon/KEmulator" upstream: "https://github.com/shinovon/KEmulator" author: "shinovon" profiled_date: "2026-08-11" -source_commit: "769149212e167512b7792953f7646e543d29b9af" +source_commit: "f7e6bf9f2da4d3620ed08cdda1de696d87a5dc0e" core_version: "2.21.5" display_name: "Mobile - J2ME (KEmulator nnmod)" cores: diff --git a/emulators/lightspark.yml b/emulators/lightspark.yml index 14040b0b..f4133ace 100644 --- a/emulators/lightspark.yml +++ b/emulators/lightspark.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/lightspark/lightspark" upstream: "https://github.com/lightspark/lightspark" profiled_date: "2026-08-08" -source_commit: "bfe122834a17ab63a80f5ec36ff7c0dbfcac0321" +source_commit: "6f07fd65cb95b88ff73e905bf78a1a8b1ddf6049" core_version: "0.9.0" display_name: "Adobe Flash (Lightspark)" cores: diff --git a/emulators/linapple.yml b/emulators/linapple.yml index 0dad1d8c..11877414 100644 --- a/emulators/linapple.yml +++ b/emulators/linapple.yml @@ -5,6 +5,7 @@ source: "https://github.com/linappleii/linapple" upstream: "https://github.com/AppleWin/AppleWin" profiled_date: "2026-10-20" source_commit: "86bee1c2b59bd4706185ceddddaf383b3416726f" +upstream_commit: "35366c56439701b58ce9efd4039118e26d725c44" core_version: "3.0.0" display_name: "Apple - Apple II (LinApple)" cores: diff --git a/emulators/lrps2.yml b/emulators/lrps2.yml index 6b189103..2d827a16 100644 --- a/emulators/lrps2.yml +++ b/emulators/lrps2.yml @@ -9,8 +9,8 @@ bios_mode: agnostic source: "https://github.com/libretro/parallel-ps2" upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-10-21" -source_commit: "6664c60294ee05fe5e8c7645ab7da546dae78ed2" -upstream_commit: "a81f1aa39fc56ef60dbc913637c74c49c1792033" +source_commit: "38d3a83f4ecdec977d609ece8afcc527f5f68702" +upstream_commit: "7fe1e5525a2c219c119aa9586cee4ceae2f54ce1" core_version: "Git" display_name: "Sony - PlayStation 2 (LRPS2)" cores: [lrps2, pcsx2, "ps2"] diff --git a/emulators/mame.yml b/emulators/mame.yml index b32a2385..fec1a33b 100644 --- a/emulators/mame.yml +++ b/emulators/mame.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame" upstream: "https://github.com/mamedev/mame" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-29" -source_commit: "9069f39340f2d2b1795df8e71bb1d3d0fbc76598" +source_commit: "5f5a07748ce5c239c4118463ce8e6473743d4859" upstream_commit: "f34f02505e32c1993c6a782b6814232cbfc74e36" core_version: "0.289" display_name: "Arcade (MAME)" @@ -3935,7 +3935,7 @@ files: source_ref: "source src/mame/apple/mac128.cpp:1611-1615, source src/mame/apple/mac128.cpp:1306-1345" note: >- Macintosh SE. Removes the keyboard port and adds the adbmodem ADB - controller (mac128.cpp:1314, 1339). + controller (src/mame/apple/mac128.cpp:1314, 1339). contents: - name: "macse.rom" size: 262144 @@ -3948,7 +3948,7 @@ files: source_ref: "source src/mame/apple/mac128.cpp:1623-1627, source src/mame/apple/mac128.cpp:1384-1386" note: >- Macintosh Classic, built on macsefd and so on macse, adbmodem included - (mac128.cpp:1370-1372, 1384-1386). + (src/mame/apple/mac128.cpp:1370-1372, 1384-1386). contents: - name: "341-0813__=c=1983-90_apple__japan__910d_d.27c4096_be.ue1" size: 524288 @@ -3974,7 +3974,7 @@ files: source_ref: "source src/mame/apple/macii.cpp:1158-1161, source src/mame/apple/macii.cpp:1067-1069" note: >- Macintosh IIx, clone of mac2fdhd built on the same config - (macii.cpp:1067-1069). Its only ROM is the 97221136.rom of the parent, + (src/mame/apple/macii.cpp:1067-1069). Its only ROM is the 97221136.rom of the parent, so a split set loads it from mac2fdhd.zip. contents: - name: "97221136.rom" @@ -3988,7 +3988,7 @@ files: source_ref: "source src/mame/apple/maclc3.cpp:416-419, source src/mame/apple/maclc3.cpp:340-341" note: >- Macintosh LC III. ADB through the Egret controller with its 341s0851 - BIOS selected (maclc3.cpp:340-341). + BIOS selected (src/mame/apple/maclc3.cpp:340-341). contents: - name: "ecbbc41c.rom" size: 1048576 @@ -4001,7 +4001,7 @@ files: source_ref: "source src/mame/apple/adbmodem.cpp:30-33, source src/mame/apple/adbmodem.cpp:28" note: >- ADB modem microcontroller of macse, macclasc, mac2fdhd and maciix - (mac128.cpp:1339, macii.cpp:1016). + (src/mame/apple/mac128.cpp:1339, src/mame/apple/macii.cpp:1016). contents: - name: "342s0440-b.bin" size: 1024 @@ -4015,7 +4015,7 @@ files: source_ref: "source src/mame/apple/egret.cpp:67-79, source src/mame/apple/egret.cpp:65" note: >- Egret ADB/I2C microcontroller, three ROM_SYSTEM_BIOS options. maclc3 - selects 341s0851 (maclc3.cpp:341), the only member that machine loads. + selects 341s0851 (src/mame/apple/maclc3.cpp:341), the only member that machine loads. contents: - name: "344s0100.bin" description: "BIOS option Egret 1.00 (344S0100)" @@ -4053,7 +4053,7 @@ files: system: apple-macintosh-ii source_ref: "source src/devices/bus/mackbd/pluskbd.cpp:101-104, source src/devices/bus/mackbd/pluskbd.cpp:124-126, source src/devices/bus/mackbd/pluskbd.cpp:506" note: >- - M0110A keyboard, the macplus default (mac128.cpp:1264). + M0110A keyboard, the macplus default (src/mame/apple/mac128.cpp:1264). contents: - name: "341-0332-a.bin" size: 1024 @@ -4110,7 +4110,7 @@ files: source_ref: "source src/mame/acorn/electron.cpp:730-733, source src/mame/acorn/electron.cpp:661-662" note: >- Acorn Electron. The expansion port defaults to the Plus 3, whose own - port defaults to the Plus 1 (electron.cpp:620-623, 661-662). Parent of + port defaults to the Plus 1 (src/mame/acorn/electron.cpp:620-623, 661-662). Parent of electron64. contents: - name: "os_basic.ic2" @@ -4125,7 +4125,7 @@ files: note: >- Electron with the Slogger 64K Master RAM Board, clone of electron with its own OS ROM. Same expansion devices as electron - (electron.cpp:693-695). + (src/mame/acorn/electron.cpp:693-695). contents: - name: "basic.rom" size: 16384 @@ -4156,7 +4156,7 @@ files: source_ref: "source src/devices/bus/electron/plus3.cpp:53-69, source src/devices/bus/electron/plus3.cpp:27" note: >- Acorn Plus 3 disc expansion, the default device on the Electron - expansion port (electron.cpp:661). Five ROM_SYSTEM_BIOS options, ADFS + expansion port (src/mame/acorn/electron.cpp:661). Five ROM_SYSTEM_BIOS options, ADFS 1.00 first. contents: - name: "adfs.rom" diff --git a/emulators/mame0258.yml b/emulators/mame0258.yml index 60b4a817..55271557 100644 --- a/emulators/mame0258.yml +++ b/emulators/mame0258.yml @@ -6,6 +6,7 @@ upstream: https://github.com/mamedev/mame/tree/mame0258 profiled_date: '2026-10-22' source_commit: dc1a96537089d6d4ecd01d9886b21061471c70c0 upstream_commit: 2e0aa823508663c4a27164be43467d1ef740cdcd +pin_frozen: 'Recalbox, the only platform that ships it, builds this revision (Recalbox package/libretro-mame0258/libretro-mame0258.mk:8 at tag 10.1.1). Later commits are not part of that build.' core_version: '0.258' display_name: Arcade (MAME 0.258) cores: diff --git a/emulators/mame0278.yml b/emulators/mame0278.yml index b4677360..ba1390e6 100644 --- a/emulators/mame0278.yml +++ b/emulators/mame0278.yml @@ -6,6 +6,7 @@ upstream: https://github.com/mamedev/mame/tree/mame0278 profiled_date: '2026-10-22' source_commit: fba50741006fa3e27e1897f589d2048a505b8fd6 upstream_commit: eb05584a2b8d98d5af5587244c9cb7dcccf660fd +pin_frozen: 'Recalbox, the only platform that ships it, builds this revision (Recalbox package/libretro-mame0278/libretro-mame0278.mk:8 at tag 10.1.1). Later commits are not part of that build.' core_version: '0.278' display_name: Arcade (MAME 0.278) cores: diff --git a/emulators/mame2003_plus.yml b/emulators/mame2003_plus.yml index a9139a0e..4ec2a6ce 100644 --- a/emulators/mame2003_plus.yml +++ b/emulators/mame2003_plus.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2003-plus-libretro" upstream: "https://www.mamedev.org" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-24" -source_commit: "f073a5af73503e782ae2e01dc84d7904028e5203" +source_commit: "ffc68e38d9e6eca1b64dc8f50175b63447d37e49" core_version: "2003-Plus" display_name: "Arcade (MAME 2003-Plus)" mame_version: "0.78 (plus backports)" @@ -33,6 +33,10 @@ systems: - zn1-video-system - zn1-acclaim - zn1-atlus + - atari-zn1 + - eighting-zn1 + - sega-model2 + - namco-system11 - century-cvs - arcade @@ -54,8 +58,9 @@ notes: | Requires a mame2003-plus-specific romset for full CRC32/SHA1 compatibility. Neo Geo uses mame.sm1, mamelo.lo, sfix.sfx naming. PGM uses pgm_p01s.rom naming. - ZN-1/ZN-2 boards are present but most games are NOT_WORKING (incomplete PS1 - emulation in the 0.78 codebase). PGM and ST-V have partial support. + ZN-1/ZN-2 sets are named after the board BIOS (coh1000c, coh3002c, ...) and + each BIOS set carries the CAT702 key of the main board. Namco System 11 games + run the C76 BIOS from namcoc76.zip. PGM and ST-V have partial support. Data files go in {system_dir}/mame2003-plus/. Samples in samples/ subfolder, artwork in artwork/ subfolder (both per-game ZIPs). hiscore.dat is compiled @@ -69,10 +74,10 @@ files: required: false category: game_data system: arcade - sha1: "c086306096722da7f02f624e7efb447659aca1d3" - md5: "2f60c1ed69c152dea95e734979ca2ecb" - size: 131878 - source_ref: "src/hiscore.c:15,102-116,248, src/cpuexec.c:296-298" + sha1: "d41b1c32e9f5bee0cfca766a64f208dda081858b" + md5: "8be16faf51b064050359c10aa3850c27" + size: 131902 + source_ref: "src/hiscore.c:15,102-116,248, src/cpuexec.c:345-347" note: >- high score definitions, compiled into binary and spawned on first run. metadata/hiscore.dat of the core repository. The compiled copy @@ -108,7 +113,7 @@ files: # Artwork the core repository ships in metadata/artwork. artwork_load_artwork_file # opens .art inside artwork/.zip, walking the clone chain, when # the Display Artwork core option keeps its enabled default. - # ref: src/artwork.c:2242-2258, src/fileio.c:246-248, src/mame2003/core_options.c:223-236 + # ref: src/artwork.c:2242-2258, src/fileio.c:246-248, src/mame2003/core_options.c:226-239 - name: "blueshrk.zip" path: "mame2003-plus/artwork/blueshrk.zip" @@ -124,6 +129,17 @@ files: metadata/artwork of the core repository at source_commit. The core zip carries the library alone. + - name: "dotron.zip" + path: "mame2003-plus/artwork/dotron.zip" + required: false + category: game_data + system: arcade + size: 2010009 + sha1: "c6d6579ffe0f709ff7861747ba17cb2931dce1b5" + md5: "e284ec87c3d7978628c78d8031b7dd98" + description: "Discs of Tron backdrop" + source_ref: "src/artwork.c:2242-2258, src/fileio.c:246-248" + - name: "frogs.zip" path: "mame2003-plus/artwork/frogs.zip" required: false @@ -270,7 +286,7 @@ files: category: bios_zip system: igs-pgm note: "PGM system BIOS - 68K program, text tiles, samples" - source_ref: "src/drivers/pgm.c:3459-3468" + source_ref: "src/drivers/pgm.c:4305-4314" contents: - name: pgm_p01s.rom description: 68K BIOS @@ -293,7 +309,7 @@ files: category: bios_zip system: sega-stv note: "ST-V (Saturn-based arcade) BIOS, 6 region variants" - source_ref: "src/drivers/stv.c:3741-3767" + source_ref: "src/drivers/stv.c:3742-3768" contents: - name: epr19730.ic8 description: Japan @@ -322,7 +338,7 @@ files: category: bios_zip system: sega-megaplay note: "Mega Play BIOS, 2 versions" - source_ref: "src/drivers/segac2.c:5794-5804" + source_ref: "src/drivers/segac2.c:5996-6006" contents: - name: ep15294.ic2 description: Mega Play BIOS v1 @@ -339,7 +355,7 @@ files: category: bios_zip system: sega-megatech note: "Mega Tech BIOS - menu/instruction screen processor" - source_ref: "src/drivers/segac2.c:5434-5437" + source_ref: "src/drivers/segac2.c:5636-5639" contents: - name: epr12664.20 description: Mega Tech BIOS @@ -479,88 +495,217 @@ files: crc32: "d5fa95f5" # --------------------------------------------------------- - # ZN-1/ZN-2 PlayStation-based arcade boards - # Most are NOT_WORKING in mame2003-plus due to - # incomplete PS1 emulation in the 0.78 codebase + # ZN-1/ZN-2 PlayStation-based arcade boards. Each BIOS set holds + # the board BIOS and the CAT702 security key of the main board. # --------------------------------------------------------- - # Capcom ZN-1 - - name: cpzn1.zip + - name: coh1000c.zip required: true category: bios_zip system: zn1-capcom - note: "Capcom ZN-1 BIOS (PS1-based). Most games NOT_WORKING" - source_ref: "src/drivers/zn.c:1016-1018" + note: "Capcom ZN-1 BIOS" + source_ref: "src/drivers/zn.c:3473-3478, 3487-3500, 5993" contents: - - name: coh1002c.bin - description: Capcom ZN-1 BIOS + - name: "m534002c-13.ic353" + description: BIOS size: 524288 crc32: "50033af6" + sha1: "486d92ff6c7f1e54f8e0ef41cd9116eca0e10e1a" + - name: "cp01.ic652" + description: CAT702 key, main board + size: 8 + crc32: "bb7ba033" + sha1: "966f3aee5d00e1312c455f855915d621e6cb0672" - # Capcom ZN-2 - - name: cpzn2.zip + - name: coh3002c.zip required: true category: bios_zip system: zn2-capcom - note: "Capcom ZN-2 BIOS (PS1-based). Most games NOT_WORKING" - source_ref: "src/drivers/zn.c:1274-1276" + note: "Capcom ZN-2 BIOS" + source_ref: "src/drivers/zn.c:3480-3485, 3921-3934, 6014" contents: - - name: coh3002c.bin - description: Capcom ZN-2 BIOS + - name: "m534002c-59.ic353" + description: BIOS size: 524288 crc32: "e860ea8b" + sha1: "66e7e1d4e426466b8f48a2ba055a91b475569504" + - name: "cp10.ic652" + description: CAT702 key, main board + size: 8 + crc32: "7808fcef" + sha1: "3c3fb8227b05dace042dc1429b9f2355b1a15638" - # Taito FX-1 - - name: taitofx1.zip + - name: coh1000t.zip required: true category: bios_zip system: zn1-taito - note: "Taito FX-1 BIOS (PS1-based). Most games NOT_WORKING" - source_ref: "src/drivers/zn.c:1579-1581" + note: "Taito FX-1 BIOS" + source_ref: "src/drivers/zn.c:5127-5132, 5134-5136, 6101" contents: - - name: coh1002t.bin - description: Taito FX-1 BIOS + - name: "m534002c-14.ic353" + description: BIOS size: 524288 crc32: "e3f23b6e" + sha1: "e18907cf8c6ba54d96edba0a9a00487a90219e0d" + - name: "tt01.ic652" + description: CAT702 key, main board + size: 8 + crc32: "daac13e7" + sha1: "96d94f2b06fb7ecd91454969f4959a583ffb9d5a" - # Tecmo TPS - - name: tps.zip + - name: coh1002m.zip required: true category: bios_zip system: zn1-tecmo - note: "Tecmo TPS BIOS (PS1-based). Most games NOT_WORKING" - source_ref: "src/drivers/zn.c:1466-1468" + note: "Tecmo TPS BIOS" + source_ref: "src/drivers/zn.c:4662-4667, 4672-4674, 6066" contents: - - name: coh1002m.bin - description: Tecmo TPS BIOS + - name: "m534002c-61.ic353" + description: BIOS size: 524288 crc32: "69ffbcb4" + sha1: "03eb2febfab3fcde716defff291babd9392de965" + - name: "mg01.ic652" + description: CAT702 key, main board + size: 8 + crc32: "50dc8322" + sha1: "cef4011c6c06d6fce546e1db5d9fbae155eabf57" - # Video System / Taito KN - - name: sncwgltd.zip - required: false + - name: coh1002v.zip + required: true category: bios_zip system: zn1-video-system - note: "Video System KN BIOS (PS1-based). NOT_WORKING" - source_ref: "src/drivers/zn.c:1555-1557" + note: "Video System ZN-1 BIOS" + source_ref: "src/drivers/zn.c:5026-5031, 5044-5046, 6089" contents: - - name: coh1002v.bin - description: KN BIOS + - name: "coh-1002v.ic353" + description: BIOS size: 524288 crc32: "5ff165f3" + sha1: "8f59314c1093446b9bcb06d232244da6df78e206" + - name: "kn01.ic652" + description: CAT702 key, main board + size: 8 + crc32: "1ce271df" + sha1: "b01479dc75a4a8a86bee7ac7cd10af2bda332544" - # Acclaim PSX - - name: acpsx.zip + - name: coh1000a.zip required: true category: bios_zip system: zn1-acclaim - note: "Acclaim PSX BIOS (PS1-based). NOT_WORKING" - source_ref: "src/drivers/zn.c:1815-1817" + note: "Acclaim ZN-1 BIOS" + source_ref: "src/drivers/zn.c:5888-5893, 5895-5897, 6057" contents: - - name: coh1000a.bin - description: Acclaim PSX BIOS + - name: "m534002c-15.ic353" + description: BIOS size: 524288 crc32: "8d8d0764" + sha1: "7ee83d317190bb1cef2f8f01c81eaaae47150ebb" + - name: "ac01.ic652" + description: CAT702 key, main board + size: 8 + crc32: "c425eaf5" + sha1: "decf77ab50f7f58c641c3214a11647924f3a8998" + + - name: coh1001l.zip + required: true + category: bios_zip + system: zn1-atlus + note: "Atlus ZN-1 BIOS" + source_ref: "src/drivers/zn.c:5090-5095, 5097-5099, 6096" + contents: + - name: "m534002c-17.ic353" + description: BIOS + size: 524288 + crc32: "6721146b" + sha1: "9511d24bfe25eb180fb2db0835b131cb4a12730e" + - name: "at01.ic652" + description: CAT702 key, main board + size: 8 + crc32: "181668b3" + sha1: "8d2fe1facb4473cc20b4b477aaf881f9280939cf" + + - name: coh1000w.zip + required: true + category: bios_zip + system: atari-zn1 + note: "Time Warner ZN-1 BIOS" + source_ref: "src/drivers/zn.c:5858-5863, 5865-5867, 6046" + contents: + - name: "msm27c402zb.ic353" + description: BIOS + size: 524288 + crc32: "45e8a4b4" + sha1: "815488d8563c85f97fbc3384ff21f08e4c88b7b7" + - name: "tw01.ic652" + description: CAT702 key, main board + size: 8 + crc32: "1cac067e" + sha1: "8e87941bfb374172628c8a37647e3a66b7166aa8" + + - name: coh1002e.zip + required: true + category: bios_zip + system: eighting-zn1 + note: "Eighting / Raizing ZN-1 BIOS" + source_ref: "src/drivers/zn.c:5566-5571, 5573-5575, 6130" + contents: + - name: "m27c402cz-54.ic353" + description: BIOS + size: 524288 + crc32: "910f3a8b" + sha1: "cd68532967a25f476a6d73473ec6b6f4df2e1689" + - name: "et01.ic652" + description: CAT702 key, main board + size: 8 + crc32: "a7dd922e" + sha1: "1069c1d9015028a51a1b314cfacb014ea90aa425" + + # --------------------------------------------------------- + # Sega Model 2 I/O boards. The games load the I/O board ROM with + # ROM_LOAD_OPTIONAL and simulate the board when it is absent. + # --------------------------------------------------------- + - name: model1io.zip + required: false + category: bios_zip + system: sega-model2 + note: "Model 1 I/O board BIOS, read by Daytona USA and Desert Tank" + source_ref: "src/drivers/model2.c:3321-3324, 3432-3433, 3479-3480, 7030, 7033-7034" + contents: + - name: "epr-14869c.25" + description: I/O board Z80 program + size: 65536 + crc32: "24b68e64" + sha1: "c19d044d4c2fe551474492aa51922587394dd371" + + - name: model1io2.zip + required: false + category: bios_zip + system: sega-model2 + note: "Model 1 I/O board 2 BIOS, read by Virtua Cop" + source_ref: "src/drivers/model2.c:3326-3329, 3372-3373, 7031-7032" + contents: + - name: "epr-17181.6" + description: I/O board Z80 program + size: 65536 + crc32: "1add2b82" + sha1: "81892251d466f630a96af25bde652c20e47d7ede" + + # --------------------------------------------------------- + # Namco System 11 (namcoc76.zip) + # --------------------------------------------------------- + - name: namcoc76.zip + required: true + category: bios_zip + system: namco-system11 + note: "Namco C76 (M37702) internal BIOS, runs sound, inputs and coins" + source_ref: "src/drivers/namcos11.c:1294-1300, 2262" + contents: + - name: "c76.bin" + description: C76 internal BIOS + size: 16384 + crc32: "399faac7" + sha1: "ceb184ef0486caf715dd997101999785f67a40b8" # Century Electronics CVS - name: cvs.zip @@ -581,11 +726,3 @@ files: description: PROM size: 32 crc32: "b5221cec" - - # Atlus PSX (PSARC95) - BIOS ROM is NO_DUMP - # - name: psarc95.zip - # note: "PSARC95 BIOS is NO_DUMP (coh1002e.bin), games won't boot" - - # Atari PSX - BIOS ROM is NO_DUMP - # - name: atpsx.zip - # note: "Atari PSX BIOS is NO_DUMP (coh1000t.bin), games won't boot" diff --git a/emulators/mame2014.yml b/emulators/mame2014.yml index 02e3b622..8c894187 100644 --- a/emulators/mame2014.yml +++ b/emulators/mame2014.yml @@ -7,6 +7,7 @@ logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/ profiled_date: "2026-10-20" source_commit: "c8fe6c7399f24466808b67933b2b96feea188e0b" upstream_commit: "0147bb4cc82e642cf75151f039f240eb20989fbc" +pin_frozen: "RetroBat, the only platform that ships it, distributes a build of this revision: the mame2014_libretro.dll of its win64 stable core repository reports library_version \"0.160 c8fe6c7\". Later commits are not part of that build." core_version: "0.160" display_name: "Arcade (MAME 2014)" mame_version: "0.160" diff --git a/emulators/mamearcade.yml b/emulators/mamearcade.yml index fdaab372..006f19b3 100644 --- a/emulators/mamearcade.yml +++ b/emulators/mamearcade.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/mame" upstream: "https://github.com/mamedev/mame" profiled_date: "2026-03-24" -source_commit: "9069f39340f2d2b1795df8e71bb1d3d0fbc76598" +source_commit: "5f5a07748ce5c239c4118463ce8e6473743d4859" upstream_commit: "f34f02505e32c1993c6a782b6814232cbfc74e36" core_version: "0.289" display_name: "Arcade (MAME/Arcade)" diff --git a/emulators/mamemess.yml b/emulators/mamemess.yml index 2db10e90..c90ea513 100644 --- a/emulators/mamemess.yml +++ b/emulators/mamemess.yml @@ -4,8 +4,8 @@ core_classification: official_port source: "https://github.com/libretro/mame" upstream: "https://github.com/mamedev/mame" profiled_date: "2026-03-29" -source_commit: "9069f39340f2d2b1795df8e71bb1d3d0fbc76598" -upstream_commit: "728d957663041fbc943806bf151584acd03e2160" +source_commit: "5f5a07748ce5c239c4118463ce8e6473743d4859" +upstream_commit: "61a222977fd29f22ce11fbea3f7c290fd7ced091" core_version: "0.287" display_name: "Multi (MAME/MESS)" @@ -912,7 +912,7 @@ files: required: true category: bios_zip system: casio-pv2000 - source_ref: "upstream src/mame/casio/pv2000.cpp:416-419" + source_ref: "upstream src/mame/casio/pv2000.cpp:415-418" contents: - name: hn613128pc64.bin description: Z80 BASIC ROM diff --git a/emulators/mariani.yml b/emulators/mariani.yml index 6061d162..e2c9ce21 100644 --- a/emulators/mariani.yml +++ b/emulators/mariani.yml @@ -447,7 +447,7 @@ files: size: 13444 md5: 034527d42a96d0f39977cb85c6a8f2d8 sha1: fcfbbb25e06f58d13e762b02bfd468c834d98fc8 - source_ref: "upstream source/Debugger/Debugger_Symbols.cpp:46, 774, 814-817, source source/Debugger/Debug.cpp:9495-9496" + source_ref: "source source/Debugger/Debugger_Symbols.cpp:46, 774, 814-817, source source/Debugger/Debug.cpp:9495-9496" note: > Preloaded into the Main table when the emulator starts. Read from the support directory first, then from the bundle. Parsed as lines of address @@ -460,7 +460,7 @@ files: size: 15378 md5: 7253a9ba7d7ca807016f5adc0207dd7b sha1: 496a0bd1af463fce81b362da9e4757a993e355d5 - source_ref: "upstream source/Debugger/Debugger_Symbols.cpp:47, 774, 814-817, source source/Debugger/Debug.cpp:9498-9499" + source_ref: "source source/Debugger/Debugger_Symbols.cpp:47, 774, 814-817, source source/Debugger/Debug.cpp:9498-9499" note: "Preloaded into the Basic table when the emulator starts." - name: A2_DOS33.SYM2 @@ -469,7 +469,7 @@ files: size: 2380 md5: 88bd69906b4b3109b3f31472fb4b47f4 sha1: 51cc84e2cbd9bd61d50a0931cdae0a2ef0a57d6c - source_ref: "upstream source/Debugger/Debugger_Symbols.cpp:53, 774-806, source source/Debugger/Debug.cpp:9502-9503" + source_ref: "source source/Debugger/Debugger_Symbols.cpp:53, 774-806, source source/Debugger/Debug.cpp:9502-9503" note: > Preloaded into the DOS33 table when the emulator starts. The .SYM2 extension routes it through the debugger script reader instead of the diff --git a/emulators/md-emu.yml b/emulators/md-emu.yml index 3b5789bb..ef126a0a 100644 --- a/emulators/md-emu.yml +++ b/emulators/md-emu.yml @@ -5,7 +5,7 @@ source: "https://github.com/Rakashazi/emu-ex-plus-alpha" upstream: "https://github.com/ekeeke/Genesis-Plus-GX" profiled_date: "2026-08-12" source_commit: "1c12fac5ce49badaadff2e2f210dcc30b89f4943" -upstream_commit: "27426f00aa68f9f358c86919e8a40985326fa05b" +upstream_commit: "49c584764893b0505ac7f768a754f97330fa4392" core_version: "1.5.85" display_name: "Sega - MS/MD/CD (MD.emu)" mode: standalone diff --git a/emulators/mednafen_pce_fast.yml b/emulators/mednafen_pce_fast.yml index d03a6565..0053d1d9 100644 --- a/emulators/mednafen_pce_fast.yml +++ b/emulators/mednafen_pce_fast.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-pce-fast-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-24" -source_commit: "3f946f277aef3aa99a95551618bbcd1dd2bda0d9" +source_commit: "4eee99c451f85ebe66d1591de88b892015b23059" core_version: "v1.31.0.0" display_name: "NEC - PC Engine / CD (Beetle PCE FAST)" cores: [mednafen_pce_fast, pce_fast, beetle_pce_fast] diff --git a/emulators/mednafen_stv.yml b/emulators/mednafen_stv.yml index 3a12dd91..2a14160a 100644 --- a/emulators/mednafen_stv.yml +++ b/emulators/mednafen_stv.yml @@ -4,8 +4,8 @@ core_classification: community_fork source: "https://github.com/beudbeud/libretro-stv" upstream: "https://mednafen.github.io/" profiled_date: "2026-10-17" -source_commit: "2e42ef0c5d8238c170bcf182e68951c214fc6867" -core_version: "v1.2.1" +source_commit: "4e899aa2951a4714f82523d2d0f00c98599fd574" +core_version: "v1.8.0" display_name: "Sega - ST-V (Mednafen STV)" cores: - "mednafen_stv" @@ -21,24 +21,26 @@ notes: | retro_init() points filesys.path_firmware at the frontend system directory and names the BIOS of every region - (ref: libretro/libretro.cpp:615-641). The ST-V BIOS is picked by SMPC + (ref: libretro/libretro.cpp:608-634). The ST-V BIOS is picked by SMPC area: Japan, Asia NTSC, Europe PAL, and North America for every other - area (ref: mednafen/ss/ss.cpp:1436-1446, mednafen/ss/smpc.h:32-40). + area (ref: mednafen/ss/ss.cpp:1521-1531, mednafen/ss/smpc.h:32-40). A Saturn disc takes sega_101.bin for Japan and Asia NTSC and - mpr-17933.bin otherwise (ref: mednafen/ss/ss.cpp:1447-1453). + mpr-17933.bin otherwise (ref: mednafen/ss/ss.cpp:1532-1538). - The loose file is tried first and must be exactly 524288 bytes. When it - is missing or the wrong size, the same name is looked up at the root of - stvbios.zip in the system directory, then without the leading slash - (ref: mednafen/ss/ss.cpp:1455-1491). With ss.bios_sanity on, the - default, a file named like one of the five Saturn BIOS images must - match its SHA-256. The ST-V images are not in that table and only the - size check applies (ref: mednafen/ss/ss.cpp:1493-1540, 2549). + The BIOS is searched in the system directory, then in the directory of + the loaded game. In each, the loose file is tried first and must be + exactly 524288 bytes. When it is missing or the wrong size, the same + name is looked up at the root of stvbios.zip in that directory, then + without the leading slash (ref: mednafen/ss/ss.cpp:1540-1582). With + ss.bios_sanity on, the default, a file named like one of the five + Saturn BIOS images must match its SHA-256. The ST-V images are not in + that table and only the size check applies + (ref: mednafen/ss/ss.cpp:1586-1633, 2646). Saturn games that need the KoF 95 or Ultraman ROM cartridge, and the Action Replay 4M Plus cart type, open their ROM from the firmware directory under the default names below - (ref: mednafen/ss/ss.cpp:1348-1350, 1404-1412, 2542-2544). + (ref: mednafen/ss/ss.cpp:1421-1423, 1477-1485, 2639-2641). files: - name: "epr-20091.ic8" @@ -48,7 +50,7 @@ files: size: 524288 validation: [size] description: "ST-V BIOS (Japan)" - source_ref: "libretro/libretro.cpp:636, mednafen/ss/ss.cpp:1438-1439, 1462-1468" + source_ref: "libretro/libretro.cpp:629, mednafen/ss/ss.cpp:1523-1524, mednafen/ss/ss.cpp:1556-1562" - name: "epr-19854.ic8" system: "sega-stv" region: [asia-ntsc] @@ -56,7 +58,7 @@ files: size: 524288 validation: [size] description: "ST-V BIOS (Asia/Taiwan)" - source_ref: "libretro/libretro.cpp:637, mednafen/ss/ss.cpp:1440-1441, 1462-1468" + source_ref: "libretro/libretro.cpp:630, mednafen/ss/ss.cpp:1525-1526, mednafen/ss/ss.cpp:1556-1562" - name: "epr-17952a.ic8" system: "sega-stv" region: [north-america, latin-america, brazil, south-korea, asia-pal] @@ -64,7 +66,7 @@ files: size: 524288 validation: [size] description: "ST-V BIOS (North America)" - source_ref: "libretro/libretro.cpp:638, mednafen/ss/ss.cpp:1444-1445, 1462-1468" + source_ref: "libretro/libretro.cpp:631, mednafen/ss/ss.cpp:1529-1530, mednafen/ss/ss.cpp:1556-1562" note: "Used for every SMPC area other than Japan, Asia NTSC and Europe PAL." - name: "epr-17954a.ic8" system: "sega-stv" @@ -73,14 +75,14 @@ files: size: 524288 validation: [size] description: "ST-V BIOS (Europe)" - source_ref: "libretro/libretro.cpp:639, mednafen/ss/ss.cpp:1442-1443, 1462-1468" + source_ref: "libretro/libretro.cpp:632, mednafen/ss/ss.cpp:1527-1528, mednafen/ss/ss.cpp:1556-1562" - name: "stvbios.zip" system: "sega-stv" category: bios_zip required: false description: "ST-V BIOS archive" - source_ref: "mednafen/ss/ss.cpp:1472-1491" - note: "Read only when the loose BIOS file is missing or not 524288 bytes. The member is found by the BIOS file name, and its size is not checked." + source_ref: "mednafen/ss/ss.cpp:1546-1548, mednafen/ss/ss.cpp:1567-1582" + note: "Read only when the loose BIOS file in the same directory is missing or not 524288 bytes. The system directory comes before the directory of the loaded game. The member is found by the BIOS file name, and its size is not checked." contents: - name: "epr-20091.ic8" - name: "epr-19854.ic8" @@ -94,7 +96,7 @@ files: sha256: "dcfef4b99605f872b6c3b6d05c045385cdea3d1b702906a0ed930df7bcb7deac" validation: [size, sha256] description: "Saturn BIOS (Japan)" - source_ref: "libretro/libretro.cpp:640, mednafen/ss/ss.cpp:1449-1450, 1507, 1520-1521" + source_ref: "libretro/libretro.cpp:633, mednafen/ss/ss.cpp:1534-1535, mednafen/ss/ss.cpp:1600, mednafen/ss/ss.cpp:1613-1614" - name: "mpr-17933.bin" system: "sega-saturn" region: [north-america, latin-america, brazil, south-korea, asia-pal, europe, oceania] @@ -103,22 +105,22 @@ files: sha256: "96e106f740ab448cf89f0dd49dfbac7fe5391cb6bd6e14ad5e3061c13330266f" validation: [size, sha256] description: "Saturn BIOS (North America/Europe)" - source_ref: "libretro/libretro.cpp:641, mednafen/ss/ss.cpp:1451-1452, 1509, 1520-1521" + source_ref: "libretro/libretro.cpp:634, mednafen/ss/ss.cpp:1536-1537, mednafen/ss/ss.cpp:1602, mednafen/ss/ss.cpp:1613-1614" - name: "mpr-18811-mx.ic1" system: "sega-saturn" required: false description: "The King of Fighters '95 ROM cartridge" - source_ref: "mednafen/ss/ss.cpp:1348, 1404-1412, 2542" + source_ref: "mednafen/ss/ss.cpp:1421, mednafen/ss/ss.cpp:1477-1485, mednafen/ss/ss.cpp:2639" note: "Opened only for the game that needs the cart, and that game does not start without it." - name: "mpr-19367-mx.ic1" system: "sega-saturn" required: false description: "Ultraman ROM cartridge" - source_ref: "mednafen/ss/ss.cpp:1349, 1404-1412, 2543" + source_ref: "mednafen/ss/ss.cpp:1422, mednafen/ss/ss.cpp:1477-1485, mednafen/ss/ss.cpp:2640" note: "Opened only for the game that needs the cart, and that game does not start without it." - name: "satar4mp.bin" system: "sega-saturn" required: false description: "Action Replay 4M Plus firmware" - source_ref: "mednafen/ss/ss.cpp:1350, 1404-1412, 2544" + source_ref: "mednafen/ss/ss.cpp:1423, mednafen/ss/ss.cpp:1477-1485, mednafen/ss/ss.cpp:2641" note: "Opened only when the Action Replay 4M Plus cart type is selected." diff --git a/emulators/mednafen_supergrafx.yml b/emulators/mednafen_supergrafx.yml index cab68b82..df67df17 100644 --- a/emulators/mednafen_supergrafx.yml +++ b/emulators/mednafen_supergrafx.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-supergrafx-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-10-04" -source_commit: "eabaaa438b1732d05ff206a97e700f845d6bfa96" +source_commit: "9c11dcd213a79d57d2c86313971631af801f2cdc" core_version: "v1.29.0" display_name: "NEC - PC Engine SuperGrafx (Beetle SuperGrafx)" cores: [mednafen_supergrafx, beetle_supergrafx] diff --git a/emulators/melonds.yml b/emulators/melonds.yml index 519e7d4a..858af261 100644 --- a/emulators/melonds.yml +++ b/emulators/melonds.yml @@ -6,6 +6,7 @@ source: "https://github.com/libretro/melonDS" upstream: "https://github.com/melonDS-emu/melonDS" profiled_date: "2026-03-24" source_commit: "66b5d2634cd0a79030562811e6e05f5532f800ba" +upstream_commit: "7d8dea42e221b13521270c423b61add41a741b97" core_version: "Git" display_name: "Nintendo - DS (melonDS)" systems: [nintendo-ds, nintendo-dsi] diff --git a/emulators/melonds_ds.yml b/emulators/melonds_ds.yml index 066fd054..95f4ac6e 100644 --- a/emulators/melonds_ds.yml +++ b/emulators/melonds_ds.yml @@ -6,7 +6,7 @@ source: "https://github.com/JesseTG/melonds-ds" upstream: "https://github.com/melonDS-emu/melonDS" profiled_date: "2026-10-04" source_commit: "f394adbacb5722ee97c1b37c8064da9a25818310" -upstream_commit: "906e9ebb27da8c6a715cd7abab4abfe8a8d29427" +upstream_commit: "7d8dea42e221b13521270c423b61add41a741b97" core_version: "1.4.0" display_name: "Nintendo - DS (melonDS DS)" systems: diff --git a/emulators/mesence.yml b/emulators/mesence.yml index 0ea80bc6..d3d981bf 100644 --- a/emulators/mesence.yml +++ b/emulators/mesence.yml @@ -7,9 +7,9 @@ source: upstream: "https://github.com/SourMesen/Mesen2" profiled_date: "2026-09-17" source_commit: - standalone: "20f497c9620a7f4e55b7752e1d22734f9d7492fa" + standalone: "4b8a196e299b3de297b204fd1208d2981562c89b" libretro: "4c4e069f16a8ad6ed79e046046c56d51558c7daf" -upstream_commit: "fabc9a62174f8734a113df6d244f5539ef6b8fcf" +upstream_commit: "b9fa69ddc6d0a331fb103fdb5eef6904305703c2" core_version: standalone: "2.2.1" libretro: "2.0.0" @@ -49,7 +49,7 @@ notes: | Core/Shared/FirmwareHelper.h, so both builds read the same names with the same size checks. The buildbot publishes it as mesen2_libretro, and the port announces library_version 2.0.0 (Libretro/libretro.cpp:2803) while the - compiled core reports 2.2.1 (Core/Shared/EmuSettings.cpp:165-168). + compiled core reports 2.2.1 (libretro tree, Core/Shared/EmuSettings.cpp:162-169). Firmware folder. Standalone reads /Firmware/ (Utilities/FolderUtilities.cpp:81-91). The libretro port sets the home folder to the frontend system directory @@ -78,8 +78,8 @@ notes: | (Core/Gameboy/GbBootRom.h:8,49,99), and the external files override them. Super Game Boy mode falls back to the plain GB core when the SNES-side ROM is missing (Core/SNES/BaseCartridge.cpp:698-716). GameboyConfig - keeps UseSgb2 at true and no core option changes it - (Core/Shared/SettingTypes.h:433), so the libretro build only ever asks + keeps UseSgb2 at true and no core option changes it (libretro tree, + Core/Shared/SettingTypes.h:433), so the libretro build only ever asks for SGB2.sfc and sgb2_boot.bin. SGB1.sfc and sgb_boot.bin are standalone reads. The libretro port also offers a "Super Game Boy" subsystem taking a GB ROM plus an SNES-side ROM (Libretro/libretro.cpp:1041-1052): the @@ -406,7 +406,7 @@ files: validation: [size] sha256: "bba9c269273bedb9b38bd5eb23bfaa6e509b8decc7cb80bb5513905af04f4ceb,c6c4daab5c899b69900c460787de6089edabe94b760f96d9f583d30cc0a5bb30,a75160f7b89b1f0e20fd2f6441bb86285c7378db5035ef6885485eaff6059376" note: "Super Game Boy SNES-side ROM (Rev 0/1/2), read when the UseSgb2 setting is off. Without it, GB games run on the plain GB core instead of SGB mode. The libretro build keeps UseSgb2 on and never opens this name." - source_ref: "source Core/SNES/BaseCartridge.cpp:698-716, source Core/Shared/FirmwareHelper.h:208-228, source Core/Shared/SettingTypes.h:433, upstream UI/Interop/FirmwareTypeExtensions.cs:40-47" + source_ref: "source Core/SNES/BaseCartridge.cpp:698-716, source Core/Shared/FirmwareHelper.h:208-228, source Core/Shared/SettingTypes.h:455, upstream UI/Interop/FirmwareTypeExtensions.cs:40-47" - name: "SGB2.sfc" path: "SGB2.sfc" @@ -777,6 +777,20 @@ files: note: "Satellaview data stream for channel 0124. The application extracts it from its embedded Dependencies.zip into /Satellaview/ at startup and preserves user replacements." source_ref: "source Core/SNES/Coprocessors/BSX/BsxStream.cpp:68-74, source UI/Utilities/DependencyHelper.cs:44-48" + # ------------------------------------------------------- + # Shader runtime (auto-deployed by the standalone UI) + # ------------------------------------------------------- + - name: "librashader.dll" + aliases: ["librashader.so"] + standalone_path: "librashader.dll" + mode: standalone + category: game_data + required: false + bundled: true + description: "librashader runtime for RetroArch-format shader presets" + note: "Opened from the working directory, which the UI sets to the home folder, by LoadLibraryW on Windows and dlopen on Linux. The Windows and Linux builds embed it in Dependencies.zip and extract it there at startup, the macOS build ships none. Without it every librashader call is a no-op and shader presets are unavailable." + source_ref: "source Utilities/Video/librashader_ld.h:45-88, 1615-1632, source Utilities/Video/LibrashaderUtilities.h:36-62, source UI/Program.cs:53-57, source UI/Utilities/DependencyHelper.cs:14-64, source .github/workflows/build.yml:43-48, 106-111" + platform_details: firmware_folder: standalone: "Firmware/" diff --git a/emulators/mgba.yml b/emulators/mgba.yml index a1e5719a..94198c12 100644 --- a/emulators/mgba.yml +++ b/emulators/mgba.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/mgba-emu/mgba" logo: "https://raw.githubusercontent.com/mgba-emu/mgba/master/res/mgba-256.png" profiled_date: "2026-03-24" source_commit: "7a12d6d4b9acb14c0ae62c9166b6a2f3d08007f6" +upstream_commit: "fd9dc5c2cbf234365068855851107e762fc6211b" core_version: "0.10-dev" display_name: "Nintendo - Game Boy Advance (mGBA)" cores: diff --git a/emulators/mgba_splitscreen.yml b/emulators/mgba_splitscreen.yml index 64e9a3b4..54fbbea9 100644 --- a/emulators/mgba_splitscreen.yml +++ b/emulators/mgba_splitscreen.yml @@ -4,7 +4,8 @@ core_classification: community_fork source: "https://github.com/Spuds0588/mgba-splitscreen" upstream: "https://github.com/mgba-emu/mgba" profiled_date: "2026-10-04" -source_commit: "b66511a35873bda9c961872813e58b35543bcfc5" +source_commit: "f1d5975d77285f77affbfe64b7050ebd5c4b6a77" +upstream_commit: "fd9dc5c2cbf234365068855851107e762fc6211b" core_version: "0.1.0" display_name: "Nintendo - Game Boy Advance (mGBA Splitscreen)" cores: @@ -20,7 +21,7 @@ notes: | fixes (Four Swords handshake assist and a gated deadlock kick) on top of mGBA's library layer. The player instances live in src/platform/libretro-splitscreen/instances.c and reject anything that - is not a GBA ROM (instances.c:114-119). + is not a GBA ROM (src/platform/libretro-splitscreen/instances.c:114-119). The splitscreen wrapper never performs its own BIOS lookup. Each per-player mCore reaches mGBA's shared GBA core, which looks for diff --git a/emulators/mkxp_z.yml b/emulators/mkxp_z.yml index 030f73ae..8502f717 100644 --- a/emulators/mkxp_z.yml +++ b/emulators/mkxp_z.yml @@ -7,6 +7,7 @@ source_ref: "PR #255 to mkxp-z/mkxp-z" upstream: "https://github.com/mkxp-z/mkxp-z" profiled_date: "2026-03-24" source_commit: "650cb0888a07d0b5044e131160ddfa53feaf595b" +upstream_commit: "37a04d14413454551a7b6aadbb4e93e67168accb" core_version: "f4bc5aa" display_name: "RPG Maker XP/VX/VX Ace (mkxp-z)" cores: diff --git a/emulators/mupen64plus_next.yml b/emulators/mupen64plus_next.yml index 67e9b899..0a6980a9 100644 --- a/emulators/mupen64plus_next.yml +++ b/emulators/mupen64plus_next.yml @@ -4,7 +4,8 @@ core_classification: enhanced_fork source: "https://github.com/libretro/mupen64plus-libretro-nx" upstream: "https://github.com/mupen64plus/mupen64plus-core" profiled_date: "2026-03-24" -source_commit: "12edd2c74a517ff86dfa8cfc71ad75e4c10486d5" +source_commit: "15bada85906593376e8fd697f1b0b3af3a20f512" +upstream_commit: "3be6336a1de6f32ccc4f57bf80c988163fe6bf7a" core_version: "2.6.0" display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next)" systems: [nintendo-64, nintendo-64dd] diff --git a/emulators/native32emu.yml b/emulators/native32emu.yml index 4941468b..debdf618 100644 --- a/emulators/native32emu.yml +++ b/emulators/native32emu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/Native32Emu" upstream: "https://github.com/AloysHF/Native32Emu" profiled_date: "2026-09-03" -source_commit: "3dab17439f885c98a8f9da6362c71e7275da44c5" +source_commit: "b83ed7b315054b16d5468c3882d2e59d6c2180e9" core_version: "1.3.0" display_name: "Sunplus - Native32 (Native32Emu)" cores: @@ -24,10 +24,10 @@ notes: | crates/native32emu-core/src/des_constants.rs). A .zip package is extracted to a temporary directory - (crates/native32emu-core/src/archive_loader.rs:17-61) and booted from + (crates/native32emu-core/src/archive_loader.rs:17-67) and booted from the menu found at its root, FHUI.smf first, then NA32UI.smf (crates/native32emu-core/src/archive_loader.rs:11, - crates/native32emu-core/src/archive_loader.rs:88-122). Every later file + crates/native32emu-core/src/archive_loader.rs:94-128). Every later file is resolved relative to the running content and its parent directories, case-insensitively with trailing spaces trimmed (crates/native32emu-core/src/content_loader.rs:73-130): child .smf and diff --git a/emulators/nesoid.yml b/emulators/nesoid.yml index e9821479..e70e1754 100644 --- a/emulators/nesoid.yml +++ b/emulators/nesoid.yml @@ -6,7 +6,7 @@ upstream: "https://sourceforge.net/p/nesoid/code" author: "Yongzh (androidemu.com)" profiled_date: "2026-08-12" source_commit: "b2ff53fefa56a668aad4a579af85adc672d7a791" -core_version: "2.5" +core_version: "2.5-4" display_name: "Nintendo - NES / Famicom (Nesoid)" mode: standalone cores: @@ -45,7 +45,7 @@ notes: | raises is discarded (app/jni/neslib/drivers/android/debug.c:4-11). The activity accepts a name ending .nes, .fds or .zip caselessly and refuses - anything else before the loader runs (EmulatorActivity.java:933-957, + anything else before the loader runs (app/src/main/java/com/androidemu/nes/EmulatorActivity.java:933-957, app/src/main/res/values/arrays.xml:4-8). An archive is opened by the core, which keeps the first entry ending .nes, .fds, .nsf, .unf, .nez or .unif, and a plain file also opens gzipped (app/jni/neslib/file.c:192-232,250-273). @@ -66,21 +66,21 @@ notes: | calls FCEUI_SetBaseDirectory, which leaves that buffer empty (app/jni/neslib/general.c:46,52-56,215). The settings screen still writes the fdsRom preference and still shows the chosen path, but no code reads it back - (EmulatorSettingsFragment.java:96-99,150-156,195-210, + (app/src/main/java/com/androidemu/nes/EmulatorSettingsFragment.java:96-99,150-156,195-210, app/src/main/res/xml/preferences.xml:240-251). Disk switching went the same way: the menu asks the engine for fdsTotalSides and fdsCurrentDisk, which Yongzh's builds answer and the fork's does not, the base class returning zero - for any name (EmulatorActivity.java:417,969,1244-1249, + for any name (app/src/main/java/com/androidemu/nes/EmulatorActivity.java:417,969,1244-1249, app/jni/common/emuengine.h:49). The Game Genie ROM is a second path the user picks, kept across both families. loadGameGenie passes it to the engine only while the Enable Game Genie switch is on, the setter duplicates it into FSettings.GameGenie and OpenGenie reads it - once the content has loaded (EmulatorActivity.java:870-874, + once the content has loaded (app/src/main/java/com/androidemu/nes/EmulatorActivity.java:870-874, app/jni/neslib/drivers/android/nesengine.cpp:242-243, app/jni/neslib/svga.c:132-140, app/jni/neslib/fce.c:1201-1203). Both pickers list names ending .nes, .rom or .bin - (EmulatorSettingsFragment.java:179-210, FileChooser.java:157-172). + (app/src/main/java/com/androidemu/nes/EmulatorSettingsFragment.java:179-210, app/src/main/java/com/androidemu/nes/FileChooser.java:157-172). A palette named after the content is read from the pal directory of the same unset base directory as the disk BIOS, 192 bytes taken as 64 RGB triples. A @@ -97,12 +97,12 @@ notes: | FCEU_LoadGameCheats reads at load and FCEU_FlushGameCheats rewrites at close (app/jni/neslib/cheat.c:183-208,272-300, app/jni/neslib/fce.c:1080,1213). The application writes its own files through Java paths instead: state slots - at .ss beside the content (StateSlotsActivity.java:39-45,135-140), + at .ss beside the content (app/src/main/java/com/androidemu/nes/StateSlotsActivity.java:39-45,135-140), an XML cheat list at .cht, also beside the content - (Cheats.java:37-46,105-160), key profiles under its data directory - (KeyProfilesActivity.java:47-60,92-100), PNG screenshots under screenshot/ on - external storage (EmulatorActivity.java:1258-1281) and a netplay state - exchanged through its cache directory (EmulatorActivity.java:1292-1293). + (app/src/main/java/com/androidemu/Cheats.java:37-46,105-160), key profiles under its data directory + (app/src/main/java/com/androidemu/nes/KeyProfilesActivity.java:47-60,92-100), PNG screenshots under screenshot/ on + external storage (app/src/main/java/com/androidemu/nes/EmulatorActivity.java:1258-1281) and a netplay state + exchanged through its cache directory (app/src/main/java/com/androidemu/nes/EmulatorActivity.java:1292-1293). files: - name: disksys.rom @@ -177,8 +177,8 @@ exclusion_note: > ref: app/jni/neslib/general.c:196-213,222-238, app/jni/neslib/cart.c:641-700, app/jni/neslib/fds.c:845-870,915-930, app/jni/neslib/cheat.c:183-208, 272-300, app/jni/neslib/fce.c:1080,1145-1177,1206,1213, - EmulatorActivity.java:949-957,1258-1293, Cheats.java:37-46, - StateSlotsActivity.java:39-45,135-140, - KeyProfilesActivity.java:47-60,92-100, app/jni/neslib/Android.mk:193-197, - HelpActivity.java:14-22, MainActivity.java:20, - EmulatorSettingsFragment.java:30-31 + app/src/main/java/com/androidemu/nes/EmulatorActivity.java:949-957,1258-1293, app/src/main/java/com/androidemu/Cheats.java:37-46, + app/src/main/java/com/androidemu/nes/StateSlotsActivity.java:39-45,135-140, + app/src/main/java/com/androidemu/nes/KeyProfilesActivity.java:47-60,92-100, app/jni/neslib/Android.mk:193-197, + app/src/main/java/com/androidemu/nes/HelpActivity.java:14-22, app/src/main/java/com/androidemu/nes/MainActivity.java:20, + app/src/main/java/com/androidemu/nes/EmulatorSettingsFragment.java:30-31 diff --git a/emulators/nestopia.yml b/emulators/nestopia.yml index d4546a2f..fd4966d7 100644 --- a/emulators/nestopia.yml +++ b/emulators/nestopia.yml @@ -5,7 +5,8 @@ source: "https://github.com/libretro/nestopia" upstream: "https://gitlab.com/jgemu/nestopia" logo: "https://raw.githubusercontent.com/0ldsk00l/nestopia/master/icons/svg/nestopia.svg" profiled_date: "2026-03-24" -source_commit: "b9fdc9c4e6d374abacd1a678ae46ec7f963ef59a" +source_commit: "06a8949e0b3cf60e3a38a374b1426bf40fccb9a0" +upstream_commit: "b3adbeb42482e979ab99e16bcd9a22480f13479f" core_version: "1.53.1" display_name: "Nintendo - NES / Famicom (Nestopia)" cores: [nestopia] @@ -45,7 +46,7 @@ files: on_mismatch: warn md5: "ca30b50f880eb660a320674ed365ef7a" sha1: "57fe1bdee955bb48d357e463ccbf129496930b62" - source_ref: "source libretro/libretro.cpp:2169-2197 (FDS load), source source/core/NstFds.cpp:57-127 (Bios class, CRC32 logged), source source/core/api/NstApiFds.cpp:101-150 (iNES header skipped)" + source_ref: "source libretro/libretro.cpp:2171-2199 (FDS load), source source/core/NstFds.cpp:57-127 (Bios class, CRC32 logged), source source/core/api/NstApiFds.cpp:101-150 (iNES header skipped)" note: "Mapped at 0xE000-0xFFFF (8 KB). retro_load_game returns false if missing when loading .fds files. CRC32 checked: Famicom 0x5E607DCF, Twin Famicom 0x4DF24A6C." # --- NES game database (optional, overrides baked-in copy) --- @@ -55,7 +56,7 @@ files: required: false installed_on: [batocera] hle_fallback: true - source_ref: "source libretro/libretro.cpp:2121-2151 (database load), source libretro/nstdatabase.hpp (baked-in fallback)" + source_ref: "source libretro/libretro.cpp:2123-2153 (database load), source libretro/nstdatabase.hpp (baked-in fallback)" note: "XML database matching games by SHA1+CRC32. Used for region, mapper, mirroring, and 4-player adapter detection. Built-in fallback exists so this file is optional." # --- Custom palette (optional, core option nestopia_palette = Custom) --- @@ -65,7 +66,7 @@ files: required: false hle_fallback: true size: 192 - source_ref: "source libretro/libretro.cpp:2099-2120 (palette load)" + source_ref: "source libretro/libretro.cpp:2101-2122 (palette load)" note: "64 RGB triplets (64 x 3 bytes = 192 bytes). Loaded unconditionally at startup, applied only when nestopia_palette core option is set to Custom. Falls back to built-in Royaltea palette. Multiple valid palettes exist so no canonical hash." # --- ADPCM audio samples (optional, game-specific) --- diff --git a/emulators/noods.yml b/emulators/noods.yml index 6e1ec3ea..593c0294 100644 --- a/emulators/noods.yml +++ b/emulators/noods.yml @@ -5,6 +5,7 @@ source: "https://github.com/jonian/libretro-noods" upstream: "https://github.com/Hydr8gon/NooDS" profiled_date: "2026-03-24" source_commit: "9a2665306927ede64f4b5c109df79f4015607dbc" +upstream_commit: "4cb1439c330248b26cdf5f8dbcfa4e5ac53dcda0" core_version: "Git" display_name: "Nintendo - DS (NooDS)" cores: [noods] diff --git a/emulators/nuance.yml b/emulators/nuance.yml index 8840f0f4..9725cdcc 100644 --- a/emulators/nuance.yml +++ b/emulators/nuance.yml @@ -15,8 +15,8 @@ notes: | NUON emulator written by Mike Perry (2002-2007) and continued as NuanceResurrection by Carsten Waechter from the source archive released after the author's death. The Linux and libretro ports were merged into the - upstream tree in 2026 (pull request 75), so the port and the upstream share - the same revision. + upstream tree in 2026 (pull request 75), and the port's last commit is part + of the upstream history. The three BIOS files are not firmware dumps. bios.cof, minibios.cof and minibiosX.cof are Aries assembly implementations of BIOS routines, diff --git a/emulators/oberon.yml b/emulators/oberon.yml index ac9745e0..20c00026 100644 --- a/emulators/oberon.yml +++ b/emulators/oberon.yml @@ -4,8 +4,8 @@ core_classification: community_fork source: "https://github.com/libretro/oberon-risc-emu" upstream: "https://github.com/pdewacht/oberon-risc-emu" profiled_date: "2026-03-24" -source_commit: "532b44c31190640628fea388bb593cc247814612" -core_version: "2020-07-01" +source_commit: "5be71d885b87b7cd7c635bf330764fcc4f3905fe" +core_version: "2026-08-23" display_name: "Oberon RISC Emulator" cores: - oberon @@ -14,10 +14,12 @@ systems: [oberon] # Project Oberon RISC emulator by Peter De Wachter. # Emulates the Oberon RISC processor designed by Niklaus Wirth. # Bootloader (512 words) compiled into the binary from risc-boot.inc, -# loaded into ROM at 0xFFFFF800 on startup (risc.c:75-77,93). +# loaded into ROM at 0xFFFFF800 on startup (src/risc.c:75-77,93). # No retro_get_system_directory() call, so no files from system dir. -# Content: .dsk disk images loaded via retro_load_game (libretro.c:209-214). -# Upstream and libretro core emulation code (risc.c, disk.c) are identical. +# Content: .dsk disk images loaded via retro_load_game (Libretro/libretro.c:219-227), +# opened read-write through the frontend VFS when one is offered +# (Libretro/libretro.c:149-162, src/disk.c:13-65). +# risc.c is identical upstream. disk.c differs only by that VFS file layer. files: [] diff --git a/emulators/omicron.yml b/emulators/omicron.yml index b406f0e7..356c3370 100644 --- a/emulators/omicron.yml +++ b/emulators/omicron.yml @@ -22,8 +22,9 @@ notes: | (omicron-player/omicron-loader/src/main/java/org/github/msx80/omicron/fantasyconsole/cartridges/JarCartridge.java:20-25, omicron-player/omicron-engine/src/main/java/org/github/msx80/omicron/GameRun.java:74-100). The libretro core is the experimental frontend of the same repository. The - libretro fork is the 2020-09-29 tree plus a GitLab CI file and a Makefile - that takes the JNI headers from JAVA_HOME. The CI builds the shared + libretro fork is the 2020-09-29 tree (upstream_commit, their merge base) + plus a GitLab CI file and a Makefile that takes the JNI headers from + JAVA_HOME. The CI builds the shared library for Linux x64, i686 and aarch64 only (.gitlab-ci.yml:48-66). retro_load_game builds /omicron/omicron.jar and refuses the diff --git a/emulators/openbor.yml b/emulators/openbor.yml index fe904a5b..10c03043 100644 --- a/emulators/openbor.yml +++ b/emulators/openbor.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/DCurrent/openbor" upstream: "https://github.com/DCurrent/openbor" profiled_date: "2026-08-12" -source_commit: "787b6770409935137579715febf80cf7a529b748" +source_commit: "65a7f0b41aee87fe4084e538634b4ed73236f871" core_version: "4.0 Build 7949" display_name: "OpenBOR Game Engine" cores: diff --git a/emulators/openjkdf2.yml b/emulators/openjkdf2.yml index c573ab93..6e395d90 100644 --- a/emulators/openjkdf2.yml +++ b/emulators/openjkdf2.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/shinyquagsire23/OpenJKDF2" upstream: "https://github.com/shinyquagsire23/OpenJKDF2" profiled_date: "2026-10-04" -source_commit: "02297602cb289b113df27be33b5a7dddbe3d91c1" +source_commit: "75a13ba2de99a1824978385bfd6e93aaff99306e" core_version: "0.9.9.0" display_name: "OpenJKDF2" cores: [] @@ -76,7 +76,7 @@ files: category: game_data required: true source_ref: "src/Main/InstallHelper.c:36 (aRequiredAssets)" - note: "Multiplayer deathmatch episode. Default -episode value in Main.c:120." + note: "Multiplayer deathmatch episode. Default -episode value in src/Main/Main.c:121." - name: "Res1hi.gob" path: "openjkdf2/resource/Res1hi.gob" @@ -99,7 +99,7 @@ files: system: dark-forces-ii category: game_data required: true - source_ref: "src/Main/InstallHelper.c:39 (aRequiredAssets), src/Main/InstallHelper.c:764-769, src/Main/InstallHelper.c:1334-1336, src/engine_config.h:263" + source_ref: "src/Main/InstallHelper.c:39 (aRequiredAssets), src/Main/InstallHelper.c:764-769, src/Main/InstallHelper.c:1334-1336, src/engine_config.h:261" note: | 4-byte marker. The install helper writes JKRES_MAGIC_1 into it once the assets are copied, 0x699232C4 for this game. At startup a missing @@ -202,7 +202,7 @@ files: system: mysteries-of-the-sith category: game_data required: true - source_ref: "src/Main/InstallHelper.c:51 (aRequiredAssetsMots), src/Main/InstallHelper.c:1318-1320, src/Main/jkRes.c:232-235, src/engine_config.h:267-270" + source_ref: "src/Main/InstallHelper.c:51 (aRequiredAssetsMots), src/Main/InstallHelper.c:1318-1320, src/Main/jkRes.c:232-235, src/engine_config.h:265-268" note: | 4-byte marker holding 0x3B426929. InstallHelper_SetCwd reads it at startup and enables Mysteries of the Sith mode when it finds that @@ -223,26 +223,26 @@ files: system: droidworks category: game_data required: true - source_ref: "src/Main/InstallHelper.c:58 (aRequiredAssetsDroidworks), src/Dw/dwInits.cpp:67-93" + source_ref: "src/Main/InstallHelper.c:58 (aRequiredAssetsDroidworks), src/Dw/dwInits.cpp:72-98" note: "CD-image data archive, mounted by dwGob." - name: "dwHD.GOB" system: droidworks category: game_data required: true - source_ref: "src/Main/InstallHelper.c:59 (aRequiredAssetsDroidworks), src/Dw/dwInits.cpp:67-93" + source_ref: "src/Main/InstallHelper.c:59 (aRequiredAssetsDroidworks), src/Dw/dwInits.cpp:72-98" note: "Hard-drive install archive." - name: "dwMin.GOB" system: droidworks category: game_data required: true - source_ref: "src/Main/InstallHelper.c:60 (aRequiredAssetsDroidworks), src/Dw/dwInits.cpp:67-93" + source_ref: "src/Main/InstallHelper.c:60 (aRequiredAssetsDroidworks), src/Dw/dwInits.cpp:72-98" note: "Minimum-install archive." - name: "dwStream.GOB" system: droidworks category: game_data required: true - source_ref: "src/Main/InstallHelper.c:61 (aRequiredAssetsDroidworks), src/Dw/dwInits.cpp:93" + source_ref: "src/Main/InstallHelper.c:61 (aRequiredAssetsDroidworks), src/Dw/dwInits.cpp:98" note: "Streamed WAV audio, listed only in the WAV ext search path." diff --git a/emulators/openlara.yml b/emulators/openlara.yml index 85d1b26e..ca595a41 100644 --- a/emulators/openlara.yml +++ b/emulators/openlara.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/OpenLara" upstream: "https://github.com/XProger/OpenLara" profiled_date: "2026-03-24" source_commit: "e4ce52edec5a9a6ad22b69d08c687bf070e68876" +upstream_commit: "3b268ca4bf986c380f44a26ffd9218bf6d376249" core_version: "v1" display_name: "Tomb Raider (OpenLara)" cores: [openlara] diff --git a/emulators/openmsx.yml b/emulators/openmsx.yml index efa59f83..aa6e9af1 100644 --- a/emulators/openmsx.yml +++ b/emulators/openmsx.yml @@ -3,7 +3,7 @@ type: standalone source: "https://github.com/openMSX/openMSX" upstream: "https://github.com/openMSX/openMSX" profiled_date: "2026-03-26" -source_commit: "50d15b6c5eeba7781d55241f8579339141c9dfb4" +source_commit: "26e1e4945df406e250a05122889f88d40edd828b" core_version: "21.0" display_name: "MSX / ColecoVision / Spectravideo (openMSX)" cores: @@ -28,7 +28,7 @@ notes: | Filenames are secondary hints, while SHA1 is the primary lookup key. Files may be gzipped or individually zipped. Each user data directory contributes share/systemroms, scanned - recursively (src/file/FilePool.cc:27, FilePoolCore.cc:369-385). RetroBat + recursively (src/file/FilePool.cc:27, src/file/FilePoolCore.cc:369-385). RetroBat sets OPENMSX_HOME to bios/openmsx and refuses to start a machine whose ROMs are not in bios/openmsx/share/systemroms. RetroPie links share/systemroms to BIOS/openmsx and Batocera adds bios/openmsx to the diff --git a/emulators/opentyrian.yml b/emulators/opentyrian.yml index 071bbb1d..afbaf09f 100644 --- a/emulators/opentyrian.yml +++ b/emulators/opentyrian.yml @@ -5,6 +5,7 @@ source: "https://github.com/trapexit/libretro-opentyrian" upstream: "https://github.com/opentyrian/opentyrian" profiled_date: "2026-03-24" source_commit: "3e9df7a6bc486190ad5085586d0c4e9cb1baf14c" +upstream_commit: "ac5d0e71f4245744350c6116ce24f10624da58f8" core_version: "1.0.0.6" display_name: "Tyrian (OpenTyrian)" cores: [opentyrian, tyrian] diff --git a/emulators/opera.yml b/emulators/opera.yml index c83aece5..1da03f47 100644 --- a/emulators/opera.yml +++ b/emulators/opera.yml @@ -6,7 +6,7 @@ cores: [opera] source: "https://github.com/libretro/opera-libretro" upstream: "https://sourceforge.net/projects/freedo/" profiled_date: "2026-10-18" -source_commit: "684926fe2079ba12b59d99082291c0a8fe780c67" +source_commit: "2d03e484952f94e80b43142371e7784d6fbc68e0" core_version: "1.0.0" display_name: "The 3DO Company - 3DO (Opera)" systems: diff --git a/emulators/parallel-launcher.yml b/emulators/parallel-launcher.yml index 0b50e1fc..c9d8a221 100644 --- a/emulators/parallel-launcher.yml +++ b/emulators/parallel-launcher.yml @@ -5,7 +5,7 @@ source: "https://gitlab.com/parallel-launcher/parallel-launcher" upstream: "https://gitlab.com/parallel-launcher/parallel-n64" profiled_date: "2026-08-08" source_commit: "8dc2a83770c57bc00e1b1fae0aed71f2120cc875" -upstream_commit: "11574ac28d27faaaef4b5bc3c1ca50fb2ed98b83" +upstream_commit: "a9028b23bd5ee8b465eefc64320fd7701f3430fa" core_version: "9.0.5" display_name: "Nintendo - Nintendo 64 (Parallel Launcher)" cores: diff --git a/emulators/parallel_n64.yml b/emulators/parallel_n64.yml index 734fae88..74529674 100644 --- a/emulators/parallel_n64.yml +++ b/emulators/parallel_n64.yml @@ -4,7 +4,8 @@ core_classification: community_fork source: "https://github.com/libretro/parallel-n64" upstream: "https://github.com/mupen64plus/mupen64plus-core" profiled_date: "2026-03-24" -source_commit: "0bd516ee793bb87b57e9eef19993b37ac0098d74" +source_commit: "a467ddaf904c8f8ddc6f6b889a876091725ccd91" +upstream_commit: "3be6336a1de6f32ccc4f57bf80c988163fe6bf7a" core_version: "2.0-rc2" display_name: "Nintendo - Nintendo 64 (ParaLLEl N64)" systems: [nintendo-64, nintendo-64dd] @@ -16,7 +17,7 @@ files: required: false description: "64DD IPL ROM" note: "Only loaded when a 64DD disk image (.ndd) is present via subsystem API. Core fails to load disk games without it." - source_ref: "source libretro/libretro.c:848" + source_ref: "source libretro/libretro.c:896" notes: hle_available: true diff --git a/emulators/pcee2.yml b/emulators/pcee2.yml index d13b6938..46929d79 100644 --- a/emulators/pcee2.yml +++ b/emulators/pcee2.yml @@ -5,9 +5,9 @@ bios_mode: agnostic source: "https://github.com/WizzardSK/pcee2-libretro" upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-09-03" -source_commit: "93aded21a46e60f3def27b2590eccb49d30d6a05" -upstream_commit: "6db638dc0373769b4c5d5b5dd7ed6da641b9a18e" -core_version: "v2.7.523" +source_commit: "387691a29efef63bafad04148d1ff94bf40e791b" +upstream_commit: "ab0b401f99729ef8da3009f9af28d8ee96e0e7ba" +core_version: "v2.9.138" display_name: "Sony - PlayStation 2 (PCEE2)" cores: [pcee2] systems: [sony-playstation-2] @@ -18,10 +18,10 @@ resources_directory: "pcsx2/resources/" data_directories: - ref: pcsx2-resources destination: "pcsx2/resources" - source_ref: "pcee2-libretro/Libretro.cpp:414-442, pcsx2/Pcsx2Config.cpp:2388-2400" + source_ref: "pcee2-libretro/Libretro.cpp:543-571, pcsx2/Pcsx2Config.cpp:2417-2429" notes: | - libretro port of current PCSX2, merged up to upstream 6db638dc (v2.7.523, + libretro port of current PCSX2, merged up to upstream ab0b401f (v2.9.138, pcee2-libretro/upstream.version). The build reports that version as library_version. Everything the port adds lives in pcee2-libretro/ and in the libretro renderer bridges, while the BIOS, CDVD, patch and database code is @@ -32,53 +32,56 @@ notes: | pcsx2/resources, Settings is pcsx2/inis, and EmuFolders::LoadConfig derives bios, memcards, cheats, patches, textures, gamesettings, cache, snaps, sstates, logs, covers, inputprofiles and videos from DataRoot - (pcee2-libretro/Libretro.cpp:414-428, pcsx2/Pcsx2Config.cpp:2319-2336). + (pcee2-libretro/Libretro.cpp:543-557, pcsx2/Pcsx2Config.cpp:2348-2365). A standalone PCSX2.ini dropped in pcsx2/inis contributes nine emulation - sections as the baseline (Libretro.cpp:504-535), and the core options and the + sections as the baseline (pcee2-libretro/Libretro.cpp:633-664), and the core options and the port overrides apply on top. BIOS detection is filename-agnostic. The core option pcsx2_bios lists every file of pcsx2/bios that IsBIOS accepts: a romdir whose RESET entry is followed by a readable ROMVER, whose fifth character gives the zone (Japan, USA, Europe, Asia, China, T10K, COH-H, Test, Free). With the option on - auto, SettingsOverride selects the first accepted file (Libretro.cpp:578-618, + auto, SettingsOverride selects the first accepted file (pcee2-libretro/Libretro.cpp:707-747, pcsx2/ps2/BiosTools.cpp:80-197, 284-294). When no BIOS is configured or the configured name is missing, LoadBIOS falls back to FindBiosImage, which - also filters on size between 4 and 8 MB (BiosTools.cpp:258-282, 317-369). + also filters on size between 4 and 8 MB (pcsx2/ps2/BiosTools.cpp:258-282, 317-369). The image is read into the 4 MB ROM region, and a file shorter than 2465792 bytes turns off the OSDSys parameter HLE. No hash is matched. Booting with - no content starts the BIOS (Libretro.cpp:2090-2096). + no content starts the BIOS (pcee2-libretro/Libretro.cpp:2286-2296). Companions derive from the selected image: rom1 and rom2 are tried as the full name plus extension, then with the extension replaced, and are skipped when absent. The nvm is read at the replaced extension and rebuilt with region and language defaults when missing or blank, and the mec is written back - as 0x00020603 when it cannot be read (BiosTools.cpp:214-241, 366-367, + as 0x00020603 when it cannot be read (pcsx2/ps2/BiosTools.cpp:214-241, 366-367, pcsx2/CDVD/CDVD.cpp:136-205). - The shaders, four interface fonts and GameIndex.yaml are built into the - core (cmake/EmbedResources.cmake:19-31, pcsx2/CMakeLists.txt:1137-1157) + The shaders, four interface fonts, GameIndex.yaml and patches.zip are built + into the core (cmake/EmbedResources.cmake:19-31, 46-62, + pcsx2/CMakeLists.txt:1170-1219) and win over the copies on disk unless PCEE2_EXTERNAL_RESOURCES is set in - the environment (pcsx2/EmbeddedResources.cpp:8-12, pcsx2/GS/Renderers/Common/GSDevice.cpp:372-387, - pcsx2/ImGui/ImGuiManager.cpp:470-492, pcsx2/GameDatabase.cpp:1021-1050, - Libretro.cpp:451-473). A missing resources directory is a warning, not a - failure (Libretro.cpp:433-442). What the directory still supplies to this - build is patches.zip. RedumpDatabase.yaml is read only by the Qt game - summary (pcsx2/GameDatabase.cpp:1197-1210 has no caller in the core), + the environment (pcsx2/EmbeddedResources.cpp:8-12, pcsx2/GS/Renderers/Common/GSDevice.cpp:441-465, + pcsx2/ImGui/ImGuiManager.cpp:473-495, pcsx2/GameDatabase.cpp:1037-1066, pcsx2/Patch.cpp:292-331, + pcee2-libretro/Libretro.cpp:580-602). A missing resources directory is a warning, not a + failure (pcee2-libretro/Libretro.cpp:562-571). patches.zip is packed at build time from the + 3rdparty/pcsx2_patches submodule, so the build carries the patches of the + commit it points at, and the directory supplies nothing this build reads + by default. RedumpDatabase.yaml is read only by the Qt game + summary (pcsx2/GameDatabase.cpp:1213-1226 has no caller in the core), game_controller_db.txt only by the SDL input source the port disables - (Libretro.cpp:561-562, pcsx2/Input/SDLInputSource.cpp:701-706), the + (pcee2-libretro/Libretro.cpp:690-691, pcsx2/Input/SDLInputSource.cpp:701-706), the achievement sounds only with achievements enabled, which no core option or - adopted ini section does (pcsx2/Achievements.cpp:943-951), and + adopted ini section does (pcsx2/Achievements.cpp:944-952), and fullscreenui/no-save.png only by the save state selector, whose hotkeys the - port clears (Libretro.cpp:564, pcsx2/ImGui/ImGuiOverlays.cpp:1461-1462). + port clears (pcee2-libretro/Libretro.cpp:693, pcsx2/ImGui/ImGuiOverlays.cpp:1441-1442). The port supplies Roboto alone to ImGui, so no emoji font is read. Per-game user files keep their PCSX2 locations under /pcsx2: - cheats and patches as _.pnach (pcsx2/Patch.cpp:333-363), - gamesettings/_.ini (pcsx2/VMManager.cpp:830-833), - textures//replacements (pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:262-264), + cheats and patches as _.pnach (pcsx2/Patch.cpp:333-368), + gamesettings/_.ini (pcsx2/VMManager.cpp:842-845), + textures//replacements (pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:269-271), memcards/*.ps2, which the core creates and lists in the memory card - options (Libretro.cpp:620-640). The DEV9 HDD image is named in the ini and + options (pcee2-libretro/Libretro.cpp:749-769). The DEV9 HDD image is named in the ini and created on demand. files: @@ -89,7 +92,7 @@ files: max_size: 8388608 required: true validation: [size] - source_ref: "source pcee2-libretro/Libretro.cpp:578-618, source pcsx2/ps2/BiosTools.cpp:16-17, source pcsx2/ps2/BiosTools.cpp:80-197, source pcsx2/ps2/BiosTools.cpp:258-294, source pcsx2/ps2/BiosTools.cpp:317-369" + source_ref: "source pcee2-libretro/Libretro.cpp:707-747, source pcsx2/ps2/BiosTools.cpp:16-17, source pcsx2/ps2/BiosTools.cpp:80-197, source pcsx2/ps2/BiosTools.cpp:258-294, source pcsx2/ps2/BiosTools.cpp:317-369" note: > Any file of pcsx2/bios whose romdir carries RESET and ROMVER. The 4 to 8 MB filter applies in FindBiosImage only. The core option scan and the @@ -141,13 +144,14 @@ files: description: "Built-in game patch archive (pnach per serial and CRC)" required: false category: game_data - source_ref: "upstream pcsx2/Patch.cpp:117, source pcsx2/Patch.cpp:289-317, source pcsx2/Patch.cpp:365-405" + source_ref: "upstream pcsx2/Patch.cpp:117, source pcsx2/Patch.cpp:292-331, source pcsx2/Patch.cpp:379-419, source pcsx2/CMakeLists.txt:1183-1205" note: > - Opened read only from the resources directory when a game's patches are - enumerated and searched for _.pnach, then .pnach. Files - in the patches folder take precedence. A failure to open is reported once - on screen. Not part of the PCSX2 source tree: PCSX2 builds fetch it from - the pcsx2_patches releases, a rolling asset rebuilt on every patch commit. + Embedded in the core, packed from the 3rdparty/pcsx2_patches submodule. + The copy in the resources directory is opened only when + PCEE2_EXTERNAL_RESOURCES is set or the build carries no embedded copy. + Searched for _.pnach, then .pnach, when a game's + patches are enumerated. Files in the patches folder take precedence. A + failure to open is reported once on screen. - name: "eeprom.dat" description: "DEV9 network adapter EEPROM" diff --git a/emulators/pcem.yml b/emulators/pcem.yml index 0fe1261c..98239f60 100644 --- a/emulators/pcem.yml +++ b/emulators/pcem.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/libretro-pcem" upstream: "https://github.com/sarah-walker-pcem/pcem" profiled_date: "2026-03-24" source_commit: "e07923e902dcedcf65a502fb3f14e75b9ded5271" +upstream_commit: "25b54e3ff1d51cbf2469b447e55bce7a589697e9" core_version: "v11 (PCem-mooch, based on PCem v10.1)" display_name: "PC (PCem)" cores: [pcem] diff --git a/emulators/pcsx1.yml b/emulators/pcsx1.yml index bd9983e5..0f45e337 100644 --- a/emulators/pcsx1.yml +++ b/emulators/pcsx1.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/pcsx1-libretro" upstream: "https://github.com/notaz/pcsx_rearmed" profiled_date: "2026-03-24" source_commit: "35dabb85ff3af6825820f54090d344945f65d24e" +upstream_commit: "8b6c163575e6ce9a0537553e0d4ed4225315955e" core_version: "r22" display_name: "Sony - PlayStation (PCSX1)" cores: [pcsx1] diff --git a/emulators/pcsx2.yml b/emulators/pcsx2.yml index 9ce3d3b3..3fbd4d0f 100644 --- a/emulators/pcsx2.yml +++ b/emulators/pcsx2.yml @@ -7,7 +7,7 @@ upstream: "https://github.com/PCSX2/pcsx2" cores: - pcsx2 profiled_date: "2026-03-30" -source_commit: "81526d4dc7cc70e4ae75abb35a789417456c6d43" +source_commit: "7fe1e5525a2c219c119aa9586cee4ceae2f54ce1" core_version: "Git" display_name: "Sony - PlayStation 2 (PCSX2)" systems: [sony-playstation-2] @@ -76,7 +76,7 @@ files: size: 2683897 category: game_data description: "per-title compatibility and fix database" - source_ref: "pcsx2/GameDatabase.cpp:39, pcsx2/GameDatabase.cpp:1026-1035" + source_ref: "pcsx2/GameDatabase.cpp:39, pcsx2/GameDatabase.cpp:1034-1043" note: "Read from the resources directory shipped with the application. Console error and no per-title fixes if missing." - name: RedumpDatabase.yaml @@ -87,7 +87,7 @@ files: size: 1917242 category: game_data description: "disc hash database" - source_ref: "pcsx2/GameDatabase.cpp:1133, pcsx2/GameDatabase.cpp:1188-1197" + source_ref: "pcsx2/GameDatabase.cpp:1141, pcsx2/GameDatabase.cpp:1196-1205" note: "Read from the resources directory shipped with the application, used to name a disc from its dump." - name: patches.zip diff --git a/emulators/pcsx2x6.yml b/emulators/pcsx2x6.yml index 97b1240b..99a17b60 100644 --- a/emulators/pcsx2x6.yml +++ b/emulators/pcsx2x6.yml @@ -7,7 +7,8 @@ upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-08-08" source_commit: "583f0e90907d69bb2db670f570d0865260fcc71b" upstream_commit: "5c611f85e13ba250a69c155c678482b219b10d48" -core_version: "v0.2.20" +prose_written_at: "583f0e90907d69bb2db670f570d0865260fcc71b" +core_version: "v0.2.22" display_name: "Namco - System 246 / 256 (PCSX2x6)" cores: - pcsx2x6 @@ -162,7 +163,7 @@ files: size: 7941 description: "Arcade game database" note: "Keyed by NM gameid, one entry per arcade title, carrying the board variant, the media type, the boot program and the GS fixes. Supplies the platform and media values a minimal .acgame leaves out. Console error when missing." - source_ref: "upstream pcsx2/GameDatabase.cpp:39, source pcsx2/GameDatabase.cpp:979-990, source pcsx2/VMManager.cpp:1385-1415" + source_ref: "source pcsx2/GameDatabase.cpp:39, source pcsx2/GameDatabase.cpp:979-990, source pcsx2/VMManager.cpp:1385-1415" - name: RedumpDatabase.yaml path: bin/resources/RedumpDatabase.yaml @@ -184,7 +185,7 @@ files: size: 1312 description: "Bundled patch archive" note: "Opened read-only from the resources folder. Built-in patches are unavailable and an on-screen error is shown when it cannot be opened. Fetched from the patches repository at build time, not committed." - source_ref: "upstream pcsx2/Patch.cpp:117, source pcsx2/Patch.cpp:289-315, upstream .github/workflows/linux_build_qt.yml:129" + source_ref: "source pcsx2/Patch.cpp:117, source pcsx2/Patch.cpp:289-315, source .github/workflows/linux_build_qt.yml:129" - name: game_controller_db.txt path: bin/resources/game_controller_db.txt @@ -195,4 +196,4 @@ files: size: 515563 description: "SDL controller mapping database" note: "A copy in the user data root takes precedence over the one in resources. Fed to SDL as a hint. Without either, SDL falls back to its built-in mappings and an error is logged." - source_ref: "upstream pcsx2/Input/SDLInputSource.cpp:24, source pcsx2/Input/SDLInputSource.cpp:614-629" + source_ref: "source pcsx2/Input/SDLInputSource.cpp:24, source pcsx2/Input/SDLInputSource.cpp:614-629" diff --git a/emulators/pcsx_rearmed.yml b/emulators/pcsx_rearmed.yml index 7e855eb1..8baf99bc 100644 --- a/emulators/pcsx_rearmed.yml +++ b/emulators/pcsx_rearmed.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/pcsx_rearmed" upstream: "https://github.com/notaz/pcsx_rearmed" profiled_date: "2026-03-25" source_commit: "c8816799b50388e61cfe237fe2cdbb7d8175f20a" +upstream_commit: "8b6c163575e6ce9a0537553e0d4ed4225315955e" core_version: "r25" display_name: "Sony - PlayStation (PCSX ReARMed)" cores: [pcsx_rearmed, pcsx_rearmed_neon, pcsx_rearmed_interpreter, "pcsx_rearmed_32b"] diff --git a/emulators/picodrive.yml b/emulators/picodrive.yml index 3d8e4e80..3c4b5c60 100644 --- a/emulators/picodrive.yml +++ b/emulators/picodrive.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/picodrive" upstream: "https://github.com/irixxxx/picodrive" profiled_date: "2026-03-24" source_commit: "1890c2932234c9d30f4cd3851d02228baae8f09e" +upstream_commit: "26683b2fc61cc26b5c4dd43815a6d70d376a02ce" core_version: "1.99" display_name: "Sega - MS/GG/MD/CD/32X (PicoDrive)" cores: [picodrive] diff --git a/emulators/piemu.yml b/emulators/piemu.yml index f1e77de3..f5bb484a 100644 --- a/emulators/piemu.yml +++ b/emulators/piemu.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/autch/piemu" profiled_date: "2026-10-22" source_commit: "0785214f13746bdfd709b1909f007e213b470ba1" upstream_commit: "23208626e16e53b73fd21a2fbd0c429338625dc4" +pin_frozen: "AmberELEC, the only platform that ships it, builds this revision (AmberELEC packages/games/emulators/piemu/package.mk:5). Later commits are not part of that build." core_version: "git" display_name: "Aquaplus - P/ECE (P/EMU/SDL)" cores: diff --git a/emulators/play.yml b/emulators/play.yml index 60ea3838..d1c8109c 100644 --- a/emulators/play.yml +++ b/emulators/play.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/jpd002/Play-" upstream: "https://github.com/jpd002/Play-" profiled_date: "2026-03-24" -source_commit: "2193ca112b576896a3022478a225661a7f84feb5" +source_commit: "505dac73149fece41b04dd961078ce3011a8bed5" core_version: "Git" display_name: "Sony - PlayStation 2 (Play!)" cores: @@ -18,9 +18,9 @@ systems: # IOP BIOS modules (IopBios.cpp), GS, SPU2, VU units. # The libretro core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. # -# LoadBIOS() exists in Ee_SubSystem.cpp:832 but is commented out at line 232. +# LoadBIOS() exists in Source/ee/Ee_SubSystem.cpp:832 but is commented out at line 232. # IOP modules (SIO2MAN, PADMAN, MCMAN, MCSERV, CDVDMAN, CDVDFSV, etc.) -# are all HLE-replaced via m_hleModules in IopBios.cpp:279-290. +# are all HLE-replaced via m_hleModules in Source/iop/IopBios.cpp:279-290. # _IOP_EMULATE_MODULES=1 is unconditionally defined in Source/CMakeLists.txt:24. # # source_ref: Source/ee/Ee_SubSystem.cpp:232 (LoadBIOS commented out) diff --git a/emulators/playdiaemu.yml b/emulators/playdiaemu.yml index bef6da01..df2cf4ff 100644 --- a/emulators/playdiaemu.yml +++ b/emulators/playdiaemu.yml @@ -3,8 +3,8 @@ type: libretro core_classification: pure_libretro source: "https://github.com/AloysHF/PlaydiaEmu" upstream: "https://github.com/AloysHF/PlaydiaEmu" -profiled_date: "2026-10-04" -source_commit: "6e758408ddffafe407282473f3904c1699a4cea8" +profiled_date: "2026-10-23" +source_commit: "e1cc2e132781d2b81d4df762f6ec7dde7a4ebc75" core_version: "0.1.0" display_name: "Bandai - Playdia (PlaydiaEmu)" cores: @@ -23,7 +23,8 @@ notes: | file alone. The core-info declares firmware_count = 0 (crates/playdiaemu-libretro/playdiaemu_libretro.info:19), and the playdiaemu-core crate reads only the user content: CUE/BIN tracks and - ZIP archives from the game path (crates/playdiaemu-core/src/content.rs - :111-199). No other file is ever opened. + ZIP archives from the game path + (crates/playdiaemu-core/src/content.rs:111-204). No other file is ever + opened. files: [] diff --git a/emulators/pokketstation.yml b/emulators/pokketstation.yml index d5e8b9f9..38a24c36 100644 --- a/emulators/pokketstation.yml +++ b/emulators/pokketstation.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/mentalfoundry/Pokket" upstream: "https://github.com/mentalfoundry/Pokket" profiled_date: "2026-10-17" -source_commit: "de736cee392567d58e842f96afe77f707e694ce5" +source_commit: "37c022ce46eb578de5b57d7b488ffda9e3b7d9f1" core_version: "v1.23" display_name: "Sony - PocketStation (pokketstation)" cores: ["pokketstation", "pokket"] @@ -42,7 +42,7 @@ notes: | are documented: 061, from prototype hardware, and 110, the retail one. The ASCII tags at offsets 0x1DFC (C061 or C110) and 0x3FFC (J061 or J110) identify them. SWI 0Fh FlashWriteSerial works on 061 and locks the CPU on - 110 (docs/hardware-notes.md:1046-1056). + 110 (docs/hardware-notes.md:1056-1066). The desktop application takes the BIOS path from the command line, then from the bios= key of settings.cfg beside the executable, then falls back diff --git a/emulators/pom2.yml b/emulators/pom2.yml index 630c4910..fb8428f7 100644 --- a/emulators/pom2.yml +++ b/emulators/pom2.yml @@ -3,9 +3,9 @@ type: standalone core_classification: other source: "https://github.com/habib256/pom2" upstream: "https://github.com/habib256/pom2" -profiled_date: "2026-10-04" -source_commit: "c2ce3f685cf3c7429de7341b2b3df65e9981b907" -core_version: "0.9.4" +profiled_date: "2026-10-23" +source_commit: "b7c14c5b5d8ed78402c0c1efc196bb1bc7f93e37" +core_version: "0.9.8" display_name: "Apple - Apple II (POM2)" cores: - pom2 @@ -16,7 +16,7 @@ mode: standalone notes: | Apple ][, ][+, //e, //c and //c+ emulator by Arnaud Verhille, C++ with an ImGui frontend, plus a browser build and a headless CLI. Nine machine - profiles (src/SystemProfile.cpp:32-302): Apple ][ Original, ][+, //e + profiles (src/SystemProfile.cpp:32-305): Apple ][ Original, ][+, //e Unenhanced, //e Enhanced, //c, //c Plus, and PAL variants of the //e Unenhanced, //e Enhanced (the default) and //c (Le Chat Mauve). @@ -26,11 +26,12 @@ notes: | %LOCALAPPDATA%\POM2) when it really is per-user, the executable directory, its parent, ../share/POM2, the temp fallback data directory otherwise, then the working directory and its two parents. The first hit - wins. Release packages ship the whole roms/ tree, the fonts and the two - photos (packaging/bundle.manifest). + wins. Release packages ship the whole roms/ tree, the fonts, the About + photo, the two keyboard photos and the pic/retro artwork + (packaging/bundle.manifest:39, 50-61). Machine firmware is a probe chain per profile, first name found wins - (SystemProfile.cpp romProbeOrder, src/ProfileSwitch.cpp:113-133): + (SystemProfile.cpp romProbeOrder, src/ProfileSwitch.cpp:136-154): ][ Original apple2o.rom, apple2.rom ][+ apple2p.rom, apple2.rom //e Unenhanced apple2e_unenh.rom, 342-0135-b.64.rom, apple2e.rom @@ -38,18 +39,18 @@ notes: | //c apple2c-32Kv0.rom, apple2c-16K.rom, 3420033a.256 //c Plus apple2cp.rom, apple2c-plus.rom, apple2c-32Kv0.rom With no candidate the machine runs on a $D000-$FFFF stub and the Welcome - panel opens (src/MainWindow.cpp:328-336). A first run with no //e image - falls back to the ][+ chain (src/MainWindow.cpp:233-246). - Memory::loadAppleIIRom (src/Memory.cpp:174-237) maps 12 KB at $D000, + panel opens (src/MainWindow.cpp:334-342). A first run with no //e image + falls back to the ][+ chain (src/MainWindow.cpp:239-252). + Memory::loadAppleIIRom (src/Memory.cpp:175-262) maps 12 KB at $D000, 16 KB at $C000, skips the 4 KB pad of a 20 KB ][+ dump, and slices a 32 KB dump by profile: //e images carry the firmware in the upper half, //c and //c+ images are two firmware banks with bank 0 in the lower half - (src/SystemProfile.cpp:429). + (src/SystemProfile.cpp:432). Character generators follow charRomProbeOrder per profile, or the locale picked in the toolbar (src/CharRomCatalog.cpp:42-91, - src/ProfileSwitch.cpp:135-141). Memory::loadCharRom accepts 2 KB, 4 KB - and 8 KB dumps (src/Memory.cpp:325-358). An 8 KB dump is two 4 KB banks, + src/ProfileSwitch.cpp:156-162). Memory::loadCharRom accepts 2 KB, 4 KB + and 8 KB dumps (src/Memory.cpp:343-376). An 8 KB dump is two 4 KB banks, loaded as one bank or kept dual-bank with annunciator 2 selecting the live set. @@ -57,23 +58,24 @@ notes: | The Disk II carries the 341-0027-A boot PROM and the 16-sector P6 sequencer built in (src/DiskIICard.cpp:136-149). CFFA, Liron, Workstation, the MC68705 mouse card, the 1981 Grappler, the Apple - Parallel Interface and the Videx Videoterm leave the slot empty without - their dump. Grappler+, ThunderClock+ and the Super Serial Card run a - synthetic ROM instead, and TransWarp accelerates without its boot - firmware. The catalogue behind the ROM Status panel (src/RomCatalog.h) + Parallel Interface, the Videx Videoterm and the Apple Memory Expansion + Card leave the slot empty without their dump. Grappler+, ThunderClock+ + and the Super Serial Card run a synthetic ROM instead, and TransWarp + accelerates without its boot firmware. The catalogue behind the ROM Status panel (src/RomCatalog.h) lists every name in probe order with the size the loader enforces, what a missing dump costs (degraded, card unavailable, unused) and, where POM2 vouches for a dump, its CRC32. The panel hashes each present - file (src/RomStatus_ImGui.cpp:169-181, 311). + file (src/RomStatus_ImGui.cpp:185-212, 415) and lists the Virtual ][ + recordings with a decode check (src/RomStatus_ImGui.cpp:323-391). Help > Download missing ROMs (src/RomFetch.cpp:68-301) fetches 45 files, 43 distinct dumps, with curl from raw.githubusercontent.com/Abdess/retrobios, - pinned to HTTPS (src/RomFetch.cpp:732-748). Every entry carries a + pinned to HTTPS (src/RomFetch.cpp:734-750). Every entry carries a SHA-256, fourteen a CRC32 as well, and a download is installed only when its - size, CRC32 and SHA-256 match (src/RomFetch.cpp:629-665). A present file + size, CRC32 and SHA-256 match (src/RomFetch.cpp:631-667). A present file is re-checked with the same gate and, when it is not the catalogued dump, replaced after a copy to roms-replaced/ under the data directory - (src/RomFetch.cpp:579-627, 833-853, 862-880). A 12 KB apple2p.rom is the + (src/RomFetch.cpp:581-629, 840-860, 869-887). A 12 KB apple2p.rom is the one alternate size kept as is. Nine entries are members of MAME romsets, read in-process (src/ZipMember.cpp): apple2e_unenh.rom is 342-0135-b.64 then 342-0134-a.64 from apple2e.zip, mouse_341-0270-c.bin is @@ -81,21 +83,24 @@ notes: | a2ssc.zip, grappler_eps-1.bin is eps-1_c1981.u6 from a2grappler.zip, 341-0057.bin is 341-0057.7b from a2pic.zip, and the four Videoterm files come from a2vidtrm.zip. Downloads land in the per-user data directory's - roms/ (src/RomFetch.cpp:801-821). Unavailable in the browser build - (src/RomFetch.cpp:922-925). + roms/ (src/RomFetch.cpp:808-828). Unavailable in the browser build + (src/RomFetch.cpp:932-937). The floppy mechanical sounds are MAME's samples/floppy set, read from roms/floppy_samples/ as two banks of ten WAV files prefixed 525_ and 35_ - (src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358). A + (src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364). A missing sample is logged and the drive stays silent. A second bank, the - Virtual ][ recordings, is read from roms/virtual_ii_sons/ when that - directory exists (src/MainWindow.cpp:362-376): eight drive and switch - takes under lecteur/ and interface/ (src/FloppySoundDevice.cpp:195-204) - and one printer loop under imprimante/. The bank is selectable once - Disk Rotation, Move arm, Disk Insertion and Disk Removal have loaded - (src/FloppySoundDevice.cpp:205-225). An .aiff name is retried as .wav - (src/FloppySoundDevice.cpp:166-187). The packaging manifest keeps the - directory out of release packages (packaging/bundle.manifest:75-78). + Virtual ][ recordings, is read from the folder picked with Import + sounds in the audio mixer, stored as mechanical_sound_path + (src/MainWindow_AudioPanels.cpp:349-378), then from roms/virtual_ii_sons/ + (src/MainWindow.cpp:365-385): eight drive and switch takes under + lecteur/ and interface/ (src/VirtualIISoundCatalog.h:15-24) and one + printer loop under imprimante/ (src/VirtualIISoundCatalog.h:26-27). The + bank is selectable once Disk Rotation, Move arm, Disk Insertion and Disk + Removal have loaded (src/FloppySoundDevice.cpp:196-232). An .aiff name is + retried as .wav (src/FloppySoundDevice.cpp:173-194). The packaging + manifest keeps the directory out of release packages + (packaging/bundle.manifest:91-94). The nine takes come from Contents/Resources/ of Virtual ][.app in VirtualII.dmg, the free download on virtualii.com (Virtual ][ 13.3). @@ -108,15 +113,25 @@ notes: | and 16, and SoundRepeater fills an lpcm AudioStreamBasicDescription with one channel, the signed-integer flag for 16 bits and no big-endian flag. POM2 decodes all nine through miniaudio into mono float at the file's own - rate (src/FloppySoundDevice.cpp:133-164, src/PrinterSoundDevice.cpp:272-299). + rate (src/FloppySoundDevice.cpp:134-165, src/PrinterSoundDevice.cpp:79-101). + + The screen sits in a Monitor II bezel, pic/retro/monitor/monitor2.png, + on by default (src/MainWindow_Screen.cpp:371-372), and the Drives window + shows a picture per drive state from pic/retro/drives/ + (src/RetroArtwork.cpp:44-91, src/MainWindow_DriveRack.cpp:109-120). + Without a picture the screen has no bezel and the drive is drawn as a + vector mechanism (src/DriveRack_ImGui.cpp:57-61). The FujiNet card runs + FujiNet-PC Apple v1.5.2, a separate program the release packages carry + under fujinet-pc-APPLE// (src/FujiNetRuntime.cpp:38-62, + packaging/fujinet/stage.py:20-31). Media named by the code are not firmware and are not listed here: the - browser demo boots floppyemu/DIX.po (wasm/shell.html:89) or, when the - shell passes no disk, floppyemu/Total Replay v6.1.hdv - (src/main.cpp:285-289), and the headless CLI mounts - disks_5.4/dos33_master.dsk by default (src/pom2_headless.cpp:262-264). - Disk, tape and hard-disk images are browsed from disks_5.4/, disks_3.5/, - hdv/, floppyemu/, cassettes/ and prodos_folder/ next to the executable. + browser demo boots bundled_disks/DIX-fix.po on the //c PAL preset + (wasm/shell.html:102-105, src/main.cpp:313-319), and the headless CLI + mounts disks_5.4/dos33_master.dsk by default + (src/pom2_headless.cpp:265-267). Disk, tape and hard-disk images are + browsed from disks_5.4/, disks_3.5/, hdv/, floppyemu/, bundled_disks/, + cassettes/ and prodos_folder/ next to the executable. files: - name: "apple2o.rom" @@ -129,7 +144,7 @@ files: sha256: "68d9db6bb4c305d40c3fa89fa0f2d7b7f71516a9431e3138859f23bc5bddb2d1" sha1: "78008be557f643e956a106121bcc182c0fb9ea6d" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:38, src/Memory.cpp:174-237, src/RomFetch.cpp:72-75" + source_ref: "src/SystemProfile.cpp:38, src/Memory.cpp:175-262, src/RomFetch.cpp:72-75" note: "First candidate of the Apple ][ Original profile. apple2.rom is probed next." - name: "apple2.rom" path: "roms/apple2.rom" @@ -141,7 +156,7 @@ files: sha256: "fc3e9d41e9428534a883df5aa10eb55b73ea53d2fcbb3ee4f39bed1b07a82905" sha1: "33a24f5489ba9195b44be77d9afb2252594cb5c7" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:38, src/SystemProfile.cpp:54, src/ProfileSwitch.cpp:121-128, src/RomFetch.cpp:76-83" + source_ref: "src/SystemProfile.cpp:38, src/SystemProfile.cpp:54, src/ProfileSwitch.cpp:142-149, src/RomFetch.cpp:76-83" note: "Probed after the profile image for the ][ and ][+ profiles. When it resolves in place of that image the loader logs that the ROM identity may not match the machine." - name: "apple2p.rom" path: "roms/apple2p.rom" @@ -153,8 +168,8 @@ files: sha256: "92c4bef609920842ea472d21b661a0d35dbda6cd90963b8b734a205e22d84108" sha1: "29a53f3bb158b160433369e8e4a1d7cd5bf68ac6" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:54, src/Memory.cpp:222-232, src/RomFetch.cpp:84-96, src/RomFetch.cpp:862-873" - note: "First candidate of the ][+ profile and of the first-run fallback (src/MainWindow.cpp:242-246). The loader drops the leading 4 KB of the 20 KB dump. The fetch gate names that dump, but a 12 KB six-chip image already on disk is kept as present without a digest check." + source_ref: "src/SystemProfile.cpp:54, src/Memory.cpp:247-257, src/RomFetch.cpp:84-96, src/RomFetch.cpp:869-880" + note: "First candidate of the ][+ profile and of the first-run fallback (src/MainWindow.cpp:248-252). The loader drops the leading 4 KB of the 20 KB dump. The fetch gate names that dump, but a 12 KB six-chip image already on disk is kept as present without a digest check." - name: "apple2e.rom" path: "roms/apple2e.rom" description: "Apple //e Enhanced firmware, 32 KB dump with the 16 KB firmware in the upper half" @@ -165,7 +180,7 @@ files: sha256: "c17bc38c75ba96c33a30c688a1efd60144811073423533fe7f8453cdd9457aab" sha1: "d756eba578a6c5a4807510dfee30ee585c63755e" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:101, src/SystemProfile.cpp:241-253, src/Memory.cpp:202-214, src/Memory.cpp:233-235, src/MainWindow.cpp:233-236, src/RomFetch.cpp:97-100" + source_ref: "src/SystemProfile.cpp:101, src/SystemProfile.cpp:244-256, src/Memory.cpp:227-239, src/Memory.cpp:258-260, src/MainWindow.cpp:239-242, src/RomFetch.cpp:97-100" note: "Sole candidate of the //e Enhanced profiles, NTSC and PAL, PAL being the default machine. Also the last fallback of the //e Unenhanced chain." - name: "apple2e_unenh.rom" path: "roms/apple2e_unenh.rom" @@ -178,7 +193,7 @@ files: sha256: "1fb812584c6633fa16b77b20915986ed1178d1e6fc07a647f7ee8d4e6ab9d40b" sha1: "61fa9254628e5bb7236fb474006116d67684d747" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:78-79, src/SystemProfile.cpp:267-279, src/RomFetch.cpp:51-56, src/RomFetch.cpp:101-109" + source_ref: "src/SystemProfile.cpp:78-79, src/SystemProfile.cpp:270-282, src/RomFetch.cpp:51-56, src/RomFetch.cpp:101-109" note: "First candidate of the //e Unenhanced profiles. 342-0135-b.64.rom is probed second, apple2e.rom third. The fetcher assembles it from the two 8 KB chips of the MAME apple2e set, 342-0135-b.64 then 342-0134-a.64." - name: "apple2c-32Kv0.rom" path: "roms/apple2c-32Kv0.rom" @@ -191,7 +206,7 @@ files: sha256: "d65bbf97058b9cdce8eaebf74124048e3b4e42dca1bd42be316747bbc27dc124" sha1: "fb0d644aafaff1352d0816bc8494f6c9913809d5" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:142-143, src/SystemProfile.cpp:204-205, src/SystemProfile.cpp:429-434, src/Memory.cpp:202-214, src/Memory.cpp:233-235, src/RomFetch.cpp:110-113" + source_ref: "src/SystemProfile.cpp:142-143, src/SystemProfile.cpp:204-205, src/SystemProfile.cpp:432-437, src/Memory.cpp:227-239, src/Memory.cpp:258-260, src/RomFetch.cpp:110-113" note: "First candidate of the //c and //c PAL profiles, third of the //c Plus chain. Bank 0 is mapped at reset, the $C028 ROMBANK switch selects the other. Identical to 3420033a.256 with its first 256 bytes zeroed." - name: "apple2c-16K.rom" path: "roms/apple2c-16K.rom" @@ -204,7 +219,7 @@ files: sha256: "3ca1c8a27bf111aa0f4dc9372c5e6404457adb9a458ce32ae4b03a7e989e0c76" sha1: "1a9b8aca5e32bb702ddb7791daddd60a89655729" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:142-143, src/Memory.cpp:220-221, src/RomFetch.cpp:114-117" + source_ref: "src/SystemProfile.cpp:142-143, src/Memory.cpp:245-246, src/RomFetch.cpp:114-117" note: "Second candidate of the //c chain, loaded at $C000." - name: "3420033a.256" path: "roms/3420033a.256" @@ -231,7 +246,7 @@ files: sha256: "5a62070f6a0b07784681d4df4bf2ce88b2809bec0cbaa65fcb963e804ed60374" sha1: "1a27ae26966bbafd825d08ad1a24742d3e33557c" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:204-205, src/SystemProfile.cpp:429-434, src/RomFetch.cpp:122-125" + source_ref: "src/SystemProfile.cpp:204-205, src/SystemProfile.cpp:432-437, src/RomFetch.cpp:122-125" note: "First candidate of the //c Plus profile. apple2c-plus.rom is probed second and apple2c-32Kv0.rom third." - name: "apple2_char.rom" path: "roms/apple2_char.rom" @@ -243,7 +258,7 @@ files: sha256: "08f5d22230481019844492dde0a29a018cb193712a9e4a43770a3870608f28de" sha1: "f9d312f128c9557d9d6ac03bfad6c3ddf83e5659" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:39, src/SystemProfile.cpp:55, src/CharRomCatalog.cpp:42-43, src/RomFetch.cpp:128-131, src/Memory.cpp:325-358" + source_ref: "src/SystemProfile.cpp:39, src/SystemProfile.cpp:55, src/CharRomCatalog.cpp:42-43, src/RomFetch.cpp:128-131, src/Memory.cpp:343-376" note: "Sole candidate of the ][ and ][+ profiles and the last fallback of every //e-class chain." - name: "apple2e_char.rom" path: "roms/apple2e_char.rom" @@ -256,7 +271,7 @@ files: sha256: "52c3b87900ac939f6525402cab1ccfd8f8259290fc6df54da48fb4c98ae3ed0f" sha1: "b2b5d87f52693817fc747df087a4aa1ddcdb1f10" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:105, src/SystemProfile.cpp:144, src/SystemProfile.cpp:206, src/CharRomCatalog.cpp:48-49, src/RomFetch.cpp:132-144, src/Memory.cpp:325-358" + source_ref: "src/SystemProfile.cpp:105, src/SystemProfile.cpp:144, src/SystemProfile.cpp:206, src/CharRomCatalog.cpp:48-49, src/RomFetch.cpp:132-144, src/Memory.cpp:343-376" note: "First candidate of the //e Enhanced, //c and //c Plus profiles. The same dump answers to apple2e_char_us.rom in the locale picker, and the fetcher writes both names." - name: "apple2e_char_us_unenh.rom" path: "roms/apple2e_char_us_unenh.rom" @@ -269,7 +284,7 @@ files: sha256: "ed5bdd4afa509134e85f1d020685af7ff50e279226eb869a17825b471cc1634c" sha1: "58ad0008df72896a18601e090ee0d58155ffa5be" validation: [size, sha256] - source_ref: "src/SystemProfile.cpp:83-84, src/CharRomCatalog.cpp:50-51, src/RomFetch.cpp:145-152, src/Memory.cpp:325-358" + source_ref: "src/SystemProfile.cpp:83-84, src/CharRomCatalog.cpp:50-51, src/RomFetch.cpp:145-152, src/Memory.cpp:343-376" note: "The //e Unenhanced profile probes apple2e_char_2k.rom then 341-0265-a.chr.rom then apple2_char.rom. The same dump ships under both names and the fetcher writes both." - name: "apple2e_char_fr.rom" path: "roms/apple2e_char_fr.rom" @@ -282,7 +297,7 @@ files: sha256: "52d8e46b487a617c288caaf12ab7ad6cb81030b6ab92419f9a2e19c43d765566" sha1: "42afb02aab4146f781ac52803a2733adc4da834e" validation: [size, sha256] - source_ref: "src/CharRomCatalog.cpp:52-53, src/CharRomCatalog.cpp:56-57, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:155-158, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:52-53, src/CharRomCatalog.cpp:56-57, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:155-158, src/Memory.cpp:343-376" note: "Locale picker entry. The same dump is also listed as the FR Canadian unenhanced set 341-0168-A, a name the fetcher does not serve." - name: "apple2e_char_frca.rom" path: "roms/apple2e_char_frca.rom" @@ -294,7 +309,7 @@ files: sha256: "56479cbec4767651c62a4d0f61e6ed103395216f2b86eddba74d85495dd71cc4" sha1: "4043e0808af8be096660827445e41149d16c5c85" validation: [size, sha256] - source_ref: "src/CharRomCatalog.cpp:54-55, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:159-162, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:54-55, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:159-162, src/Memory.cpp:343-376" note: "Locale picker entry, equal to the low bank of 342-0274-a.e9." - name: "apple2e_char_uk.rom" path: "roms/apple2e_char_uk.rom" @@ -306,7 +321,7 @@ files: sha256: "d55bd5391485cd78c68c71408f09bd088e82a73d179a0a25820067a0c1554acd" sha1: "d19c2e2cc12b27d77edc403d5d0701186a4ed988" validation: [size, sha256] - source_ref: "src/CharRomCatalog.cpp:58-59, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:163-166, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:58-59, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:163-166, src/Memory.cpp:343-376" note: "Locale picker entry." - name: "apple2e_char_uk_unenh.rom" path: "roms/apple2e_char_uk_unenh.rom" @@ -318,7 +333,7 @@ files: sha256: "f2199fbfb473e98a8c3fb7e7c3312faaf76b4b010b02c655b662e5f87dc997f3" sha1: "6ca9767e0f47f642d1caab6ed41b8f58c58bb9eb" validation: [size, sha256] - source_ref: "src/CharRomCatalog.cpp:60-61, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:167-170, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:60-61, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:167-170, src/Memory.cpp:343-376" note: "Locale picker entry." - name: "apple2e_char_de.rom" path: "roms/apple2e_char_de.rom" @@ -330,7 +345,7 @@ files: sha256: "b92576b4fa994384501078ff99963b53cfa98eff4bb641eb61649d484a469315" sha1: "a7fd75ae8611572b0b4d99ad54562014b879dbbf" validation: [size, sha256] - source_ref: "src/CharRomCatalog.cpp:62-63, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:171-174, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:62-63, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:171-174, src/Memory.cpp:343-376" note: "Locale picker entry." - name: "apple2e_char_de_improved.rom" path: "roms/apple2e_char_de_improved.rom" @@ -342,7 +357,7 @@ files: sha256: "0e32ab131e3932fc61c0a5f0f5509b4c37ab8db6239027f5955d47feba56d39f" sha1: "12ce44f02bd28c350e2b0723d94ab8d9066f8798" validation: [size, sha256] - source_ref: "src/CharRomCatalog.cpp:64-65, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:175-178, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:64-65, src/CharRomCatalog.cpp:165-180, src/RomFetch.cpp:175-178, src/Memory.cpp:343-376" note: "Locale picker entry." - name: "342-0274-a.e9" path: "roms/342-0274-a.e9" @@ -354,7 +369,7 @@ files: sha256: "d4d29771658372c6ab5d18ff3bdab6b3b2b02b8de30ed6b021efb8a415192432" sha1: "c81c1bbf237e70f8c3e5eef3c8fd5bd9b9f54d1e" validation: [size, sha256] - source_ref: "src/CharRomCatalog.cpp:81-84, src/CharRomCatalog.cpp:158-163, src/RomFetch.cpp:179-184, src/RomStatus_ImGui.cpp:250, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:81-84, src/CharRomCatalog.cpp:158-163, src/RomFetch.cpp:179-184, src/RomStatus_ImGui.cpp:282, src/Memory.cpp:343-376" note: "Locale picker entries select bank 0 or bank 1. Loaded whole, both banks stay live and annunciator 2 picks the set." - name: "apple2e_char_ft_blockascii.rom" path: "roms/apple2e_char_ft_blockascii.rom" @@ -366,7 +381,7 @@ files: sha256: "c69c8e1eb26923c5df03d3507fdf86c5f768283a924a5fffdd80377cf2339321" sha1: "f79815457437e50404f4f537d8aabe34bff3a220" validation: [size, sha256] - source_ref: "src/CharRomCatalog.cpp:85-86, src/RomFetch.cpp:185-189, src/RomStatus_ImGui.cpp:250, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:85-86, src/RomFetch.cpp:185-189, src/RomStatus_ImGui.cpp:282, src/Memory.cpp:343-376" note: "Locale picker entry loaded dual-bank: annunciator 2 flips between the text set and the block glyphs." - name: "apple2e_char_us_mt_iigs.rom" path: "roms/apple2e_char_us_mt_iigs.rom" @@ -378,7 +393,7 @@ files: sha1: "66eca035fd18024fceed4c30c32a4185792cb3ea" sha256: "097cd3500afe6c15d710d2e96af539a8e5065853986289294aac08ee7a1f070a" validation: [size] - source_ref: "src/CharRomCatalog.cpp:87-88, src/CharRomCatalog.cpp:165-180, src/RomStatus_ImGui.cpp:250, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:87-88, src/CharRomCatalog.cpp:165-180, src/RomStatus_ImGui.cpp:282, src/Memory.cpp:343-376" note: "Locale picker entry. Shipped in roms/. The fetcher does not serve it, so only the size is checked." - name: "apple2e_char_reactive.rom" path: "roms/apple2e_char_reactive.rom" @@ -390,7 +405,7 @@ files: sha1: "02075efbfdb99af48360561323404a921b91a676" sha256: "49716e2804b119810c22ab668ae37cebadf0cd53bc8911b5f17c4a62a3acb514" validation: [size] - source_ref: "src/CharRomCatalog.cpp:89-90, src/CharRomCatalog.cpp:165-180, src/RomStatus_ImGui.cpp:250, src/Memory.cpp:325-358" + source_ref: "src/CharRomCatalog.cpp:89-90, src/CharRomCatalog.cpp:165-180, src/RomStatus_ImGui.cpp:282, src/Memory.cpp:343-376" note: "Locale picker entry. Shipped in roms/. The fetcher does not serve it, so only the size is checked." - name: "Videx Lower Case Chip ROM.bin" path: "roms/Videx Lower Case Chip ROM.bin" @@ -402,7 +417,7 @@ files: sha256: "6a516bcd96382597af7a498fb1da7547490c830db0f9d22d541fb065b9cd048b" sha1: "447874fe0850c8add3fd5b13fa98f6648fe6f999" validation: [size, crc32, sha256] - source_ref: "src/CharRomCatalog.cpp:44-45, src/RomCatalog.h:208-214, src/RomFetch.cpp:190-194, src/RomStatus_ImGui.cpp:311" + source_ref: "src/CharRomCatalog.cpp:44-45, src/RomCatalog.h:208-214, src/RomFetch.cpp:190-194, src/RomStatus_ImGui.cpp:415" note: "Locale picker entry for the ][ and ][+ profiles. Without it the picker keeps the stock uppercase set." - name: "disk2.rom" path: "roms/disk2.rom" @@ -414,7 +429,7 @@ files: sha256: "de1e3e035878bab43d0af8fe38f5839c527e9548647036598ee6fe7ec74d2a7d" sha1: "d4181c9f046aafc3fb326b381baac809d9e38d16" validation: [size, sha256] - source_ref: "src/SlotCardFactory.cpp:102-115, src/DiskIICard.cpp:136-141, src/DiskIICard.cpp:151-174, src/RomFetch.cpp:197-200" + source_ref: "src/SlotCardFactory.cpp:106-119, src/DiskIICard.cpp:136-141, src/DiskIICard.cpp:151-174, src/RomFetch.cpp:197-200" note: "The card carries the same PROM built in, and the file replaces it when present." - name: "diskii_p6.rom" path: "roms/diskii_p6.rom" @@ -426,7 +441,7 @@ files: sha256: "e5e30615040567c1e7a2d21599681f8dac820edbdcda177b816a64d74b3a12f2" sha1: "bc39fbd5b9a8d2287ac5d0a42e639fc4d3c2f9d4" validation: [size, sha256] - source_ref: "src/SlotCardFactory.cpp:102-115, src/DiskIICard.cpp:142-149, src/DiskIICard.cpp:176-202, src/DiskIICard.cpp:251-263, src/RomFetch.cpp:201-204" + source_ref: "src/SlotCardFactory.cpp:106-119, src/DiskIICard.cpp:142-149, src/DiskIICard.cpp:176-202, src/DiskIICard.cpp:251-263, src/RomFetch.cpp:201-204" note: "Loading the file switches the bit-level LSS path on for every image. Without it the legacy 32-cycle nibble gate serves non-WOZ images and the built-in PROM serves WOZ images." - name: "disk2_13.rom" path: "roms/disk2_13.rom" @@ -437,7 +452,7 @@ files: sha256: "2d2599521fc5763d4e8c308c2ee7c5c4d5c93785b8fb9a4f7d0381dfd5eb60b6" sha1: "afd060e6f35faf3bb0146fa889fc787adf56330a" validation: [size, sha256] - source_ref: "src/SlotCardFactory.cpp:102-115, src/DiskIICard.cpp:204-221, src/DiskIICard.cpp:264-288, src/RomCatalog.h:90-93, src/RomFetch.cpp:205-208" + source_ref: "src/SlotCardFactory.cpp:106-119, src/DiskIICard.cpp:204-221, src/DiskIICard.cpp:264-288, src/RomCatalog.h:90-93, src/RomFetch.cpp:205-208" note: "A mounted 13-sector disk switches the card to this PROM at $Cn00 and forces the bit-level LSS. Without it the disk mounts but cannot boot." - name: "diskii_p6_13.rom" path: "roms/diskii_p6_13.rom" @@ -448,7 +463,7 @@ files: sha256: "383c55f5333cbfde39dd41528186631e5aca2eddfec30716344f03b6a4d44655" sha1: "e3d6d1c30653572b49ecc2dc54ce073978411a04" validation: [size, sha256] - source_ref: "src/SlotCardFactory.cpp:102-115, src/DiskIICard.cpp:223-240, src/DiskIICard.cpp:273-283, src/RomCatalog.h:94-97, src/RomFetch.cpp:209-212" + source_ref: "src/SlotCardFactory.cpp:106-119, src/DiskIICard.cpp:223-240, src/DiskIICard.cpp:273-283, src/RomCatalog.h:94-97, src/RomFetch.cpp:209-212" note: "Read into the card and not consumed: the 13-sector switch depends on disk2_13.rom alone, and the sequencer keeps running the 16-sector P6 on 13-sector disks." - name: "cffa20eec02.bin" path: "roms/cffa20eec02.bin" @@ -460,7 +475,7 @@ files: sha256: "a08cb25ad80054649ee5fcb620e01ed56f025acb28c753bc28dd187a1d149cab" sha1: "080ff88f19de22328e162954ee2b51ee65f9d5cd" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:124-148, src/CffaCard.cpp:26-40, src/RomCatalog.h:119-123, src/RomFetch.cpp:223-226" + source_ref: "src/SlotCardFactory.cpp:128-152, src/CffaCard.cpp:26-40, src/RomCatalog.h:119-123, src/RomFetch.cpp:223-226" note: "Preferred when the CPU is a 65C02, the 6502 build is the fallback, and the slot stays empty when neither is found." - name: "cffa20ee02.bin" path: "roms/cffa20ee02.bin" @@ -472,7 +487,7 @@ files: sha256: "3d7f6918f9af3828f5a6299299a817df0d354ee62e547bc0238755de66162a88" sha1: "d600692ed9626668233a22a48236af639410cb7b" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:124-148, src/CffaCard.cpp:26-40, src/RomCatalog.h:124-129, src/RomFetch.cpp:219-222" + source_ref: "src/SlotCardFactory.cpp:128-152, src/CffaCard.cpp:26-40, src/RomCatalog.h:124-129, src/RomFetch.cpp:219-222" note: "Preferred on an NMOS 6502, fallback for a 65C02." - name: "mouse_341-0270-c.bin" path: "roms/mouse_341-0270-c.bin" @@ -483,7 +498,7 @@ files: sha256: "7f8e50c0e8a409991264201f9300f109b872b68e09c43f3e6c26af35fd8b89af" sha1: "3a9d881a8a8d30f55b9719aceebbcf717f829d6f" validation: [size, sha256] - source_ref: "src/SlotCardFactory.cpp:60-92, src/SlotCardFactory.cpp:337-352, src/MouseCard.cpp:119-153, src/MouseCardAppleWin.cpp:89-102, src/RomFetch.cpp:243-248" + source_ref: "src/SlotCardFactory.cpp:64-96, src/SlotCardFactory.cpp:399-414, src/MouseCard.cpp:119-153, src/MouseCardAppleWin.cpp:90-103, src/RomFetch.cpp:243-248" note: "Needed by both mouse cards: the MC68705 card also needs the MCU ROM, the AppleWin HLE card needs this one only. The fetcher extracts it from the MAME a2mouse set as 341-0270-c.4b." - name: "mouse_341-0269.bin" path: "roms/mouse_341-0269.bin" @@ -494,7 +509,7 @@ files: sha256: "66480812edad5f6bd70349949cf8bd8fbafee2dc8bf396541d4e78bac2629ec0" sha1: "3a2baa6648efe4456d3ec3721216e57c64f7acfc" validation: [size, sha256] - source_ref: "src/SlotCardFactory.cpp:60-92, src/MouseCard.cpp:150-153, src/M68705P3.cpp:85-104, src/RomFetch.cpp:239-242" + source_ref: "src/SlotCardFactory.cpp:64-96, src/MouseCard.cpp:150-153, src/M68705P3.cpp:85-104, src/RomFetch.cpp:239-242" note: "The MC68705 mouse card leaves its slot empty without it." - name: "grappler_plus.bin" path: "roms/grappler_plus.bin" @@ -506,7 +521,7 @@ files: sha256: "9be4dea7722ad8928aee64c2ae708f365a6d66c50a63bff8a3c1a4e7596d44c6" sha1: "829072cc19a58b24d36c2af972abaad6f9ba35d9" validation: [size, sha256] - source_ref: "src/SlotCardFactory.cpp:156-175, src/GrapplerCard.cpp:30-53, src/RomCatalog.h:132-138, src/RomFetch.cpp:235-238" + source_ref: "src/SlotCardFactory.cpp:166-185, src/GrapplerCard.cpp:30-53, src/RomCatalog.h:132-138, src/RomFetch.cpp:235-238" note: "Without it the card runs a stub ROM: PR#n prints, the graphics dump commands are absent." - name: "ae_transwarp_1.4.bin" path: "roms/ae_transwarp_1.4.bin" @@ -531,7 +546,7 @@ files: sha256: "4fa1323ba31f4bd562486838397b7744257c126806766e360876720daca6e2aa" sha1: "6dab633470c6bc4cb3e81d09fda46597caf8ee57" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:379-397, src/SuperSerialCard.cpp:722-728, src/RomCatalog.h:147-154, src/RomFetch.cpp:281-284" + source_ref: "src/SlotCardFactory.cpp:441-459, src/SuperSerialCard.cpp:765-771, src/RomCatalog.h:147-154, src/RomFetch.cpp:281-284" note: "Three names are probed in order and a file that is not 2048 bytes is refused. Without it the card runs a hand-written slot ROM: PR#n, IN#n and the Pascal 1.1 entries work, the firmware commands and printer mode are absent. Not loaded on the //c and //c Plus. The fetcher extracts it from the MAME a2ssc set as 341-0065-a.bin." - name: "grappler_eps-1.bin" path: "roms/grappler_eps-1.bin" @@ -542,7 +557,7 @@ files: sha256: "4cce25c87ba4dd396919ce82f8567894225519c3d9db76c5667760f77054694f" sha1: "791ebae64a7fad8f42bdfaec36b9e2d34f12ded8" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:178-216, src/GrapplerClassicCard.cpp:28-34, src/RomCatalog.h:155-158, src/RomFetch.cpp:253-256" + source_ref: "src/SlotCardFactory.cpp:188-226, src/GrapplerClassicCard.cpp:28-34, src/RomCatalog.h:155-158, src/RomFetch.cpp:253-256" note: "The original Grappler leaves its slot empty without it. The fetcher extracts it from the MAME a2grappler set as eps-1_c1981.u6." - name: "341-0057.bin" path: "roms/341-0057.bin" @@ -553,7 +568,7 @@ files: sha256: "634e91bae5938820da79183984c03aa06075cbd5701d480debcc4f6d70620001" sha1: "de8aa285dcac88b1cc80ec9128b092833f5174b6" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:178-216, src/AppleParallelCard.cpp:28-34, src/RomCatalog.h:159-162, src/RomFetch.cpp:257-260" + source_ref: "src/SlotCardFactory.cpp:188-226, src/AppleParallelCard.cpp:28-34, src/RomCatalog.h:159-162, src/RomFetch.cpp:257-260" note: "The Apple Parallel Interface leaves its slot empty without it. The fetcher extracts it from the MAME a2pic set as 341-0057.7b." - name: "videx_videoterm_v24_60hz.bin" path: "roms/videx_videoterm_v24_60hz.bin" @@ -565,7 +580,7 @@ files: sha256: "420da3867e489824f5fc0377c287c48a125296f19e1306df764e8f63bd23b00a" sha1: "19f69011ed7d2551c39d5c1cac1f5a2defc8f8fb" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:235-246, src/SlotCardFactory.cpp:254-264, src/VidexVideotermCard.cpp:40-47, src/RomCatalog.h:165-171, src/RomFetch.cpp:263-266" + source_ref: "src/SlotCardFactory.cpp:245-256, src/SlotCardFactory.cpp:264-274, src/VidexVideotermCard.cpp:40-47, src/RomCatalog.h:165-171, src/RomFetch.cpp:263-266" note: "First firmware candidate of the Videoterm card. The 50 Hz dump is probed second. With neither the slot stays empty. The fetcher extracts it from the MAME a2vidtrm set." - name: "videx_videoterm_v24_50hz.bin" path: "roms/videx_videoterm_v24_50hz.bin" @@ -577,7 +592,7 @@ files: sha256: "616f4d9f81a7a4ea0fa918842a05dfb3b503927776d2bfe97e6950b5431b562e" sha1: "bb653836e84850ce3197f461d4e19355f738cfbf" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:235-246, src/VidexVideotermCard.cpp:40-47, src/RomCatalog.h:172-177, src/RomFetch.cpp:267-271" + source_ref: "src/SlotCardFactory.cpp:245-256, src/VidexVideotermCard.cpp:40-47, src/RomCatalog.h:172-177, src/RomFetch.cpp:267-271" note: "Fallback firmware of the Videoterm card, padded to 2 KB with $FF. The fetcher extracts it from the MAME a2vidtrm set." - name: "videx_videoterm_char_normal.bin" path: "roms/videx_videoterm_char_normal.bin" @@ -588,7 +603,7 @@ files: sha256: "ad873ca47e09def4c942177c84809d853231d4774e8d824e1b834d2033b8199c" sha1: "410b54f33d13c82e3857f1be906d93a8c5b8d321" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:247-264, src/VidexVideotermCard.cpp:49-65, src/RomCatalog.h:178-182, src/RomFetch.cpp:272-276" + source_ref: "src/SlotCardFactory.cpp:257-274, src/VidexVideotermCard.cpp:49-65, src/RomCatalog.h:178-182, src/RomFetch.cpp:272-276" note: "The Videoterm card leaves its slot empty without it. The fetcher extracts it from the MAME a2vidtrm set as videx videoterm character rom normal.bin." - name: "videx_videoterm_char_inverse.bin" path: "roms/videx_videoterm_char_inverse.bin" @@ -599,7 +614,7 @@ files: sha256: "4d03bd0934ab39cb18f22444e0361f91d1984131759c07010398ad5cf84397c0" sha1: "50c3df528109c65491a001ec74e50351a652c1fd" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:247-253, src/VidexVideotermCard.cpp:49-65, src/RomCatalog.h:183-188, src/RomFetch.cpp:277-280" + source_ref: "src/SlotCardFactory.cpp:257-263, src/VidexVideotermCard.cpp:49-65, src/RomCatalog.h:183-188, src/RomFetch.cpp:277-280" note: "Alternate set of the Videoterm card. A missing or wrong-size file is ignored and the card derives the set as the bitwise inverse of the normal one. The fetcher extracts it from the MAME a2vidtrm set." - name: "thunderclock_u9_v1.3.bin" path: "roms/thunderclock_u9_v1.3.bin" @@ -611,7 +626,7 @@ files: sha256: "ecca793179427fdd193373080bf23e49a95743bd7b5e0b218c747663938b6c03" sha1: "60f434f5325899d7ea257a6e56e6f53eae65146a" validation: [size, sha256] - source_ref: "src/ClockCard.cpp:469-530, src/RomCatalog.h:216-226, src/RomFetch.cpp:227-230" + source_ref: "src/ClockCard.cpp:582-643, src/RomCatalog.h:216-226, src/RomFetch.cpp:227-230" note: "The card loads a 256-byte slot ROM or the 2 KB chip, which supplies the $C800 expansion ROM as well. The fetch gate names the 2 KB dump and replaces a 256-byte file. The first four even bytes must read $08, $28, $58, $70, the ProDOS clock signature, or the synthetic ROM stays in place." - name: "liron.rom" path: "roms/liron.rom" @@ -622,7 +637,7 @@ files: sha256: "42c1ae66c6bec932669239599eb8989a5364752d56fa5c8997bb23d8dfc0b657" sha1: "fa94ecc2aa23f336f7da9e18bc8f4a6cfbb4ea60" validation: [size, sha256] - source_ref: "src/SlotCardFactory.cpp:299-325, src/LironCard.cpp:61-85, src/SmartPortCard.cpp:80-97, src/RomCatalog.h:100-104, src/RomFetch.cpp:215-218" + source_ref: "src/SlotCardFactory.cpp:352-387, src/LironCard.cpp:62-86, src/SmartPortCard.cpp:99-116, src/RomCatalog.h:100-104, src/RomFetch.cpp:215-218" note: "The Liron card refuses to plug without it. The SmartPort 3.5 card loads it on machines with physical slots and otherwise presents a synthetic identity." - name: "341-0358-A.bin" path: "roms/341-0358-A.bin" @@ -635,8 +650,20 @@ files: sha256: "ce785b913b9fcec6db0fab89b2d94f07fcd07664a822531dcbba3a5ca70ca3bf" sha1: "59c8e8c88bac5c31ada1306b412edfcf5912a720" validation: [size, crc32, sha256] - source_ref: "src/SlotCardFactory.cpp:274-297, src/WorkstationCard.cpp:60-74, src/RomCatalog.h:198-206, src/RomFetch.cpp:291-294" + source_ref: "src/SlotCardFactory.cpp:327-350, src/WorkstationCard.cpp:60-74, src/RomCatalog.h:198-206, src/RomFetch.cpp:291-294" note: "The Workstation card leaves its slot empty without it. The card runs its own 65C02 on the upper 32 KB." + - name: "slinky_341-0344a.bin" + path: "roms/slinky_341-0344a.bin" + description: "Apple Memory Expansion Card firmware 341-0344A, 4 KB, MAME a2memexp" + required: false + bundled: true + size: 4096 + crc32: "1e994e17" + sha256: "2b9beab16f64cda027ef8f2a048e54f3cb8f8016eafdc98d7be500c6a90ccc9c" + sha1: "6e823a1fa40ed37eeddcef23f5df24da2ea1463e" + validation: [size] + source_ref: "src/SlotCardFactory.cpp:299-325, src/SlinkyCard.cpp:38-40, src/SlinkyCard.h:93-97" + note: "The Memory Expansion card leaves its slot empty without it, and a file that is not 4096 bytes is refused. The firmware is the card's ProDOS RAM-disk driver: seven per-slot $Cn00 pages and the $C800 expansion ROM. Not in the fetch catalogue." - name: "341-0438-a.bin" path: "roms/341-0438-a.bin" description: "Apple II 3.5 Disk Controller SuperDrive firmware 341-0438-A, MAME a2superdrive" @@ -647,7 +674,7 @@ files: sha256: "084587835c1d2c92f5708a9745fdd43ba32136fcdb861a12ee7d690de22dc172" sha1: "440c3f84176c7b9f542da0b6ddf4fb13ec326c46" validation: [size, crc32, sha256] - source_ref: "src/RomCatalog.h:105-111, src/RomStatus_ImGui.cpp:169-181, src/RomFetch.cpp:287-290" + source_ref: "src/RomCatalog.h:105-111, src/RomStatus_ImGui.cpp:188-206, src/RomFetch.cpp:287-290" note: "No card reads it. The ROM Status panel and the fetch gate check it." - name: "342-0326-a.f12" path: "roms/342-0326-a.f12" @@ -659,7 +686,7 @@ files: sha256: "4ae7ff693a486b155a70a8833047b3d4363464dace6760ed64bfb68db233ed4b" sha1: "806a602195c18ffec637c03b6bb3405188b0dc1e" validation: [size, crc32, sha256] - source_ref: "src/RomCatalog.h:112-118, src/RomStatus_ImGui.cpp:169-181, src/RomStatus_ImGui.cpp:311, src/RomFetch.cpp:295-298" + source_ref: "src/RomCatalog.h:112-118, src/RomStatus_ImGui.cpp:188-206, src/RomStatus_ImGui.cpp:415, src/RomFetch.cpp:295-298" note: "Host keys are mapped directly, no keyboard decode ROM is emulated. The ROM Status panel and the fetch gate check the file only." - name: "525_seek_2ms.wav" path: "roms/floppy_samples/525_seek_2ms.wav" @@ -669,7 +696,7 @@ files: bundled: true size: 5336 sha1: "2d046a880476218685ed738fe8c8381962afd74a" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" note: "One of ten samples per drive bank. A missing sample is logged and that sound stays silent." - name: "525_seek_6ms.wav" path: "roms/floppy_samples/525_seek_6ms.wav" @@ -679,7 +706,7 @@ files: bundled: true size: 14860 sha1: "6f698055fa6e9da6c5ae3fd6fb05de76b92a45a9" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "525_seek_12ms.wav" path: "roms/floppy_samples/525_seek_12ms.wav" description: "MAME floppy sample, 5.25 inch drive, 12 ms head seek" @@ -688,7 +715,7 @@ files: bundled: true size: 22764 sha1: "fbbbb5e8724c076d194e66a4443d299d54a8efd6" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "525_seek_20ms.wav" path: "roms/floppy_samples/525_seek_20ms.wav" description: "MAME floppy sample, 5.25 inch drive, 20 ms head seek" @@ -697,7 +724,7 @@ files: bundled: true size: 30060 sha1: "b6cd14944454c743861196edb4fcab1cc9b586d4" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "525_spin_empty.wav" path: "roms/floppy_samples/525_spin_empty.wav" description: "MAME floppy sample, 5.25 inch drive, motor running, no disk" @@ -706,7 +733,7 @@ files: bundled: true size: 8864 sha1: "4b13701d9a7f8ab0f0827f17ba80b5c32b4e0fa7" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "525_spin_loaded.wav" path: "roms/floppy_samples/525_spin_loaded.wav" description: "MAME floppy sample, 5.25 inch drive, motor running, disk loaded" @@ -715,7 +742,7 @@ files: bundled: true size: 17708 sha1: "875f90538a3ff5db863ad4c384e1808841ddea9b" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "525_spin_start_empty.wav" path: "roms/floppy_samples/525_spin_start_empty.wav" description: "MAME floppy sample, 5.25 inch drive, motor start, no disk" @@ -724,7 +751,7 @@ files: bundled: true size: 11180 sha1: "b87d89c4b46c36dd78dec3dc5170ca61501e7cd9" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "525_spin_start_loaded.wav" path: "roms/floppy_samples/525_spin_start_loaded.wav" description: "MAME floppy sample, 5.25 inch drive, motor start, disk loaded" @@ -733,7 +760,7 @@ files: bundled: true size: 17708 sha1: "510476098848e2b5cdfe9f1608f8dfa3207fe9b4" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "525_spin_end.wav" path: "roms/floppy_samples/525_spin_end.wav" description: "MAME floppy sample, 5.25 inch drive, motor stop" @@ -742,7 +769,7 @@ files: bundled: true size: 8864 sha1: "f8d9b94c4d92d35d9ffb1117b693fc74a93f613f" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "525_step_1_1.wav" path: "roms/floppy_samples/525_step_1_1.wav" description: "MAME floppy sample, 5.25 inch drive, single track step" @@ -751,7 +778,7 @@ files: bundled: true size: 6628 sha1: "669ee98fb9fac4371c72ed0b60be1bc8470bc7f8" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_seek_2ms.wav" path: "roms/floppy_samples/35_seek_2ms.wav" description: "MAME floppy sample, 3.5 inch drive, 2 ms head seek" @@ -760,7 +787,7 @@ files: bundled: true size: 7450 sha1: "55caafbd19486b8d517e4b33a6fa65250df55e25" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" note: "One of ten samples per drive bank. A missing sample is logged and that sound stays silent." - name: "35_seek_6ms.wav" path: "roms/floppy_samples/35_seek_6ms.wav" @@ -770,7 +797,7 @@ files: bundled: true size: 22230 sha1: "87e5dec269e67497681c15849777ebfc301131c1" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_seek_12ms.wav" path: "roms/floppy_samples/35_seek_12ms.wav" description: "MAME floppy sample, 3.5 inch drive, 12 ms head seek" @@ -779,7 +806,7 @@ files: bundled: true size: 26540 sha1: "c6b34fc61496943134ac45cc836a24e743caf794" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_seek_20ms.wav" path: "roms/floppy_samples/35_seek_20ms.wav" description: "MAME floppy sample, 3.5 inch drive, 20 ms head seek" @@ -788,7 +815,7 @@ files: bundled: true size: 44144 sha1: "b2fe4c3a4185146a7d11483d92d4412dd79dbc78" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_spin_empty.wav" path: "roms/floppy_samples/35_spin_empty.wav" description: "MAME floppy sample, 3.5 inch drive, motor running, no disk" @@ -797,7 +824,7 @@ files: bundled: true size: 17708 sha1: "db04fc097bdd0411cff232f57525ded491b48c6c" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_spin_loaded.wav" path: "roms/floppy_samples/35_spin_loaded.wav" description: "MAME floppy sample, 3.5 inch drive, motor running, disk loaded" @@ -806,7 +833,7 @@ files: bundled: true size: 17708 sha1: "96ce04a5b02af0da6d311f06fc4906a3cf71c78f" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_spin_start_empty.wav" path: "roms/floppy_samples/35_spin_start_empty.wav" description: "MAME floppy sample, 3.5 inch drive, motor start, no disk" @@ -815,7 +842,7 @@ files: bundled: true size: 17708 sha1: "af770fd9261a8efee23d66cd39b27be7b2ab7853" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_spin_start_loaded.wav" path: "roms/floppy_samples/35_spin_start_loaded.wav" description: "MAME floppy sample, 3.5 inch drive, motor start, disk loaded" @@ -824,7 +851,7 @@ files: bundled: true size: 35308 sha1: "c82b1714378bf2507ed86dea1e9fe743c380abab" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_spin_end.wav" path: "roms/floppy_samples/35_spin_end.wav" description: "MAME floppy sample, 3.5 inch drive, motor stop" @@ -833,7 +860,7 @@ files: bundled: true size: 17684 sha1: "a8901b692de15eb7a9052f61283f0e7a2b63d67d" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "35_step_1_1.wav" path: "roms/floppy_samples/35_step_1_1.wav" description: "MAME floppy sample, 3.5 inch drive, single track step" @@ -842,7 +869,7 @@ files: bundled: true size: 6878 sha1: "40d756d0cb5f7998ca26ac1de142a96a83fa2b97" - source_ref: "src/FloppySoundDevice.cpp:81-119, src/MainWindow.cpp:345-358" + source_ref: "src/FloppySoundDevice.cpp:82-120, src/MainWindow.cpp:351-364" - name: "Disk Rotation.wav" path: "roms/virtual_ii_sons/lecteur/Disk Rotation.wav" description: "Virtual ][ recording, drive motor loop" @@ -850,7 +877,7 @@ files: required: false size: 18420 sha1: "553e664b2f41f1cc74e2525c966e9c71f9e3bd2f" - source_ref: "src/FloppySoundDevice.cpp:196, src/FloppySoundDevice.cpp:166-187, src/FloppySoundDevice.cpp:205-225, src/MainWindow.cpp:362-376" + source_ref: "src/VirtualIISoundCatalog.h:16, src/FloppySoundDevice.cpp:173-194, src/FloppySoundDevice.cpp:196-232, src/MainWindow.cpp:365-385" note: "The Virtual ][ bank is offered only when this file and the arm, insertion and removal takes have loaded. Virtual ][ Disk Rotation.raw (sha1 993b054ee6ecf3778186937593d591eba332bdd6) behind a mono 44100 Hz 16-bit PCM RIFF header." - name: "Boot.wav" path: "roms/virtual_ii_sons/lecteur/Boot.wav" @@ -859,7 +886,7 @@ files: required: false size: 6806 sha1: "15c67468555494a9336d8f1981806ecd05a47da4" - source_ref: "src/FloppySoundDevice.cpp:197, src/FloppySoundDevice.cpp:166-187, src/FloppySoundDevice.cpp:205-225, src/MainWindow.cpp:362-376" + source_ref: "src/VirtualIISoundCatalog.h:17, src/FloppySoundDevice.cpp:173-194, src/FloppySoundDevice.cpp:196-232, src/MainWindow.cpp:365-385" note: "Virtual ][ Boot.raw (sha1 06db331ec01064661bf64ed39b58a9b35aaec067) behind a mono 44100 Hz 16-bit PCM RIFF header." - name: "Move arm.aiff" path: "roms/virtual_ii_sons/lecteur/Move arm.aiff" @@ -869,7 +896,7 @@ files: size: 36510 sha1: "3e03cfef6a327adf9e2c09dd329a4c5b8e0aac52" aliases: ["Move arm.wav"] - source_ref: "src/FloppySoundDevice.cpp:198, src/FloppySoundDevice.cpp:166-187, src/FloppySoundDevice.cpp:205-225, src/MainWindow.cpp:362-376" + source_ref: "src/VirtualIISoundCatalog.h:18, src/FloppySoundDevice.cpp:173-194, src/FloppySoundDevice.cpp:196-232, src/MainWindow.cpp:365-385" note: "Needed for the bank. The .wav name is tried when the .aiff does not decode. Virtual ][ Move arm.aiff unchanged." - name: "Disk Insertion.aiff" path: "roms/virtual_ii_sons/lecteur/Disk Insertion.aiff" @@ -879,7 +906,7 @@ files: size: 69146 sha1: "3da6c2e5986c38b6c7200bacc95ef076d0429152" aliases: ["Disk Insertion.wav"] - source_ref: "src/FloppySoundDevice.cpp:199, src/FloppySoundDevice.cpp:166-187, src/FloppySoundDevice.cpp:205-225, src/MainWindow.cpp:362-376" + source_ref: "src/VirtualIISoundCatalog.h:19, src/FloppySoundDevice.cpp:173-194, src/FloppySoundDevice.cpp:196-232, src/MainWindow.cpp:365-385" note: "Needed for the bank. The .wav name is tried when the .aiff does not decode. Virtual ][ Disk Insertion.aiff unchanged." - name: "Disk Removal.aiff" path: "roms/virtual_ii_sons/lecteur/Disk Removal.aiff" @@ -889,7 +916,7 @@ files: size: 243894 sha1: "9c33c1c1d793c8b9d6ff2e7867ae3c51f2556355" aliases: ["Disk Removal.wav"] - source_ref: "src/FloppySoundDevice.cpp:200, src/FloppySoundDevice.cpp:166-187, src/FloppySoundDevice.cpp:205-225, src/MainWindow.cpp:362-376" + source_ref: "src/VirtualIISoundCatalog.h:20, src/FloppySoundDevice.cpp:173-194, src/FloppySoundDevice.cpp:196-232, src/MainWindow.cpp:365-385" note: "Needed for the bank. The .wav name is tried when the .aiff does not decode. Virtual ][ Disk Removal.aiff unchanged." - name: "I-O Error.wav" path: "roms/virtual_ii_sons/lecteur/I-O Error.wav" @@ -898,7 +925,7 @@ files: required: false size: 4014 sha1: "464e3d8f9b50d21cef706503058cef63a5d73995" - source_ref: "src/FloppySoundDevice.cpp:201, src/FloppySoundDevice.cpp:166-187, src/FloppySoundDevice.cpp:205-225, src/MainWindow.cpp:362-376" + source_ref: "src/VirtualIISoundCatalog.h:21, src/FloppySoundDevice.cpp:173-194, src/FloppySoundDevice.cpp:196-232, src/MainWindow.cpp:365-385" note: "Virtual ][ I-O Error.raw (sha1 b123ef605fa977bcda49617cb96c7bc898281dbc) behind a mono 44100 Hz 16-bit PCM RIFF header." - name: "PopOn2.aiff" path: "roms/virtual_ii_sons/interface/PopOn2.aiff" @@ -908,7 +935,7 @@ files: size: 172338 sha1: "7473f2ade668f9155729e6dfc56775f998bb9ac3" aliases: ["PopOn2.wav"] - source_ref: "src/FloppySoundDevice.cpp:202, src/FloppySoundDevice.cpp:166-187, src/FloppySoundDevice.cpp:205-225, src/MainWindow.cpp:362-376" + source_ref: "src/VirtualIISoundCatalog.h:22, src/FloppySoundDevice.cpp:173-194, src/FloppySoundDevice.cpp:196-232, src/MainWindow.cpp:365-385" note: "Virtual ][ PopOn2.aiff unchanged." - name: "PopOff2.aiff" path: "roms/virtual_ii_sons/interface/PopOff2.aiff" @@ -918,7 +945,7 @@ files: size: 144702 sha1: "60b4b8bb589bcc3e4c6876a09d4aa4b391390798" aliases: ["PopOff2.wav"] - source_ref: "src/FloppySoundDevice.cpp:203, src/FloppySoundDevice.cpp:166-187, src/FloppySoundDevice.cpp:205-225, src/MainWindow.cpp:362-376" + source_ref: "src/VirtualIISoundCatalog.h:23, src/FloppySoundDevice.cpp:173-194, src/FloppySoundDevice.cpp:196-232, src/MainWindow.cpp:365-385" note: "Virtual ][ PopOff2.aiff unchanged." - name: "Matrix Printer.wav" path: "roms/virtual_ii_sons/imprimante/Matrix Printer.wav" @@ -927,7 +954,7 @@ files: required: false size: 1316870 sha1: "0b0363772efc684ea0d21cb79e62a0df63f0c094" - source_ref: "src/MainWindow.cpp:372-374, src/PrinterSoundDevice.cpp:272-299" + source_ref: "src/VirtualIISoundCatalog.h:26-27, src/MainWindow.cpp:380-383, src/PrinterSoundDevice.cpp:79-101, src/PrinterSoundDevice.cpp:296-320" note: "Loaded when present, otherwise the printer sound is generated. Virtual ][ Matrix Printer.raw (sha1 6f6d26237389435693469b4dd0e0b69083797bff) behind a mono 44100 Hz 16-bit PCM RIFF header." - name: "DejaVuSans.ttf" path: "fonts/DejaVuSans.ttf" @@ -937,7 +964,7 @@ files: bundled: true size: 759720 sha1: "3061cf7af25793a655a1ff5a509385f3620f3eb3" - source_ref: "src/main.cpp:533-546" + source_ref: "src/main.cpp:560-573" note: "Falls back to the system DejaVu, Arial Unicode or Segoe UI, then to the ImGui bitmap font." - name: "fa-solid-900.ttf" path: "fonts/fa-solid-900.ttf" @@ -947,7 +974,7 @@ files: bundled: true size: 426112 sha1: "0c8c9706abc0116f08b66d11a69da6aa9ef7e6bf" - source_ref: "src/main.cpp:593-611" + source_ref: "src/main.cpp:620-638" note: "Without it every icon renders as an empty box." - name: "Apple_II_plus.jpg" path: "pic/Apple_II_plus.jpg" @@ -957,14 +984,180 @@ files: bundled: true size: 102046 sha1: "69358dd499148deae4112b49cedb7bec220584e2" - source_ref: "src/MainWindow_MiscPanels.cpp:621" + source_ref: "src/MainWindow_MiscPanels.cpp:657" - name: "Keyboard_AppleIIe.jpeg" path: "pic/Keyboard_AppleIIe.jpeg" description: "Apple //e keyboard photograph the clickable keyboard window is built on" category: game_data required: false bundled: true - size: 794259 - sha1: "a178f37661078739637ff7642cd6450c762993aa" - source_ref: "src/MainWindow_MiscPanels.cpp:480" - note: "The window hotspots are fractions of this image. Without it the window has nothing to click." + size: 568596 + sha1: "dc85406f7bb69c4439088e78afab610afb753865" + source_ref: "src/KeyboardSkin.cpp:142-152, src/MainWindow_MiscPanels.cpp:515-526" + note: "Keyboard window picture for every profile outside the //c family. The window hotspots are fractions of this image. Without it the window has nothing to click." + - name: "Keyboard_AppleIIc.png" + path: "pic/Keyboard_AppleIIc.png" + description: "Apple //c keyboard photograph the clickable keyboard window uses on the //c family" + category: game_data + required: false + bundled: true + size: 1743304 + sha1: "f7c8a696d66ce9403b5c2f5f62b797c816961df0" + source_ref: "src/KeyboardSkin.cpp:142-152, src/MainWindow_MiscPanels.cpp:515-526" + note: "Keyboard window picture for the //c, //c PAL and //c Plus profiles. Without it the window has nothing to click." + - name: "monitor2.png" + path: "pic/retro/monitor/monitor2.png" + description: "Apple Monitor II bezel drawn around the screen" + category: game_data + required: false + bundled: true + size: 24460 + sha1: "1b8f16f4e74e6717d0332364c7b80cf20f37580f" + source_ref: "src/RetroArtwork.cpp:44-47, src/MainWindow_Screen.cpp:371-372" + note: "Drawn by default. Without it the screen has no bezel." + - name: "driveopen.png" + path: "pic/retro/drives/driveopen.png" + description: "Disk II drive 1, door open, motor off" + category: game_data + required: false + bundled: true + size: 81661 + sha1: "c768cae9b9f1c8aed4bbea72df40767b00935530" + source_ref: "src/RetroArtwork.cpp:75-91, src/MainWindow_DriveRack.cpp:113-116" + note: "Drives window picture. Without it the drive is drawn as a vector mechanism." + - name: "driveopenrunning.png" + path: "pic/retro/drives/driveopenrunning.png" + description: "Disk II drive 1, door open, motor on" + category: game_data + required: false + bundled: true + size: 83258 + sha1: "7fb68df047b698fb6c4308ca518c7e8af72c86cf" + source_ref: "src/RetroArtwork.cpp:75-91, src/MainWindow_DriveRack.cpp:113-116" + - name: "driveclosed.png" + path: "pic/retro/drives/driveclosed.png" + description: "Disk II drive 1, disk in, motor off" + category: game_data + required: false + bundled: true + size: 97766 + sha1: "a0cafd4de513c9787a15484a2658c10cb529b5af" + source_ref: "src/RetroArtwork.cpp:75-91, src/MainWindow_DriveRack.cpp:113-116" + - name: "driverunning.png" + path: "pic/retro/drives/driverunning.png" + description: "Disk II drive 1, disk in, motor on" + category: game_data + required: false + bundled: true + size: 99189 + sha1: "24fbad2dccd60363e08cfca0a2f94b55c7ef6775" + source_ref: "src/RetroArtwork.cpp:75-91, src/MainWindow_DriveRack.cpp:113-116" + - name: "drive2open.png" + path: "pic/retro/drives/drive2open.png" + description: "Disk II drive 2, door open, motor off" + category: game_data + required: false + bundled: true + size: 82048 + sha1: "d35419fe9ca5cdee1bd6e35ebd5378be15021ee5" + source_ref: "src/RetroArtwork.cpp:75-91, src/MainWindow_DriveRack.cpp:113-116" + - name: "drive2openrunning.png" + path: "pic/retro/drives/drive2openrunning.png" + description: "Disk II drive 2, door open, motor on" + category: game_data + required: false + bundled: true + size: 83639 + sha1: "8b2d611608b67898819cba78c37ea9c81aeb8461" + source_ref: "src/RetroArtwork.cpp:75-91, src/MainWindow_DriveRack.cpp:113-116" + - name: "drive2closed.png" + path: "pic/retro/drives/drive2closed.png" + description: "Disk II drive 2, disk in, motor off" + category: game_data + required: false + bundled: true + size: 98370 + sha1: "200ef91f19ac37d95edf270149f3856e278c76d0" + source_ref: "src/RetroArtwork.cpp:75-91, src/MainWindow_DriveRack.cpp:113-116" + - name: "drive2running.png" + path: "pic/retro/drives/drive2running.png" + description: "Disk II drive 2, disk in, motor on" + category: game_data + required: false + bundled: true + size: 99783 + sha1: "82b7541e0ba7f5c466079e7bfe8121f827c64c02" + source_ref: "src/RetroArtwork.cpp:75-91, src/MainWindow_DriveRack.cpp:113-116" + - name: "diskiicopen.png" + path: "pic/retro/drives/diskiicopen.png" + description: "//c built-in drive, door open, motor off" + category: game_data + required: false + bundled: true + size: 14098 + sha1: "c9a06c6bfb9a5b8d5261ad2a4ba100c2e1eb66ac" + source_ref: "src/RetroArtwork.cpp:56-66, src/MainWindow_DriveRack.cpp:113-116" + note: "Used in place of the Disk II pictures on the //c, //c PAL and //c Plus profiles." + - name: "diskiicopenrunning.png" + path: "pic/retro/drives/diskiicopenrunning.png" + description: "//c built-in drive, door open, motor on" + category: game_data + required: false + bundled: true + size: 14054 + sha1: "e5520d89d11669137c639469ad4818c7b7b8ba12" + source_ref: "src/RetroArtwork.cpp:56-66, src/MainWindow_DriveRack.cpp:113-116" + - name: "diskiicclosed.png" + path: "pic/retro/drives/diskiicclosed.png" + description: "//c built-in drive, disk in, motor off" + category: game_data + required: false + bundled: true + size: 13876 + sha1: "5f958d799ed0037dfa0c05b8594289135080ea2a" + source_ref: "src/RetroArtwork.cpp:56-66, src/MainWindow_DriveRack.cpp:113-116" + - name: "diskiicrunning.png" + path: "pic/retro/drives/diskiicrunning.png" + description: "//c built-in drive, disk in, motor on" + category: game_data + required: false + bundled: true + size: 13830 + sha1: "8af19c7739c5e796f9870dbc1808e81ddf85bbd1" + source_ref: "src/RetroArtwork.cpp:56-66, src/MainWindow_DriveRack.cpp:113-116" + - name: "apple35.png" + path: "pic/retro/drives/apple35.png" + description: "3.5 inch drive, idle" + category: game_data + required: false + bundled: true + size: 8746 + sha1: "17605fc7452fdf062496d062fb0f4cef11ee9969" + source_ref: "src/RetroArtwork.cpp:49-54, src/MainWindow_DriveRack.cpp:117-118" + - name: "apple35running.png" + path: "pic/retro/drives/apple35running.png" + description: "3.5 inch drive, busy" + category: game_data + required: false + bundled: true + size: 8743 + sha1: "5c5df0b5393ef75169651799e912cd66ce938abc" + source_ref: "src/RetroArtwork.cpp:49-54, src/MainWindow_DriveRack.cpp:117-118" + - name: "applehd.png" + path: "pic/retro/drives/applehd.png" + description: "Hard disk, idle" + category: game_data + required: false + bundled: true + size: 7792 + sha1: "f0c81be813937e16adfa5d01914b14017d21b121" + source_ref: "src/RetroArtwork.cpp:68-73, src/MainWindow_DriveRack.cpp:119-120" + - name: "applehdrunning.png" + path: "pic/retro/drives/applehdrunning.png" + description: "Hard disk, busy" + category: game_data + required: false + bundled: true + size: 7690 + sha1: "dfe8bdfccad5aeea4b5077b2e45ee27bcb6278d7" + source_ref: "src/RetroArtwork.cpp:68-73, src/MainWindow_DriveRack.cpp:119-120" diff --git a/emulators/ppsspp.yml b/emulators/ppsspp.yml index b5f6d0ac..0c4941d7 100644 --- a/emulators/ppsspp.yml +++ b/emulators/ppsspp.yml @@ -3,7 +3,7 @@ type: standalone + libretro core_classification: official_port source: "https://github.com/hrydgard/ppsspp" profiled_date: "2026-10-21" -source_commit: "58935bbf282ddd446cc490574c2c09b9c8f8b470" +source_commit: "c86d7a268d1ce9a94ae3be662f987c5b6a724ef9" core_version: "Git" display_name: "Sony - PlayStation Portable (PPSSPP)" cores: @@ -39,10 +39,10 @@ notes: | fonts is lost. Without ppge_atlas.zim the system dialogs are not drawn (Core/Util/PPGeDraw.cpp:252-255). A real firmware is optional. The NAND is /PSP/NAND - (Core/Util/PathUtil.cpp:144-145), which the libretro core places under + (Core/Util/PathUtil.cpp:146-147), which the libretro core places under the save directory (libretro/libretro.cpp:1265, 1269). On boot, a game disc carrying a newer firmware updater than the installed one is - unpacked into it (Core/System.cpp:575-578). Its flash0:/font, + unpacked into it (Core/System.cpp:591-594). Its flash0:/font, kd/libmp4.prx, kd/mp4msv.prx and kd/mpeg.prx replace the HLE modules when present (Core/HLE/HLE.cpp:408-446). PSP_DEFAULT_FIRMWARE = 660 (Core/ConfigValues.h:40). diff --git a/emulators/prboom.yml b/emulators/prboom.yml index 45f34464..15a47166 100644 --- a/emulators/prboom.yml +++ b/emulators/prboom.yml @@ -3,8 +3,8 @@ type: libretro core_classification: game_engine source: "https://github.com/libretro/libretro-prboom" upstream: "http://prboom.sourceforge.net/" -profiled_date: "2026-03-24" -source_commit: "b3e47ff5dec483d788e068e7b7fe21be700b5048" +profiled_date: "2026-10-23" +source_commit: "4849268e7342494193f2bbf2d0128a751cf58da7" core_version: "v2.5.0" display_name: "Doom (PrBoom)" cores: [prboom] @@ -24,26 +24,27 @@ notes: | Content is a .wad, .iwad, .pwad, .lmp, .m3u, .pk3, .ipk3 or .zip file (libretro/libretro.c:1029). An IWAD is passed as -iwad and needs nothing - else (libretro/libretro.c:2488-2492). A PWAD with map markers, or a PK3, + else (libretro/libretro.c:2621-2625). A PWAD with map markers, or a PK3, is paired with an IWAD of the matching generation searched next to the content, then in system/prboom/, then in system/ (find_iwad_for_kind, - libretro/libretro.c:2069-2133, 2514-2560, 2600-2621). A PK3 also loads + libretro/libretro.c:2202-2266, 2647-2693, 2733-2754). A PK3 also loads gzdoom.pk3, or else zdoom.pk3, from the same places before the mod - (find_base_resource, libretro/libretro.c:2141-2172, 2623-2657). When no + (find_base_resource, libretro/libretro.c:2274-2305, 2756-2790). When no IWAD is paired, FindIWADFile tries the standard_iwads list through I_FindFile and the core stops with "IWAD not found" if none is found (src/d_main.c:146-158, src/d_main.c:1020-1038, src/d_main.c:1123-1124). File names are matched case-insensitively (libretro/libretro.c:787-836). - I_FindFile search order (libretro/libretro.c:4176-4252): + I_FindFile search order (libretro/libretro.c:4332-4413). A name that is + absolute or contains a folder separator is first tried as given: 1. WAD directory (same folder as the loaded content) 2. system/prboom/ subdirectory 3. system/ directory directly 4. Parent folders of the WAD directory (recursive, if enabled) A baseconfig is read from .prboom.cfg beside the content, else - prboom.cfg through I_FindFile (libretro/libretro.c:2461-2466, - libretro/libretro.c:2678-2683). + prboom.cfg through I_FindFile (libretro/libretro.c:2594-2599, + libretro/libretro.c:2811-2816). files: # ---- Doom 1 generation, in search order ---- @@ -51,32 +52,32 @@ files: category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2071-2073, libretro/libretro.c:2117-2128, src/d_main.c:153" + source_ref: "libretro/libretro.c:2204-2206, libretro/libretro.c:2250-2261, src/d_main.c:153" note: "Registered or Ultimate Doom. Paired with a Doom 1 PWAD." - name: "doomu.wad" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2071-2073, src/d_main.c:154" + source_ref: "libretro/libretro.c:2204-2206, src/d_main.c:154" - name: "freedoom1.wad" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2071-2073, src/d_main.c:155" + source_ref: "libretro/libretro.c:2204-2206, src/d_main.c:155" - name: "freedoom.wad" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2071-2073, src/d_main.c:156" + source_ref: "libretro/libretro.c:2204-2206, src/d_main.c:156" - name: "doom1.wad" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2071-2073, src/d_main.c:157" + source_ref: "libretro/libretro.c:2204-2206, src/d_main.c:157" note: "Shareware Doom." # ---- Doom 2 generation, in search order ---- @@ -84,73 +85,73 @@ files: category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2074-2076, libretro/libretro.c:2117-2128, src/d_main.c:149" + source_ref: "libretro/libretro.c:2207-2209, libretro/libretro.c:2250-2261, src/d_main.c:149" note: "Paired with a Doom II PWAD or a PK3, and tried first when the PWAD's maps are not recognised." - name: "doom2f.wad" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2074-2076, src/d_main.c:148, src/d_main.c:1106-1107" + source_ref: "libretro/libretro.c:2207-2209, src/d_main.c:148, src/d_main.c:1106-1107" note: "French Doom II. The name selects the French language." - name: "plutonia.wad" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2074-2076, src/d_main.c:150, src/d_main.c:1110-1111" + source_ref: "libretro/libretro.c:2207-2209, src/d_main.c:150, src/d_main.c:1110-1111" - name: "tnt.wad" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2074-2076, src/d_main.c:151, src/d_main.c:1108-1109" + source_ref: "libretro/libretro.c:2207-2209, src/d_main.c:151, src/d_main.c:1108-1109" - name: "freedoom2.wad" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2074-2076, src/d_main.c:152" + source_ref: "libretro/libretro.c:2207-2209, src/d_main.c:152" # ---- Heretic ---- - name: "heretic.wad" category: game_data system: heretic required: false - source_ref: "libretro/libretro.c:2081-2083, libretro/libretro.c:2117-2128, libretro/libretro.c:2534-2546" + source_ref: "libretro/libretro.c:2214-2216, libretro/libretro.c:2250-2261, libretro/libretro.c:2667-2679" note: "Paired only with a PWAD recognised as a Heretic add-on, never with a Doom one." - name: "heretic1.wad" category: game_data system: heretic required: false - source_ref: "libretro/libretro.c:2081-2083" + source_ref: "libretro/libretro.c:2214-2216" note: "Shareware Heretic." - name: "blasphem.wad" category: game_data system: heretic required: false - source_ref: "libretro/libretro.c:2081-2083" + source_ref: "libretro/libretro.c:2214-2216" # ---- ZDoom base resources for PK3 content ---- - name: "gzdoom.pk3" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2141-2172, libretro/libretro.c:2623-2657" + source_ref: "libretro/libretro.c:2274-2305, libretro/libretro.c:2756-2790" note: "Loaded before a PK3 mod so the stock ZDoom assets it names resolve." - name: "zdoom.pk3" category: game_data system: doom required: false - source_ref: "libretro/libretro.c:2141-2172, libretro/libretro.c:2623-2657" + source_ref: "libretro/libretro.c:2274-2305, libretro/libretro.c:2756-2790" note: "Loaded before a PK3 mod when gzdoom.pk3 is not found." - name: "prboom.cfg" system: doom required: false unsourceable: "user settings in PrBoom's config format, with no canonical contents" - source_ref: "libretro/libretro.c:2461-2466, libretro/libretro.c:2678-2683, libretro/libretro.c:4176-4252" + source_ref: "libretro/libretro.c:2594-2599, libretro/libretro.c:2811-2816, libretro/libretro.c:4332-4413" note: "Passed as -baseconfig when no .prboom.cfg sits beside the content." diff --git a/emulators/primehack.yml b/emulators/primehack.yml index cc082c97..acf4a39b 100644 --- a/emulators/primehack.yml +++ b/emulators/primehack.yml @@ -6,7 +6,7 @@ upstream: "https://github.com/dolphin-emu/dolphin" profiled_date: "2026-03-26" source_commit: "53f53e0f5bad27ad62a807cb93b136d84f68777f" upstream_commit: "d8558142ead21b3fa39809c4aedb982fbfc85feb" -core_version: "1.0.8" +core_version: "1.0.9" display_name: "PrimeHack (Dolphin fork for Metroid Prime)" cores: - primehack @@ -106,7 +106,7 @@ files: hle_fallback: true sha1: "483a17ff25b68a8f18cae691da99f16beefbe370" md5: "9bef639b7426ef6948602a12b33522a8" - note: "Windows-1252 font for GC/Wii text rendering. The free alternative ships in Sys/GC/ of the 1.0.8 Windows and macOS releases, and the real one from an IPL dump is preferred" + note: "Windows-1252 font for GC/Wii text rendering. The free alternative ships in Sys/GC/ of the 1.0.9 Windows release, and the real one from an IPL dump is preferred" source_ref: "upstream Source/Core/Common/CommonPaths.h:133, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:131, 203-218" - name: "font_japanese.bin" @@ -117,7 +117,7 @@ files: hle_fallback: true sha1: "7fbbedcc7a1ae00414a4e9e967109cc78be1fe3b" md5: "a1d3c0e5a40f163f4fb00a5e0774c63c" - note: "Shift-JIS font for Japanese text. The free alternative ships in Sys/GC/ of the 1.0.8 Windows and macOS releases, and the real one from an IPL dump is preferred" + note: "Shift-JIS font for Japanese text. The free alternative ships in Sys/GC/ of the 1.0.9 Windows release, and the real one from an IPL dump is preferred" source_ref: "source Source/Core/Common/CommonPaths.h:135, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:130" # -- GBA BIOS (for GC-GBA link) -- @@ -179,7 +179,7 @@ files: size: 2880 sha1: "e6c0050b3c67ee26198488fbbe4a5d019c15b628" md5: "1f118b8735fcf40c20b38c3184eebfd9" - note: "Gecko/Ocarina cheat code handler. Shipped in Sys/ of the 1.0.8 Windows and macOS releases" + note: "Gecko/Ocarina cheat code handler. Shipped in Sys/ of the 1.0.9 Windows release" source_ref: "upstream Source/Core/Common/CommonPaths.h:155, source Source/Core/Core/GeckoCode.cpp:121" # -- Wii System Menu (WAD) -- diff --git a/emulators/puae.yml b/emulators/puae.yml index 9e32c688..374b4d56 100644 --- a/emulators/puae.yml +++ b/emulators/puae.yml @@ -5,7 +5,7 @@ cores: [puae, uae] source: "https://github.com/libretro/libretro-uae" upstream: "https://github.com/GnoStiC/PUAE" profiled_date: "2026-03-24" -source_commit: "6536174a80d74e6c325aaa5390ff091fac8761d0" +source_commit: "7387937066b1b693816c3b4e2b7a0c601d41363d" core_version: "5.3.1" display_name: "Commodore - Amiga (PUAE)" systems: diff --git a/emulators/puae2021.yml b/emulators/puae2021.yml index 4c23b844..8bca713f 100644 --- a/emulators/puae2021.yml +++ b/emulators/puae2021.yml @@ -5,7 +5,7 @@ cores: [puae2021] source: "https://github.com/libretro/libretro-uae/tree/2.6.1" upstream: "https://github.com/GnoStiC/PUAE" profiled_date: "2026-03-24" -source_commit: "297b34777372fd5f117785798f99b4c7433b6034" +source_commit: "151828f14d43bb2b0651327ee19a23b36a7081b2" core_version: "2.6.1" display_name: "Commodore - Amiga (PUAE 2021)" systems: diff --git a/emulators/px68k-sdl.yml b/emulators/px68k-sdl.yml index c62825df..87dbbf89 100644 --- a/emulators/px68k-sdl.yml +++ b/emulators/px68k-sdl.yml @@ -2,8 +2,8 @@ emulator: "px68k (SDL)" type: standalone core_classification: community_fork source: "https://github.com/TurtleBazooka/px68k" -profiled_date: "2026-10-20" -source_commit: "e29ce400a030aea29b447757eeb28fef7a0c493e" +profiled_date: "2026-10-23" +source_commit: "bdc3d87efb9f09df88c5c6eb271f9535aaf13210" core_version: "0.15+K" display_name: "Sharp - X68000 (px68k SDL)" mode: standalone diff --git a/emulators/qemu.yml b/emulators/qemu.yml index 2cdcec57..9e6481c4 100644 --- a/emulators/qemu.yml +++ b/emulators/qemu.yml @@ -5,6 +5,7 @@ source: "https://github.com/io12/qemu-libretro" upstream: "https://github.com/qemu/qemu" profiled_date: "2026-03-25" source_commit: "aaba4471880587540314f82419d920431d55b769" +upstream_commit: "b6c4b7e86dec12d07f5cac65265b986d38ee9002" core_version: "0.1.0" display_name: "QEMU" cores: [qemu] diff --git a/emulators/quasi88.yml b/emulators/quasi88.yml index bd1db370..649f801e 100644 --- a/emulators/quasi88.yml +++ b/emulators/quasi88.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/quasi88-libretro" upstream: "https://www.retropc.net/showzoh/quasi88/" profiled_date: "2026-03-29" -source_commit: "46d9cbd59a48ea4b330911e93740817783e0694e" +source_commit: "7884be5277776a5d8c4fdc4e574e9b5b589945c9" core_version: "0.6.4" display_name: "NEC - PC-8000 / PC-8800 series (QUASI88)" cores: @@ -17,17 +17,17 @@ systems: # Includes pseudo-BIOS (pbios_n88, pbios_disk) by cisc compiled into the core. # With pseudo-BIOS, some disk-based games boot but compatibility is limited. # -# ROM search order (libretro.c:444-491): +# ROM search order (src/LIBRETRO/libretro.c:977-1024): # 1. / # 2. /quasi88/ # 3. / # Each ROM entry has up to 4 alternate filenames tried in order. # -# ROM loading (libretro.c:550-594): +# ROM loading (src/LIBRETRO/libretro.c:1083-1127): # N88.ROM and DISK.ROM have pseudo-BIOS fallback if missing. # All other ROMs are loaded silently if present, ignored if absent. # -# The original QUASI88 (memory.c:80-95) uses uppercase-first filenames +# The original QUASI88 (src/memory.c:80-95) uses uppercase-first filenames # (N88.ROM, N88EXT0.ROM, etc.) while the libretro .info file uses # lowercase with underscore variants (n88.rom, n88_0.rom, etc.). # The core tries both naming conventions. @@ -35,16 +35,16 @@ systems: # FONT.ROM/FONT2.ROM/FONT3.ROM are not in the .info file. # When missing, the core uses built-in fonts (font.h) or kanji ROM glyphs. # -# Upstream supports 2HD disk ROM (8 KB) via memory.c:356-368. -# The libretro port reads only 2 KB (2D type) at libretro.c:552. +# Upstream supports 2HD disk ROM (8 KB) via src/memory.c:356-368. +# The libretro port reads only 2 KB (2D type) at src/LIBRETRO/libretro.c:1085. # -# font.rom divergence: libretro.c:566-571 loads 0x1000 bytes then +# font.rom divergence: src/LIBRETRO/libretro.c:1099-1104 loads 0x1000 bytes then # overwrites the buffer with kanji ROM + built-in graph. The font.rom -# data ends up unused. Upstream memory.c:427 loads FONT_SZ +# data ends up unused. Upstream src/memory.c:427 loads FONT_SZ # (2048) and keeps the font data in the first half. # # OPNA rhythm samples (2608_BD.WAV etc.): loaded by upstream via -# fmgen/opna.cpp:1271 LoadRhythmSample(), but osd_dir_rom() returns +# src/fmgen/opna.cpp:1271 LoadRhythmSample(), but osd_dir_rom() returns # NULL in the libretro port (dir_rom never initialized), so the samples # cannot be loaded. OPNA rhythm playback is silent in the libretro core. @@ -65,7 +65,7 @@ files: required: true hle_fallback: true note: "N88-BASIC main ROM (32 KB). Falls back to pseudo-BIOS if missing." - source_ref: "src/LIBRETRO/libretro.c:550-551" + source_ref: "src/LIBRETRO/libretro.c:1083-1084" aliases: ["N88.ROM"] - name: n88_0.rom @@ -73,7 +73,7 @@ files: size: 8192 required: true note: "N88-BASIC V2 extension ROM 0 (8 KB). Needed by most software." - source_ref: "src/LIBRETRO/libretro.c:555" + source_ref: "src/LIBRETRO/libretro.c:1088" aliases: ["N88_0.ROM", "N88EXT0.ROM", "n88ext0.rom"] - name: n88_1.rom @@ -81,7 +81,7 @@ files: size: 8192 required: false note: "N88-BASIC V1H extension ROM 1 (8 KB). For V1 High-speed mode." - source_ref: "src/LIBRETRO/libretro.c:556" + source_ref: "src/LIBRETRO/libretro.c:1089" aliases: ["N88_1.ROM", "N88EXT1.ROM", "n88ext1.rom"] - name: n88_2.rom @@ -89,7 +89,7 @@ files: size: 8192 required: false note: "N88-BASIC V1S extension ROM 2 (8 KB). For V1 Standard mode." - source_ref: "src/LIBRETRO/libretro.c:557" + source_ref: "src/LIBRETRO/libretro.c:1090" aliases: ["N88_2.ROM", "N88EXT2.ROM", "n88ext2.rom"] - name: n88_3.rom @@ -97,7 +97,7 @@ files: size: 8192 required: false note: "N88-BASIC extension ROM 3 (8 KB). Older V2 extension." - source_ref: "src/LIBRETRO/libretro.c:558" + source_ref: "src/LIBRETRO/libretro.c:1091" aliases: ["N88_3.ROM", "N88EXT3.ROM", "n88ext3.rom"] - name: n88n.rom @@ -105,7 +105,7 @@ files: size: 32768 required: false note: "N-BASIC ROM (32 KB). For PC-8001 compatible N-BASIC mode." - source_ref: "src/LIBRETRO/libretro.c:559" + source_ref: "src/LIBRETRO/libretro.c:1092" aliases: ["N88N.ROM", "N80.ROM", "n80.rom"] - name: n88sub.rom @@ -114,7 +114,7 @@ files: required: false hle_fallback: true note: "Disk subsystem ROM (2 KB, 2D type). Falls back to pseudo-BIOS if missing." - source_ref: "src/LIBRETRO/libretro.c:114, src/LIBRETRO/libretro.c:552-553" + source_ref: "src/LIBRETRO/libretro.c:120, 1085-1086" aliases: ["N88SUB.ROM", "DISK.ROM", "disk.rom"] - name: n88knj1.rom @@ -122,7 +122,7 @@ files: size: 131072 required: false note: "Kanji ROM level 1 (128 KB). Required for Japanese text display." - source_ref: "src/LIBRETRO/libretro.c:560" + source_ref: "src/LIBRETRO/libretro.c:1093" aliases: ["N88KNJ1.ROM", "KANJI1.ROM", "kanji1.rom"] - name: n88knj2.rom @@ -130,7 +130,7 @@ files: size: 131072 required: false note: "Kanji ROM level 2 (128 KB). Extended kanji character set." - source_ref: "src/LIBRETRO/libretro.c:561" + source_ref: "src/LIBRETRO/libretro.c:1094" aliases: ["N88KNJ2.ROM", "KANJI2.ROM", "kanji2.rom"] - name: n88jisho.rom @@ -138,7 +138,7 @@ files: size: 524288 required: false note: "Dictionary ROM (512 KB). Japanese dictionary lookup." - source_ref: "src/LIBRETRO/libretro.c:562" + source_ref: "src/LIBRETRO/libretro.c:1095" aliases: ["N88JISHO.ROM", "JISYO.ROM", "jisyo.rom"] # Font ROMs (not in .info, core has built-in fallback via font.h) @@ -149,7 +149,7 @@ files: required: false hle_fallback: true note: "ANK font ROM (2 KB). Falls back to built-in font or kanji ROM glyphs." - source_ref: "src/LIBRETRO/libretro.c:566" + source_ref: "src/LIBRETRO/libretro.c:1099" aliases: ["FONT.ROM"] - name: font2.rom @@ -158,7 +158,7 @@ files: required: false hle_fallback: true note: "Second font ROM (up to 4 KB). Falls back to built-in ANH font." - source_ref: "src/LIBRETRO/libretro.c:576" + source_ref: "src/LIBRETRO/libretro.c:1109" aliases: ["FONT2.ROM"] - name: font3.rom @@ -167,5 +167,5 @@ files: required: false hle_fallback: true note: "Third font ROM (up to 4 KB). Zeroed out if missing." - source_ref: "src/LIBRETRO/libretro.c:588" + source_ref: "src/LIBRETRO/libretro.c:1121" aliases: ["FONT3.ROM"] diff --git a/emulators/raine.yml b/emulators/raine.yml index 2fcd91cb..0fc7f31c 100644 --- a/emulators/raine.yml +++ b/emulators/raine.yml @@ -4,7 +4,7 @@ core_classification: other source: "https://github.com/zelurker/raine" upstream: "https://github.com/zelurker/raine" profiled_date: "2026-10-20" -source_commit: "8e25d5d8907ae459181610912b0030c955683015" +source_commit: "e85285188e6f719fc25de1236a2ee63fee7e3f17" core_version: "0.97.5" display_name: "Arcade (RAINE)" mode: standalone @@ -33,7 +33,7 @@ notes: | / folder (source/loadroms.c:258-275). Inside an archive a ROM is found by CRC32 first and by name second (source/files.c:370-403). A ROM missing from the set and its parents ends the load with a fatal error - (source/loadroms.c:1301-1316). The Windows build has curl and, before + (source/loadroms.c:1302-1317). The Windows build has curl and, before giving up, offers to download a missing archive from archive.org, neogeo.zip included (source/loadroms.c:1200-1240). @@ -158,7 +158,7 @@ files: size: 524288 description: "Neo-Geo CD BIOS" note: >- - Path from [neocd] neocd_bios (source/raine.c:571). Left empty, neocd.bin + Path from [neocd] neocd_bios (source/raine.c:564). Left empty, neocd.bin then neocd.zip are looked up through get_shared. A path ending in zip is opened and its neocd.bin member read by name, anything else is read raw, 0x80000 bytes. Nothing found opens a file dialog once, then the program @@ -175,7 +175,7 @@ files: sha1: "4c1d58f7c1830694933e472ec1289060f7083fa9" md5: "c996961db77b48b54a2daa3cda12da0d" description: "High score save definitions" - source_ref: "source/hiscore.c:23, source/hiscore.c:302" + source_ref: "source/hiscore.c:24, source/hiscore.c:303" - name: "history.dat" category: game_data @@ -185,7 +185,7 @@ files: sha1: "ce810602b74214726059bbd12e8010dc077aef3d" md5: "4941042df918f0f1370e2b70d0f7d0de" description: "Game history text" - source_ref: "source/history.c:56, source/emumain.c:640-645" + source_ref: "source/history.c:56, source/emumain.c:642-647" - name: "command.dat" category: game_data @@ -195,7 +195,7 @@ files: sha1: "0b358f637e01b10f7a4d45b774ebf7950fcec466" md5: "0ed03c88b93b036f2f0035f32b200f27" description: "Move lists" - source_ref: "source/history.c:56, source/emumain.c:640-645" + source_ref: "source/history.c:56, source/emumain.c:642-647" - name: "gamecontrollerdb.txt" category: game_data @@ -208,7 +208,7 @@ files: note: >- Added to SDL when present, followed by config/userdb.txt. The RetroBat package carries a different revision of this file. - source_ref: "source/sdl/control.c:2373-2382" + source_ref: "source/sdl/control.c:2396-2405" - name: "dkongm.dx2" path: "emudx/dkongm.dx2" diff --git a/emulators/rb5000.yml b/emulators/rb5000.yml index 93eb1c72..9277193d 100644 --- a/emulators/rb5000.yml +++ b/emulators/rb5000.yml @@ -9,6 +9,7 @@ profiled_date: "2026-10-17" source_commit: standalone: "8c75a4b48a5222b0332d0508600f8ddc7ac1191c" libretro: "7464996aa0cb1be77abf495dc901117e1af36e02" +pin_frozen: "Recalbox, the only platform that ships the standalone build, builds its tag v1.1 at this standalone revision (Recalbox package/rb5000/rb5000.mk:7). Later commits are not part of that build. The libretro pin is the HEAD of libretro-rb5000." core_version: standalone: "v1.1" libretro: "v0.9" diff --git a/emulators/retro8.yml b/emulators/retro8.yml index b5346029..5354378d 100644 --- a/emulators/retro8.yml +++ b/emulators/retro8.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/retro8" upstream: "https://github.com/Jakz/retro8" profiled_date: "2026-03-25" source_commit: "ddc06a142398ee9755894b3f0bb17c8dc428151d" +upstream_commit: "ecee6594c5b953966ee0515f3edac4032c7ed40f" core_version: "0.1b" display_name: "PICO-8 (Retro8)" cores: diff --git a/emulators/rpcs3.yml b/emulators/rpcs3.yml index 1d0c5500..a239e92b 100644 --- a/emulators/rpcs3.yml +++ b/emulators/rpcs3.yml @@ -6,7 +6,7 @@ upstream: "https://github.com/RPCS3/rpcs3" cores: - rpcs3 profiled_date: "2026-03-30" -source_commit: "46aee28f85b9cecc8fd0e5dee0c771f9c88cd27a" +source_commit: "d9efc6e83eebf6f8cb495b82400f0e349a40e2c0" core_version: "0.0.35" display_name: "Sony - PlayStation 3 (RPCS3)" systems: [sony-playstation-3] @@ -176,7 +176,7 @@ dev_flash: # -- vsh/ : Visual Shell (XMB) -- vsh: path: "dev_flash/vsh/" - source_ref: "rpcs3/rpcs3qt/main_window.cpp:275, rpcs3/rpcs3qt/main_window.cpp:684" + source_ref: "rpcs3/rpcs3qt/main_window.cpp:277, rpcs3/rpcs3qt/main_window.cpp:676" note: "PS3 XMB interface. vsh.self is the main executable, booted via 'Boot VSH' menu." files: - path: "vsh/module/vsh.self" @@ -236,7 +236,7 @@ dev_flash: # -- ps1emu/ : PS1 backward compatibility -- ps1emu: path: "dev_flash/ps1emu/" - source_ref: "rpcs3/Emu/System.cpp:2241" + source_ref: "rpcs3/Emu/System.cpp:2252" note: "PS1 Classics emulator. Booted when running PS1 game via ps1_newemu.self" files: - {name: "ps1_newemu.self", purpose: "PS1 emulator binary"} @@ -252,7 +252,7 @@ dev_flash: # -- pspemu/ : PSP backward compatibility -- pspemu: path: "dev_flash/pspemu/" - source_ref: "rpcs3/Emu/System.cpp:2269, rpcs3/Crypto/key_vault.h:285-290" + source_ref: "rpcs3/Emu/System.cpp:2280, rpcs3/Crypto/key_vault.h:285-290" note: "PSP emulator for PS3. Contains psp_emulator.self, psp_translator.self, and release/*.sprx" files: - {name: "psp_emulator.self", purpose: "PSP emulator main binary"} diff --git a/emulators/ruffle.yml b/emulators/ruffle.yml index 3f04cca8..61da372f 100644 --- a/emulators/ruffle.yml +++ b/emulators/ruffle.yml @@ -4,8 +4,8 @@ core_classification: game_engine source: "https://github.com/ruffle-rs/ruffle" upstream: "https://github.com/ruffle-rs/ruffle" profiled_date: "2026-09-17" -source_commit: "ed55e72394d21d7784b0a914fd4525608c6a5661" -core_version: "0.6.0" +source_commit: "045db00b393aed22a462d29cb6c25efa26be90a0" +core_version: "0.7.1" display_name: "Adobe Flash (Ruffle)" cores: - ruffle @@ -24,10 +24,10 @@ notes: | vulkan --config /var/data/ruffle --save-directory /ruffle `. The ActionScript class library is compiled by build_playerglobal into playerglobal_avm1.swf and playerglobal_avm2.swf and linked into the binary - from OUT_DIR (core/src/avm1/globals.rs:88, core/src/avm2/globals.rs:549), so + from OUT_DIR (core/src/avm1/globals.rs:82, core/src/avm2/globals.rs:548), so startup reads nothing. Locale texts, wgsl shaders, the window icon and the OpenH264 license are embedded the same way (desktop/src/gui/locale.rs:7-12, - desktop/src/app.rs:464, render/wgpu/src/shaders.rs:30-95, + desktop/src/app.rs:490, render/wgpu/src/shaders.rs:30-95, desktop/src/gui/movie.rs:44, desktop/src/gui/dialogs/preferences_dialog.rs:517). @@ -35,15 +35,15 @@ notes: | feature and pulls ruffle_video_external with openh264 (desktop/Cargo.toml:27,84,92), and enable_openh264 defaults to true (desktop/src/preferences.rs:291,316). OpenH264Codec::load first dlopens the - system sonames libopenh264.so.7, libopenh264.so.2.4.1 and libopenh264.so on + system sonames libopenh264.so.8, libopenh264.so.2.7.0 and libopenh264.so on Linux, then falls back to /ruffle/video/ and fetches the Cisco binary from ciscobinary.openh264.org bz2-compressed into it - (video/external/src/decoder/openh264.rs:53-56,109-133,173-191, + (video/external/src/decoder/openh264.rs:53-56,113-137,177-195, desktop/src/player.rs:234-241). Whether the library was already there or was just downloaded, its SHA-256 is checked before loading and the size is read only to format the mismatch message - (video/external/src/decoder/openh264.rs:135-146), and WelsGetCodecVersion must - answer 2.4.1 exactly (video/external/src/decoder/openh264.rs:46,153-166). The + (video/external/src/decoder/openh264.rs:139-150), and WelsGetCodecVersion must + answer 2.7.0 exactly (video/external/src/decoder/openh264.rs:46,157-170). The cache root comes from dirs::cache_dir(), ~/.cache/ruffle by default, and --cache-directory moves it (desktop/src/cli.rs:31-35,148). Without the library the player still starts: ExternalVideoBackend wraps SoftwareVideoBackend, so @@ -51,23 +51,24 @@ notes: | (video/external/src/backend.rs:41,51-69,73-80). Text uses system fonts. fontdb::Database::load_system_fonts() fills the - database at startup (desktop/src/app.rs:433-434), and both the Flash device + database at startup (desktop/src/app.rs:459-460), and both the Flash device fonts and the egui menu bar resolve family names against it and take whatever - face the host answers with (desktop/src/backends/ui.rs:321-360, - desktop/src/gui/controller.rs:741-787). The face is memory-mapped and parsed + face the host answers with (desktop/src/backends/ui.rs:321-380, + desktop/src/gui/controller.rs:754-800), device font names case-insensitively. + The face is memory-mapped and parsed by Ruffle's own rasterizer unless preferences.toml sets device_font_renderer to freetype, which routes Linux builds through FreetypeFontRenderer instead; the freetype default feature only compiles that branch, the preference - selects it (desktop/src/backends/ui.rs:190-192,443-487,489-519, + selects it (desktop/src/backends/ui.rs:190-192,463-507,509-539, desktop/src/preferences/read.rs:74-75, desktop/Cargo.toml:84). The families asked for are Times New Roman, Arial, Courier New and their metric-compatible substitutes, plus the CJK, Hebrew, Arabic and Thai faces - (desktop/src/player.rs:361-414, desktop/src/gui/controller.rs:620-694), and + (desktop/src/player.rs:361-414, desktop/src/gui/controller.rs:633-707), and on Unix fontconfig sorts the fallback chain - (desktop/src/backends/ui.rs:363-376,536-628). No name, path, size or hash is + (desktop/src/backends/ui.rs:383-396,556-648). No name, path, size or hash is fixed anywhere. The compiled-in Noto Sans subset sits behind the default_font feature, which the web and exporter crates enable and the desktop build does - not (core/src/player.rs:84-85, core/Cargo.toml:82,95, web/Cargo.toml:63-65, + not (core/src/player.rs:84-85, core/Cargo.toml:81,94, web/Cargo.toml:63-65, exporter/Cargo.toml:16, desktop/Cargo.toml:23), so on the desktop an unmatched family leaves the run without that face rather than falling back to a bundled one. @@ -84,86 +85,96 @@ notes: | (core/src/avm2/error_messages.rs:237). files: - # -- OpenH264 2.4.1 decoder, one build per OS and architecture -- + # -- OpenH264 2.7.0 decoder, one build per OS and architecture -- # The player fetches the build for its host into /ruffle/video/ the # first time a movie loads, with no prompt, so none needs to be supplied. - - name: libopenh264-2.4.1-linux64.7.so - path: "video/libopenh264-2.4.1-linux64.7.so" + - name: libopenh264-2.7.0-linux64.8.so + path: "video/libopenh264-2.7.0-linux64.8.so" system: flash required: false bundled: true - description: "OpenH264 2.4.1 decoder library, Linux x86_64" - sha256: "1392d21466bc638e68151b716d5b2086d54cd812afd43253f1adb5b6e0185f51" + description: "OpenH264 2.7.0 decoder library, Linux x86_64" + sha256: "1522f873a482923c5ec018a4415e1866898197528828c50f90fd300c94620df3" validation: [sha256] - source_ref: "video/external/src/decoder/openh264.rs:65-68, 104-146, 173-191" + source_ref: "video/external/src/decoder/openh264.rs:65-68, 108-150, 177-195" - - name: libopenh264-2.4.1-linux-arm64.7.so - path: "video/libopenh264-2.4.1-linux-arm64.7.so" + - name: libopenh264-2.7.0-linux-arm64.8.so + path: "video/libopenh264-2.7.0-linux-arm64.8.so" system: flash required: false bundled: true - description: "OpenH264 2.4.1 decoder library, Linux aarch64" - sha256: "e8ea7e42855ceb4a90e7bd0b3abeba0c58b5f97166e8b0a30eefd58e099557a4" + description: "OpenH264 2.7.0 decoder library, Linux aarch64" + sha256: "9ac664b0154fd0868491c2a904397b8a05779874c0603b8b1f16ad15de1ffd82" validation: [sha256] - source_ref: "video/external/src/decoder/openh264.rs:73-76, 104-146, 173-191" + source_ref: "video/external/src/decoder/openh264.rs:73-76, 108-150, 177-195" - - name: libopenh264-2.4.1-linux-arm.7.so - path: "video/libopenh264-2.4.1-linux-arm.7.so" + - name: libopenh264-2.7.0-linux-arm.8.so + path: "video/libopenh264-2.7.0-linux-arm.8.so" system: flash required: false bundled: true - description: "OpenH264 2.4.1 decoder library, Linux arm" - sha256: "fd1dfb27d30bb72e903c9d2b4c650104a4369d2e7ffe8a4a533e8db2e7e9b19e" + description: "OpenH264 2.7.0 decoder library, Linux arm" + sha256: "c9702982cad7ae0da05ca1e62834666f56b0290484af463f0887c8c48043e82b" validation: [sha256] - source_ref: "video/external/src/decoder/openh264.rs:69-72, 104-146, 173-191" + source_ref: "video/external/src/decoder/openh264.rs:69-72, 108-150, 177-195" - - name: libopenh264-2.4.1-linux32.7.so - path: "video/libopenh264-2.4.1-linux32.7.so" + - name: libopenh264-2.7.0-linux32.8.so + path: "video/libopenh264-2.7.0-linux32.8.so" system: flash required: false bundled: true - description: "OpenH264 2.4.1 decoder library, Linux x86" - sha256: "b7cf0e407f99056d90cbf62787a34820a7595b2129b165319d50766e00a66704" + description: "OpenH264 2.7.0 decoder library, Linux x86" + sha256: "7d095448e75ea49799e48cc11f079091f4c61b127dd71ece27b3496359102ecf" validation: [sha256] - source_ref: "video/external/src/decoder/openh264.rs:61-64, 104-146, 173-191" + source_ref: "video/external/src/decoder/openh264.rs:61-64, 108-150, 177-195" - - name: libopenh264-2.4.1-mac-arm64.dylib - path: "video/libopenh264-2.4.1-mac-arm64.dylib" + - name: libopenh264-2.7.0-mac-arm64.dylib + path: "video/libopenh264-2.7.0-mac-arm64.dylib" system: flash required: false bundled: true - description: "OpenH264 2.4.1 decoder library, macOS aarch64" - sha256: "213ff93831cfa3dd6d7ad0c3a3403a6ceedf4ac1341e1278b5b869d42fefb496" + description: "OpenH264 2.7.0 decoder library, macOS aarch64" + sha256: "2e1ae3cd10c08328ca03a1f304fd2a1a2a7e5658c6d5a8582101a963f7995ef0" validation: [sha256] - source_ref: "video/external/src/decoder/openh264.rs:81-84, 104-146, 173-191" + source_ref: "video/external/src/decoder/openh264.rs:81-84, 108-150, 177-195" - - name: libopenh264-2.4.1-mac-x64.dylib - path: "video/libopenh264-2.4.1-mac-x64.dylib" + - name: libopenh264-2.7.0-mac-x64.dylib + path: "video/libopenh264-2.7.0-mac-x64.dylib" system: flash required: false bundled: true - description: "OpenH264 2.4.1 decoder library, macOS x86_64" - sha256: "cc0ba518a63791c37571f3c851f0aa03a4fbda5410acc214ecd4f24f8d1c478e" + description: "OpenH264 2.7.0 decoder library, macOS x86_64" + sha256: "31d38bcbe9348e9b44ca38dd08fa1e2af79ffce6521276449ef05e3cd39136f4" validation: [sha256] - source_ref: "video/external/src/decoder/openh264.rs:77-80, 104-146, 173-191" + source_ref: "video/external/src/decoder/openh264.rs:77-80, 108-150, 177-195" - - name: openh264-2.4.1-win64.dll - path: "video/openh264-2.4.1-win64.dll" + - name: openh264-2.7.0-win64.dll + path: "video/openh264-2.7.0-win64.dll" system: flash required: false bundled: true - description: "OpenH264 2.4.1 decoder library, Windows x86_64" - sha256: "081b0c081480d177cbfddfbc90b1613640e702f875897b30d8de195cde73dd34" + description: "OpenH264 2.7.0 decoder library, Windows x86_64" + sha256: "0ef5e7f3b38753b15c13afa0418d4d7805fa228e6adfd3e425bbf758cff1c288" validation: [sha256] - source_ref: "video/external/src/decoder/openh264.rs:89-92, 104-146, 173-191" + source_ref: "video/external/src/decoder/openh264.rs:89-92, 108-150, 177-195" - - name: openh264-2.4.1-win32.dll - path: "video/openh264-2.4.1-win32.dll" + - name: openh264-2.7.0-win32.dll + path: "video/openh264-2.7.0-win32.dll" system: flash required: false bundled: true - description: "OpenH264 2.4.1 decoder library, Windows x86" - sha256: "83270149640469c994a62cc32a6d8c0413cd7b802b7f1f2f532159f5bdc1cedd" + description: "OpenH264 2.7.0 decoder library, Windows x86" + sha256: "ee34d9606c5cc96cdea694a6bc95ed1b6230b9854689f56c7fa30d211daf48b0" validation: [sha256] - source_ref: "video/external/src/decoder/openh264.rs:85-88, 104-146, 173-191" + source_ref: "video/external/src/decoder/openh264.rs:85-88, 108-150, 177-195" + + - name: openh264-2.7.0-win-arm64.dll + path: "video/openh264-2.7.0-win-arm64.dll" + system: flash + required: false + bundled: true + description: "OpenH264 2.7.0 decoder library, Windows aarch64" + sha256: "2f8f11a40d1450fd5c7afc1c5e38b9f6ba6c95c47582845b16c0bfe154ed75a4" + validation: [sha256] + source_ref: "video/external/src/decoder/openh264.rs:93-96, 108-150, 177-195" diff --git a/emulators/rust_dos.yml b/emulators/rust_dos.yml index 179ac7e7..260e0306 100644 --- a/emulators/rust_dos.yml +++ b/emulators/rust_dos.yml @@ -4,9 +4,9 @@ core_classification: official_port source: "https://git.libretro.com/libretro/rust-dos" upstream: "https://github.com/dividebysandwich/rust-dos" profiled_date: "2026-10-04" -source_commit: "12d8fe849f737b92d0b03b4db79cacc7ba898fab" -upstream_commit: "12d8fe849f737b92d0b03b4db79cacc7ba898fab" -core_version: "1.3.0" +source_commit: "da88cd314d422289c1080e30251062181e325372" +upstream_commit: "da88cd314d422289c1080e30251062181e325372" +core_version: "1.7.5" display_name: "DOS (Rust-DOS)" cores: - rust_dos @@ -25,37 +25,53 @@ notes: | sound hardware. None is needed with the default settings. - AWE32 sample ROM (awe32.raw): the Creative Sound Blaster AWE32's - 1 MB sample ROM. src/awe32/rom.rs:13-17 declares FILE_NAME and the - SHA-256 the built-in download has to match (src/awe32/rom.rs:88-93). - A file found on disk is only checked for its length, 1 MB or the - two bytes shorter AWE-DUMP image (src/awe32/rom.rs:68-71). Without - it, the EMU8000 synth still plays what programs load into its - sample RAM but ROM sounds are silent (src/awe32/rom.rs:4-6, - src/sound.rs:26-38). + 1 MB sample ROM. crates/soundblaster/src/awe32/rom.rs:13-17 + declares FILE_NAME and the SHA-256 the built-in download has to + match (crates/soundblaster/src/awe32/rom.rs:88-93). A file found on + disk is only checked for its length, 1 MB or the two bytes shorter + AWE-DUMP image (crates/soundblaster/src/awe32/rom.rs:68-71). + Without it, the EMU8000 synth still plays what programs load into + its sample RAM but ROM sounds are silent + (crates/soundblaster/src/awe32/rom.rs:4-6, src/sound.rs:26-38). - Roland Sound Canvas ROMs: a Rust port of Nuked-SC55 covers the SC-55, SC-55mkII, SC-55ST, CM-300/SCC-1, SCB-55, RLP-3237, SC-155 - and SC-155mkII. src/sc55/rom.rs:143-295 lists 14 romsets of 3 to 5 - ROM files, each identified by the SHA-256 of its contents whatever - the file is called. The search covers sc55-roms/ and + and SC-155mkII. crates/sc55/src/rom.rs:143-295 lists 14 romsets of + 3 to 5 ROM files, each identified by the SHA-256 of its contents + whatever the file is called. The search covers sc55-roms/ and soundcanvas-roms/ with their subfolders and zip archives - (src/sc55/rom.rs:352-362). The settings window can download eight - of the sets from the Internet Archive item + (crates/sc55/src/rom.rs:352-362). The settings window can download + eight of the sets from the Internet Archive item roland-sc-55-series-roms into sc55-roms// - (src/sc55/download.rs:12-24, 39, 63-82). With midisynth=sc55 and no - complete set, the MPU-401 gets no synthesizer and a warning is - logged (src/sc55/mod.rs:112-122, src/sound.rs:99-106). + (crates/sc55/src/download.rs:12-24, 39, 63-82). With midisynth=sc55 + and no complete set, the MPU-401 gets no synthesizer and a warning + is logged (crates/sc55/src/lib.rs:112-122, src/sound.rs:102-109). - Roland MT-32 ROMs: played by munt (libmt32emu) loaded at runtime - (src/mt32.rs:1-6). munt identifies the ROMs from their contents, and - rust-dos declares no hashes and picks a control and PCM pair by - munt's ids (src/mt32.rs:254-278). Without them (or without + (crates/mt32/src/lib.rs:1-6). munt identifies the ROMs from their + contents, and rust-dos declares no hashes and picks a control and + PCM pair by munt's ids (crates/mt32/src/munt.rs:249-273). Without + them (or without libmt32emu on the host), midisynth=mt32 fails with a warning and - the MPU-401 gets no synthesizer (src/sound.rs:94-98). + the MPU-401 gets no synthesizer (src/sound.rs:97-101). + + - Rendition Vérité board ROM: with machine=svga_verite and the RISC + emulated (verite_risc=lle, the default), verite_rom names a dump of + a Vérité board's 128 KB ROM, which the CGL modules of the 3D Blaster + PCI copy their microcode loader from. Without one, or when the file + is not 128 KB, the RISC sees a ROM image the emulator builds, whose + stub loader takes the microcode the same way + (src/bus/verite.rs:45-71, src/verite/mod.rs:328-344, + src/verite/lle/loader.rs:1-11, src/verite/lle/loader.rs:49-59). + + The Gravis Ultrasound's General MIDI patch set and ULTRASND.INI are + compiled into the binary from crates/gus/assets/ultrasnd and served + on a read-only drive of their own (crates/gus/build.rs:1-22, + crates/gus/src/builtin.rs:1-11). The libretro frontend adds its system directory and the rust-dos folder in it to the AWE32 and Sound Canvas search paths - (libretro/src/core.rs:148-157). + (libretro/src/core.rs:153-162). files: - name: "awe32.raw" @@ -66,7 +82,23 @@ files: sha256: "4e143b94f758734f594ded78f4e5115635975c16fa37fabeae0baa4938ca710e" validation: [size] description: "Creative Sound Blaster AWE32 sample ROM for the EMU8000 synth" - source_ref: "upstream src/awe32/rom.rs:13 (FILE_NAME), 16-17 (DOWNLOAD_URL + SHA256), 68-71 (parse size check), 88-93 (download hash check)" + source_ref: "upstream crates/soundblaster/src/awe32/rom.rs:13 (FILE_NAME), crates/soundblaster/src/awe32/rom.rs:16-17 (DOWNLOAD_URL + SHA256), crates/soundblaster/src/awe32/rom.rs:68-71 (parse size check), crates/soundblaster/src/awe32/rom.rs:88-93 (download hash check)" + + - name: "verite.rom" + system: dos + required: false + hle_fallback: true + category: bios + config_key: "verite_rom" + size: 131072 + validation: [size] + description: "Rendition Vérité board ROM dump (128 KB)" + note: >- + The code names no file: verite_rom in rust-dos.conf points at it, and + the label is this entry's. Read only when the display adapter is the + Vérité and its RISC is emulated. A file of another length is refused + with a warning, and the RISC then runs on the emulator's own ROM image. + source_ref: "upstream src/config/parse.rs:151-158, src/bus/verite.rs:45-71, src/verite/lle/loader.rs:25, src/verite/mod.rs:328-344" # Sound Canvas ROM sets. The code names no file: each entry is labelled # sc55-roms//, the folder the built-in download @@ -80,7 +112,7 @@ files: sha256: "7e1bacd1d7c62ed66e465ba05597dcd60dfc13fc23de0287fdbce6cf906c6544" validation: [sha256] description: "Roland SC-55 v1.21 program ROM 1 (H8/532 code), auto-preferred set" - source_ref: "upstream src/sc55/rom.rs:214, 299 (PREFERRED)" + source_ref: "upstream crates/sc55/src/rom.rs:214, crates/sc55/src/rom.rs:299 (PREFERRED)" - name: "sc55-roms/mk1-v1.21/rom2.bin" system: dos @@ -89,7 +121,7 @@ files: sha256: "effc6132d68f7e300aaef915ccdd08aba93606c22d23e580daf9ea6617913af1" validation: [sha256] description: "Roland SC-55 v1.21 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:215" + source_ref: "upstream crates/sc55/src/rom.rs:215" - name: "sc55-roms/mk1-v1.21/wave1.bin" system: dos @@ -98,7 +130,7 @@ files: sha256: "5655509a531804f97ea2d7ef05b8fec20ebf46216b389a84c44169257a4d2007" validation: [sha256] description: "Roland SC-55 Wave1 PCM (shared across all SC-55 mk1 versions and SC-155)" - source_ref: "upstream src/sc55/rom.rs:135 (MK1_WAVE1), 216" + source_ref: "upstream crates/sc55/src/rom.rs:135 (MK1_WAVE1), crates/sc55/src/rom.rs:216" - name: "sc55-roms/mk1-v1.21/wave2.bin" system: dos @@ -107,7 +139,7 @@ files: sha256: "c655b159792d999b90df9e4fa782cf56411ba1eaa0bb3ac2bdaf09e1391006b1" validation: [sha256] description: "Roland SC-55 Wave2 PCM" - source_ref: "upstream src/sc55/rom.rs:136 (MK1_WAVE2), 217" + source_ref: "upstream crates/sc55/src/rom.rs:136 (MK1_WAVE2), crates/sc55/src/rom.rs:217" - name: "sc55-roms/mk1-v1.21/wave3.bin" system: dos @@ -116,7 +148,7 @@ files: sha256: "334b2d16be3c2362210fdbec1c866ad58badeb0f84fd9bf5d0ac599baf077cc2" validation: [sha256] description: "Roland SC-55 Wave3 PCM" - source_ref: "upstream src/sc55/rom.rs:137 (MK1_WAVE3), 218" + source_ref: "upstream crates/sc55/src/rom.rs:137 (MK1_WAVE3), crates/sc55/src/rom.rs:218" - name: "sc55-roms/mk1-v1.00/rom1.bin" system: dos @@ -125,7 +157,7 @@ files: sha256: "b4ecf44bc0520322b0d114d397951d3bf92ca6fa51d0d27b2407df58a6be2efe" validation: [sha256] description: "Roland SC-55 v1.00 program ROM 1" - source_ref: "upstream src/sc55/rom.rs:181" + source_ref: "upstream crates/sc55/src/rom.rs:181" - name: "sc55-roms/mk1-v1.00/rom2.bin" system: dos @@ -134,7 +166,7 @@ files: sha256: "014e2e21ea30de7a1e4f1cdea14dd9a719960535e257a9e40e98dbb1a5870226" validation: [sha256] description: "Roland SC-55 v1.00 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:182" + source_ref: "upstream crates/sc55/src/rom.rs:182" - name: "sc55-roms/mk1-v1.10/rom1.bin" system: dos @@ -143,7 +175,7 @@ files: sha256: "2fe88ec39f3ef4b1de8cdf74527419467975c47f7aacfcd07605e01d54bd89b5" validation: [sha256] description: "Roland SC-55 v1.10 program ROM 1" - source_ref: "upstream src/sc55/rom.rs:192" + source_ref: "upstream crates/sc55/src/rom.rs:192" - name: "sc55-roms/mk1-v1.10/rom2.bin" system: dos @@ -152,7 +184,7 @@ files: sha256: "ec064d6c4fc70ec990911089d966043cb819fba0e26e6f6afdd0a05e5301b91b" validation: [sha256] description: "Roland SC-55 v1.10 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:193" + source_ref: "upstream crates/sc55/src/rom.rs:193" - name: "sc55-roms/mk1-v1.20/rom1.bin" system: dos @@ -161,7 +193,7 @@ files: sha256: "7e1bacd1d7c62ed66e465ba05597dcd60dfc13fc23de0287fdbce6cf906c6544" validation: [sha256] description: "Roland SC-55 v1.20 program ROM 1 (same bytes as v1.21 ROM1)" - source_ref: "upstream src/sc55/rom.rs:203" + source_ref: "upstream crates/sc55/src/rom.rs:203" - name: "sc55-roms/mk1-v1.20/rom2.bin" system: dos @@ -170,7 +202,7 @@ files: sha256: "22ce6ca59e6332143b335525e81fab501ea6fccce4b7e2f3bfc2cc8bf6612ff6" validation: [sha256] description: "Roland SC-55 v1.20 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:204" + source_ref: "upstream crates/sc55/src/rom.rs:204" - name: "sc55-roms/mk1-v2.00/rom1.bin" system: dos @@ -179,7 +211,7 @@ files: sha256: "24a65c97cdbaa847d6f59193523ce63c73394b4b693a6517ee79441f2fb8a3ee" validation: [sha256] description: "Roland SC-55 v2.00 program ROM 1 (shared with SC-155-rev1)" - source_ref: "upstream src/sc55/rom.rs:225" + source_ref: "upstream crates/sc55/src/rom.rs:225" - name: "sc55-roms/mk1-v2.00/rom2.bin" system: dos @@ -188,7 +220,7 @@ files: sha256: "f5dac35d450ab986570a209dff3816eec75cee669e161f54b51224b467dd0bcc" validation: [sha256] description: "Roland SC-55 v2.00 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:226" + source_ref: "upstream crates/sc55/src/rom.rs:226" - name: "sc55-roms/mk2-v1.01/rom1.bin" system: dos @@ -197,7 +229,7 @@ files: sha256: "8a1eb33c7599b746c0c50283e4349a1bb1773b5c0ec0e9661219bf6c067d2042" validation: [sha256] description: "Roland SC-55mkII v1.01 H8/532 ROM 1 (shared with SC-55ST and SC-155mkII)" - source_ref: "upstream src/sc55/rom.rs:131 (MK2_ROM1), 148" + source_ref: "upstream crates/sc55/src/rom.rs:131 (MK2_ROM1), crates/sc55/src/rom.rs:148" - name: "sc55-roms/mk2-v1.01/rom2.bin" system: dos @@ -206,7 +238,7 @@ files: sha256: "a4c9fd821059054c7e7681d61f49ce6f42ed2fe407a7ec1ba0dfdc9722582ce0" validation: [sha256] description: "Roland SC-55mkII v1.01 program ROM 2 (shared with SC-155mkII)" - source_ref: "upstream src/sc55/rom.rs:149" + source_ref: "upstream crates/sc55/src/rom.rs:149" - name: "sc55-roms/mk2-v1.01/smrom.bin" system: dos @@ -215,7 +247,7 @@ files: sha256: "b0b5f865a403f7308b4be8d0ed3ba2ed1c22db881b8a8326769dea222f6431d8" validation: [sha256] description: "Roland SC-55mkII sub-MCU (M37450) ROM (shared with SC-55ST and SC-155mkII)" - source_ref: "upstream src/sc55/rom.rs:132 (MK2_SMROM), 150" + source_ref: "upstream crates/sc55/src/rom.rs:132 (MK2_SMROM), crates/sc55/src/rom.rs:150" - name: "sc55-roms/mk2-v1.01/wave1.bin" system: dos @@ -224,7 +256,7 @@ files: sha256: "c6429e21b9b3a02fbd68ef0b2053668433bee0bccd537a71841bc70b8874243b" validation: [sha256] description: "Roland SC-55mkII Wave1 PCM (shared with SC-55ST, SC-155mkII, SCB-55)" - source_ref: "upstream src/sc55/rom.rs:133 (MK2_WAVE1), 151" + source_ref: "upstream crates/sc55/src/rom.rs:133 (MK2_WAVE1), crates/sc55/src/rom.rs:151" - name: "sc55-roms/mk2-v1.01/wave2.bin" system: dos @@ -233,7 +265,7 @@ files: sha256: "5b753f6cef4cfc7fcafe1430fecbb94a739b874e55356246a46abe24097ee491" validation: [sha256] description: "Roland SC-55mkII Wave2 PCM (shared with SC-55ST, SC-155mkII, SCB-55 Wave3, CM-300 Wave3)" - source_ref: "upstream src/sc55/rom.rs:134 (MK2_WAVE2), 152" + source_ref: "upstream crates/sc55/src/rom.rs:134 (MK2_WAVE2), crates/sc55/src/rom.rs:152" - name: "sc55-roms/sc155-rev1/rom2.bin" system: dos @@ -242,7 +274,7 @@ files: sha256: "ceb7b9d3d9d264efe5dc3ba992b94f3be35eb6d0451abc574b6f6b5dc3db237b" validation: [sha256] description: "Roland SC-155 rev1 program ROM 2 (ROM1 shared with mk1-v2.00, Wave1/2/3 shared with mk1 family)" - source_ref: "upstream src/sc55/rom.rs:289" + source_ref: "upstream crates/sc55/src/rom.rs:289" - name: "sc55-roms/cm300-v1.30/rom1.bin" system: dos @@ -251,7 +283,7 @@ files: sha256: "9ec66abb5231b6c6f46f48b33d5412703041037d69a6803626ac402f25552af2" validation: [sha256] description: "Roland CM-300 / SCC-1 v1.30 program ROM 1" - source_ref: "upstream src/sc55/rom.rs:258" + source_ref: "upstream crates/sc55/src/rom.rs:258" - name: "sc55-roms/cm300-v1.30/rom2.bin" system: dos @@ -260,7 +292,7 @@ files: sha256: "f89442734fdebacae87c7707c01b2d7fdbf5940abae738987aee912d34b5882e" validation: [sha256] description: "Roland CM-300 / SCC-1 v1.30 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:259" + source_ref: "upstream crates/sc55/src/rom.rs:259" - name: "sc55-roms/cm300-v1.30/wave1.bin" system: dos @@ -269,7 +301,7 @@ files: sha256: "40c093cbfb4441a5c884e623f882a80b96b2527f9fd431e074398d206c0f073d" validation: [sha256] description: "Roland CM-300 Wave1 PCM (shared with CM-300 v1.10 and v1.20)" - source_ref: "upstream src/sc55/rom.rs:138 (CM300_WAVE1), 260" + source_ref: "upstream crates/sc55/src/rom.rs:138 (CM300_WAVE1), crates/sc55/src/rom.rs:260" - name: "sc55-roms/cm300-v1.30/wave2.bin" system: dos @@ -278,7 +310,7 @@ files: sha256: "9bbbcac747bd6f7a2693f4ef10633db8ab626f17d3d9c47c83c3839d4dd2f613" validation: [sha256] description: "Roland CM-300 Wave2 PCM" - source_ref: "upstream src/sc55/rom.rs:139 (CM300_WAVE2), 261" + source_ref: "upstream crates/sc55/src/rom.rs:139 (CM300_WAVE2), crates/sc55/src/rom.rs:261" - name: "sc55-roms/st-v1.01/rom2.bin" system: dos @@ -287,7 +319,7 @@ files: sha256: "03517ac0a3b1ad8b69a1a4ee045e0c21da0170027bd1ba1bd3cf72cd017bbe6a" validation: [sha256] description: "Roland SC-55ST v1.01 program ROM 2 (ROM1, sub-MCU and wave ROMs shared with SC-55mkII)" - source_ref: "upstream src/sc55/rom.rs:171" + source_ref: "upstream crates/sc55/src/rom.rs:171" - name: "sc55-roms/cm300-v1.10/rom1.bin" system: dos @@ -296,7 +328,7 @@ files: sha256: "72ed35481efbf25b3c492b83183655d17a3b266ecb30ffbc6dc977e6a8d261b2" validation: [sha256] description: "Roland CM-300 / SCC-1 v1.10 program ROM 1 (shared with v1.20)" - source_ref: "upstream src/sc55/rom.rs:236" + source_ref: "upstream crates/sc55/src/rom.rs:236" unsourceable: "no public dump located (2026-10-04), and a same-named ROM of another set must not stand in" - name: "sc55-roms/cm300-v1.10/rom2.bin" @@ -306,7 +338,7 @@ files: sha256: "0283d32e6993a0265710c4206463deb937b0c3a4819b69f471a0eca5865719f9" validation: [sha256] description: "Roland CM-300 / SCC-1 v1.10 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:237" + source_ref: "upstream crates/sc55/src/rom.rs:237" - name: "sc55-roms/cm300-v1.20/rom2.bin" system: dos @@ -315,7 +347,7 @@ files: sha256: "fef1acb1969525d66238be5e7811108919b07a4df5fbab656ad084966373483f" validation: [sha256] description: "Roland CM-300 / SCC-1 v1.20 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:248" + source_ref: "upstream crates/sc55/src/rom.rs:248" - name: "sc55-roms/scb55-v2.00/rom1.bin" system: dos @@ -324,7 +356,7 @@ files: sha256: "00df835d3f97fc8b0059db63f36d608eec2bfd1f51ad54eb5af52c868c1111b1" validation: [sha256] description: "Roland SCB-55 v2.00 program ROM 1 (shared with RLP-3237)" - source_ref: "upstream src/sc55/rom.rs:269" + source_ref: "upstream crates/sc55/src/rom.rs:269" unsourceable: "no public dump located (2026-10-04), and a same-named ROM of another set must not stand in" - name: "sc55-roms/scb55-v2.00/rom2.bin" @@ -334,7 +366,7 @@ files: sha256: "541be4d0b1ef0d07bb042ba67ffd099c8a5d746aac4cd24ce8842c034379f213" validation: [sha256] description: "Roland SCB-55 v2.00 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:270" + source_ref: "upstream crates/sc55/src/rom.rs:270" - name: "sc55-roms/rlp3237-v2.01/rom2.bin" system: dos @@ -343,7 +375,7 @@ files: sha256: "e0a3d6d9b05e82374a0d289901273ce560ce1ead86459c75f844158b32d204a9" validation: [sha256] description: "Roland RLP-3237 v2.01 program ROM 2" - source_ref: "upstream src/sc55/rom.rs:280" + source_ref: "upstream crates/sc55/src/rom.rs:280" unsourceable: "no public dump located (2026-10-04), and a same-named ROM of another set must not stand in" - name: "sc55-roms/rlp3237-v2.01/wave1.bin" @@ -353,5 +385,5 @@ files: sha256: "dae2a8bc0fd3bcaf3f5e3ab6c4c6fd30e2663bf26ca17afe52924874c0afc4e2" validation: [sha256] description: "Roland RLP-3237 Wave1 PCM" - source_ref: "upstream src/sc55/rom.rs:281" + source_ref: "upstream crates/sc55/src/rom.rs:281" unsourceable: "no public dump located (2026-10-04), and a same-named ROM of another set must not stand in" diff --git a/emulators/rvvm.yml b/emulators/rvvm.yml index 465326f3..681674c7 100644 --- a/emulators/rvvm.yml +++ b/emulators/rvvm.yml @@ -4,8 +4,8 @@ core_classification: official_port source: "https://github.com/LekKit/RVVM" upstream: "https://github.com/LekKit/RVVM" profiled_date: "2026-03-25" -source_commit: "d6eae2ed964ee9c65f846be657a93cd100d072a7" -core_version: "0.6-git" +source_commit: "e7214efa23a9ab72c489c456889af79aa552873f" +core_version: "0.7-git" display_name: "RVVM" cores: [rvvm] systems: [riscv] @@ -34,18 +34,18 @@ systems: [riscv] # Source references: # libretro binding: src/bindings/libretro/libretro.c -# config parsing: libretro.c:332-421 (retro_load_game) -# VM init + loading: libretro.c:288-330 (vm_init) -# firmware loading: src/rvvm.c:621-628 (rvvm_load_firmware) -# kernel loading: src/rvvm.c:630-638 (rvvm_load_kernel) -# FDT loading: src/rvvm.c:641-648 (rvvm_load_fdt, standalone only) -# standalone CLI: main.c:213-282 (rvvm_cli_configure) +# config parsing: src/bindings/libretro/libretro.c:332-421 (retro_load_game) +# VM init + loading: src/bindings/libretro/libretro.c:288-330 (vm_init) +# firmware loading: src/core/rvvm.c:629-636 (rvvm_load_firmware) +# kernel loading: src/core/rvvm.c:638-647 (rvvm_load_kernel) +# FDT loading: src/core/rvvm.c:649-656 (rvvm_load_fdt, standalone only) +# standalone CLI: src/main.c:211-280 (rvvm_cli_configure) files: - name: "fw_payload.bin" path: "rvvm/fw_payload.bin" required: true - source_ref: "src/bindings/libretro/libretro.c:309-314, src/core/rvvm.c:628-635" + source_ref: "src/bindings/libretro/libretro.c:309-314, src/core/rvvm.c:629-636" note: > M-mode firmware loaded at 0x80000000. Typically OpenSBI with U-Boot payload (fw_payload.bin) or standalone (fw_jump.bin). Referenced by @@ -54,7 +54,7 @@ files: - name: "Image" path: "rvvm/Image" required: false - source_ref: "src/bindings/libretro/libretro.c:316-318, src/core/rvvm.c:637-645" + source_ref: "src/bindings/libretro/libretro.c:316-318, src/core/rvvm.c:638-646" note: > S-mode kernel payload loaded at offset 0x200000 (rv64) or 0x400000 (rv32) from RAM base. Only needed with fw_jump.bin as bootrom. @@ -64,7 +64,7 @@ files: path: "rvvm/machine.dtb" required: false mode: standalone - source_ref: "src/main.c:220, src/core/rvvm.c:648-655" + source_ref: "src/main.c:220, src/core/rvvm.c:649-656" note: > Custom Flattened Device Tree. The core auto-generates a DTB based on machine configuration. The libretro binding does not parse a dtb= key diff --git a/emulators/same_cdi.yml b/emulators/same_cdi.yml index c3954e99..2c9df6d3 100644 --- a/emulators/same_cdi.yml +++ b/emulators/same_cdi.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/same_cdi" upstream: "https://github.com/mamedev/mame" profiled_date: "2026-03-25" source_commit: "ff9bb99a50d518aef6d2add1c49b7c44447e3e78" +upstream_commit: "61a222977fd29f22ce11fbea3f7c290fd7ced091" core_version: "Git" display_name: "Philips - CDi (SAME CDi)" cores: [same_cdi] diff --git a/emulators/sameboy.yml b/emulators/sameboy.yml index 89f7ef76..aeec3e91 100644 --- a/emulators/sameboy.yml +++ b/emulators/sameboy.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/SameBoy" upstream: "https://github.com/LIJI32/SameBoy" profiled_date: "2026-03-25" source_commit: "aa158a889a48b538a0302873704a34577c8eb67d" +upstream_commit: "26a56bd6a122a6318a456abd80558408742d5adf" core_version: "0.15.4" display_name: "Nintendo - Game Boy / Color (SameBoy)" cores: diff --git a/emulators/scummvm.yml b/emulators/scummvm.yml index 49f03e4c..b83c5100 100644 --- a/emulators/scummvm.yml +++ b/emulators/scummvm.yml @@ -5,8 +5,8 @@ source: "https://github.com/libretro/scummvm" upstream: "https://github.com/scummvm/scummvm" logo: "https://raw.githubusercontent.com/scummvm/scummvm/master/icons/scummvm.svg" profiled_date: "2026-03-25" -source_commit: "fcbce3ae815269dacdc309092bc92ccc6d3e13bb" -upstream_commit: "fcbce3ae815269dacdc309092bc92ccc6d3e13bb" +source_commit: "e0ddc60bfabb1efdf1e135006c8914ca59d0596c" +upstream_commit: "e0ddc60bfabb1efdf1e135006c8914ca59d0596c" core_version: "2.8.0git" display_name: "ScummVM" cores: [scummvm, "SCUMMVMSA"] @@ -84,7 +84,7 @@ files: # ================================================================ # SoundFont (bundled with ScummVM releases) - # Default filename defined in libretro-defs.h:32 + # Default filename defined in backends/platform/libretro/include/libretro-defs.h:32 # ================================================================ - name: "Roland_SC-55.sf2" diff --git a/emulators/sdl2trs.yml b/emulators/sdl2trs.yml index b4b7dffb..feed939e 100644 --- a/emulators/sdl2trs.yml +++ b/emulators/sdl2trs.yml @@ -3,8 +3,8 @@ type: standalone core_classification: community_fork source: "https://gitlab.com/jengun/sdltrs" upstream: "http://sdltrs.sourceforge.net" -profiled_date: "2026-08-08" -source_commit: "cb68ce3167ae9b8e2c87f69d3a8c34ffa176a993" +profiled_date: "2026-10-23" +source_commit: "57c90cc6393da6c2e5d565ddfbb0c80449fc6ed2" core_version: "1.2.35" display_name: "Tandy - TRS-80 (SDL2TRS)" cores: @@ -25,17 +25,17 @@ notes: | Three ROM slots exist, one per model family, and trs_rom_init picks one from trs_model. Model I takes romfile1, Model III and Model 4 share romfile3, and Model 4P takes romfile4p (src/trs_cmd_rom.c:868-894). The defaults are level2.rom, - model3.rom and model4p.rom, each prefixed by ROM_PATH (src/trs_options.c:897-899). + model3.rom and model4p.rom, each prefixed by ROM_PATH (src/trs_options.c:864-866). ROM_PATH is a build define left empty unless a packager sets it (src/trs_options.c:53-54, CMakeLists.txt:42), so a stock build resolves the names against the working directory. -rom, -r and -romfile write to the slot of the model selected at the moment - they are parsed (src/trs_options.c:609-619). Options are applied in command-line - order after the config file has been read (src/trs_options.c:1017-1037), so -m has + they are parsed (src/trs_options.c:597-607). Options are applied in command-line + order after the config file has been read (src/trs_options.c:984-1004), so -m has to come first to redirect them, and a model key in the config file otherwise decides. -rom1, -rom3 and -rom4p address a slot directly. The GUI ROM browser - filters on .bin, .hex, .iii and .rom (src/trs_sdl_gui.h:63, src/trs_sdl_gui.c:2591-2597). + filters on .bin, .hex, .iii and .rom (src/trs_sdl_gui.h:63, src/trs_sdl_gui.c:2595-2601). trs_load_rom sniffs the first byte. A colon means Intel hex, and load_hex rejects the file on a line checksum mismatch. A 1 or a 5 on Model III or later @@ -54,7 +54,7 @@ notes: | place to boot from a hard drive (src/trs_cmd_rom.c:447-610, 882-883). The clones run off the same three slots and are recognised from the ROM data - rather than from an option (src/trs_clones.c:8-20, html/Features.html), so their + rather than from an option (src/trs_clones.c:9-21, html/Features.html), so their larger images load as a Model I or a Model III ROM. None has a filename of its own anywhere in the tree. @@ -63,9 +63,9 @@ files: description: "TRS-80 Model I ROM" required: true max_size: 18432 - source_ref: "src/trs_options.c:81 (romfile1), src/trs_options.c:897 (default name), src/trs_cmd_rom.c:871-884 (trs_model 1)" + source_ref: "src/trs_options.c:81 (romfile1), src/trs_options.c:864 (default name), src/trs_cmd_rom.c:871-884 (trs_model 1)" note: > - Model I is the model a stock configuration selects (src/trs_options.c:924), so + Model I is the model a stock configuration selects (src/trs_options.c:891), so this is the slot an unconfigured run reads. Without it the machine runs the compiled-in diagnostic stub and nothing else. max_size is the shared ROM buffer ceiling: a longer file is truncated, never rejected, and only the @@ -75,7 +75,7 @@ files: description: "TRS-80 Model III and Model 4 ROM" required: true max_size: 18432 - source_ref: "src/trs_options.c:82 (romfile3), src/trs_options.c:898 (default name), src/trs_cmd_rom.c:885-889 (trs_model 3 and 4)" + source_ref: "src/trs_options.c:82 (romfile3), src/trs_options.c:865 (default name), src/trs_cmd_rom.c:885-889 (trs_model 3 and 4)" note: > Serves Model III and Model 4 alike. The stub text spells out that Model 4 mode needs a Model 3 image (src/trs_cmd_rom.c:110-115). This is the one slot @@ -89,7 +89,7 @@ files: description: "TRS-80 Model 4P boot ROM" required: false max_size: 18432 - source_ref: "src/trs_options.c:83 (romfile4p), src/trs_options.c:899 (default name), src/trs_cmd_rom.c:890-893 (trs_model 5)" + source_ref: "src/trs_options.c:83 (romfile4p), src/trs_options.c:866 (default name), src/trs_cmd_rom.c:890-893 (trs_model 5)" note: > Optional because the compiled-in replacement is a working boot ROM rather than a stub. html/index.html states the free ROM boots only Model 4 @@ -154,12 +154,12 @@ analysis: buffer. They arrive through romfile1 or romfile3 like any other image and are recognised from the ROM data, so the emulator defines no filename for them and no option selects them. - source_ref: "src/trs_clones.c:8-20 (clone table), src/trs_memory.c:63 (MAX_ROM_SIZE)" + source_ref: "src/trs_clones.c:9-21 (clone table), src/trs_memory.c:63 (MAX_ROM_SIZE)" layouts: - machine: "Prologica CP-300, CP-500 and CP-500 M80" slot: model3.rom image_size: 16384 - source_ref: "src/trs_cp500.c:1-22, src/trs_cp500.c:153-160, src/trs_memory.c:1038-1041" + source_ref: "src/trs_cp500.c:1-22, src/trs_cp500.c:154-161, src/trs_memory.c:1038-1041" note: > 14 KB of patched Model III ROM plus a 2 KB resident monitor read back from 0x3800-0x3FFF and banked into 0x3000-0x37FF. README.md:21 and @@ -250,34 +250,34 @@ analysis: note: "Named on the command line, in the config file or in a disk set, with no fixed filename" entries: - what: "floppy images in drives 0-7, JV1, JV3 and DMK" - source_ref: "src/trs_options.c:587-592, src/trs_disk.c:789-921" + source_ref: "src/trs_options.c:584-586, src/trs_disk.c:775-913" - what: "hard drive images, units 0-3" - source_ref: "src/trs_options.c:593-598, src/trs_hard.c:311-320, src/trs_hard.c:579-665" + source_ref: "src/trs_options.c:587-589, src/trs_hard.c:312-320, src/trs_hard.c:569-654" - what: "cassette images, .cas, .cpt and .wav" - source_ref: "src/trs_options.c:581-586, src/trs_cassette.c:522-549" + source_ref: "src/trs_options.c:581-583, src/trs_cassette.c:522-557" - what: "stringy floppy wafers in drives 0-7, .esf" - source_ref: "src/trs_options.c:599-604, src/trs_stringy.c:278-316, src/trs_stringy.c:342-346" + source_ref: "src/trs_options.c:590-592, src/trs_stringy.c:276-317, src/trs_stringy.c:342-350" - what: "disk set, a plain list of the paths above" - source_ref: "src/trs_options.c:605-608, src/trs_disk.c:3759-3796" + source_ref: "src/trs_options.c:593-596, src/trs_disk.c:3753-3787" - what: "CMD program loaded straight into memory, from a bare argument" - source_ref: "src/trs_options.c:1011-1012, src/trs_cmd_rom.c:845-866" + source_ref: "src/trs_options.c:978-979, src/trs_cmd_rom.c:845-866" - what: "serial port tty, defaulting to /dev/ttyS0 on Linux" source_ref: "src/trs_uart.c:54-56, src/trs_uart.c:144-202" generated_files: written_and_read_back: - filename: ".sdltrs.t8c" - source_ref: "src/trs_options.c:936-949, src/trs_options.c:1043-1046" + source_ref: "src/trs_options.c:903-916, src/trs_options.c:1010-1013" note: "Configuration, written to the home directory on first run when none is found." - filename: ".t8s" source_ref: "src/trs_state_save.c:38-66, src/trs_state_save.c:68-113" note: "Emulator state, written and read by the GUI or a bare command-line argument." - filename: "blank disk, wafer and hard drive images" - source_ref: "src/trs_mkdisk.c:192-308, src/trs_stringy.c:187-197" + source_ref: "src/trs_mkdisk.c:192-308, src/trs_stringy.c:185-195" written_only: - filename: "trsprn####.txt" source_ref: "src/trs_printer.c:60-81" note: "Printer output, numbered up to 9999 in the printer directory." - filename: "screenshots as BMP" - source_ref: "src/trs_sdl_gui.c:2673" + source_ref: "src/trs_sdl_gui.c:2677" note: "Produced by the emulator, none is user-supplied" diff --git a/emulators/sdlpal.yml b/emulators/sdlpal.yml index 33541b38..e1aa2234 100644 --- a/emulators/sdlpal.yml +++ b/emulators/sdlpal.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/sdlpal/sdlpal" upstream: "https://github.com/sdlpal/sdlpal" profiled_date: "2026-03-25" -source_commit: "a2e13e5ff83cf33448b3de3b8b612c07e28eacd7" +source_commit: "d4bf69b64d335cd680555af9df90e7ec4f3006a3" core_version: "v2.0.1" display_name: "SDLPAL" cores: diff --git a/emulators/shadps4.yml b/emulators/shadps4.yml index 8b417ad3..4ec3edb7 100644 --- a/emulators/shadps4.yml +++ b/emulators/shadps4.yml @@ -3,7 +3,7 @@ type: standalone source: "https://github.com/shadps4-emu/shadPS4" upstream: "https://github.com/shadps4-emu/shadPS4" profiled_date: "2026-03-26" -source_commit: "f73709cada28e77523e37806fee5c454711d24ba" +source_commit: "91e6afa69b0a64b0afaa0281b80f8fbb0cd88136" core_version: "pre-release 2026-08-08" display_name: "shadPS4 (PlayStation 4)" cores: diff --git a/emulators/skyemu.yml b/emulators/skyemu.yml index a6e0e972..6ca7d6d5 100644 --- a/emulators/skyemu.yml +++ b/emulators/skyemu.yml @@ -4,7 +4,7 @@ core_classification: official_port source: https://github.com/skylersaleh/SkyEmu/blob/v5/src/libretro.c upstream: https://github.com/skylersaleh/SkyEmu profiled_date: "2026-03-25" -source_commit: "01516d6798e3652b583e6a366085bb51c43b528d" +source_commit: "9b6bbb6aa73cebae6cb52ea60d04f803acadc480" core_version: "v5" display_name: "Nintendo - Game Boy/GBA/NDS (SkyEmu)" @@ -23,7 +23,7 @@ notes: | stub firmware (NDS), and HLE boot skip (GB/GBC). BIOS loading controlled by core options (default: on). Files loaded from system_dir/SkyEmu/ subdirectory. Standalone validates exact BIOS file size, while libretro only rejects files exceeding buffer. - The .info does not list gb_bios.bin, which the code reads (gb.h:1603). + The .info does not list gb_bios.bin, which the code reads (src/gb.h:1603). files: - name: cgb_boot.bin @@ -47,25 +47,25 @@ files: path: SkyEmu/gba_bios.bin required: false hle_fallback: true - source_ref: "src/gba.h:1726-1730" + source_ref: "src/gba.h:1743-1747" - name: nds7.bin description: NDS ARM7 BIOS path: SkyEmu/nds7.bin required: false hle_fallback: true - source_ref: "src/nds.h:3088-3089" + source_ref: "src/nds.h:3105-3106" - name: nds9.bin description: NDS ARM9 BIOS path: SkyEmu/nds9.bin required: false hle_fallback: true - source_ref: "src/nds.h:3091-3092" + source_ref: "src/nds.h:3108-3109" - name: firmware.bin description: NDS firmware path: SkyEmu/firmware.bin required: false hle_fallback: true - source_ref: "src/nds.h:3094, 3200-3268" + source_ref: "src/nds.h:3111, src/nds.h:3217-3285" diff --git a/emulators/snes9x2002.yml b/emulators/snes9x2002.yml index 8284ac79..4404cdef 100644 --- a/emulators/snes9x2002.yml +++ b/emulators/snes9x2002.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/snes9x2002" upstream: "https://github.com/snes9xgit/snes9x" profiled_date: "2026-03-25" source_commit: "6ffbf9ef4f0063e1f1b78a40d10c50fc52f2524c" +upstream_commit: "1bcc369e89f08243e0a462882fb1f3e42e51de3a" core_version: "7.2.0" display_name: "Nintendo - SNES / SFC (Snes9x 2002)" cores: diff --git a/emulators/snes9x2010.yml b/emulators/snes9x2010.yml index 69f197a1..68598a42 100644 --- a/emulators/snes9x2010.yml +++ b/emulators/snes9x2010.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/snes9x2010" upstream: "https://github.com/snes9xgit/snes9x" profiled_date: "2026-03-25" source_commit: "fe690dd321fa5a46b5234a2bde089d2518c62b0e" +upstream_commit: "1bcc369e89f08243e0a462882fb1f3e42e51de3a" core_version: "v1.52.4" display_name: "Nintendo - SNES / SFC (Snes9x 2010)" cores: diff --git a/emulators/sonic3-air.yml b/emulators/sonic3-air.yml index 4f76d88e..1a2aeafa 100644 --- a/emulators/sonic3-air.yml +++ b/emulators/sonic3-air.yml @@ -3,7 +3,7 @@ type: standalone core_classification: game_engine source: "https://github.com/Eukaryot/sonic3air" upstream: "https://github.com/Eukaryot/sonic3air" -source_commit: "de0fd6a7c07b399c9a612cb7cb8d61b54cb339d1" +source_commit: "87fed5407217c4552086dedf73b33de8816a78da" profiled_date: "2026-10-04" display_name: "Sonic 3 - Angel Island Revisited" cores: [sonic3air] diff --git a/emulators/soniccd.yml b/emulators/soniccd.yml index 33a00a05..4d87b7de 100644 --- a/emulators/soniccd.yml +++ b/emulators/soniccd.yml @@ -3,7 +3,7 @@ type: standalone core_classification: game_engine source: "https://github.com/RSDKModding/RSDKv3-Decompilation" upstream: "https://github.com/RSDKModding/RSDKv3-Decompilation" -source_commit: "a99e16ad15f4f824c1b9f96a61b3f8576ab648e2" +source_commit: "c01fc0c360e8e35e791630407ea5c7a426718e54" profiled_date: "2026-10-04" display_name: "Sonic CD (RSDKv3 Decomp)" cores: [sonicretrocd] diff --git a/emulators/spmp8000emu.yml b/emulators/spmp8000emu.yml index 218adb72..95c5e677 100644 --- a/emulators/spmp8000emu.yml +++ b/emulators/spmp8000emu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/SPMP8000Emu" upstream: "https://github.com/AloysHF/SPMP8000Emu" profiled_date: "2026-09-03" -source_commit: "b0107b237a0b4e9231adebc7af1521726990b9ab" +source_commit: "687cd4ca995a8ef8092fff3316576b9bd642a32e" core_version: "1.0.0" display_name: "Sunplus - SPMP8000 (SPMP8000Emu)" cores: diff --git a/emulators/squirreljme.yml b/emulators/squirreljme.yml index 3cb49e82..fb71560d 100644 --- a/emulators/squirreljme.yml +++ b/emulators/squirreljme.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/SquirrelJME/SquirrelJME" upstream: "https://github.com/SquirrelJME/SquirrelJME" profiled_date: "2026-03-25" -source_commit: "4d7334cf922c8f5abfc94a8d4fc941d350e49914" +source_commit: "4dca9d4d45523cc76272d1ade2b53121b2ea4674" core_version: "0.3.0" display_name: "Java ME (SquirrelJME)" cores: [squirreljme] @@ -23,49 +23,49 @@ files: - name: "squirreljme-0.3.0-fast.jar" description: "Class library v0.3.0, fast/optimized build" required: false - source_ref: "nanocoat/src/boot.c:102" + source_ref: "nanocoat/src/boot.c:92" - name: "squirreljme-0.3.0.jar" description: "Class library v0.3.0, standard build" required: false - source_ref: "nanocoat/src/boot.c:103" + source_ref: "nanocoat/src/boot.c:93" - name: "squirreljme-0.3.0-test.jar" description: "Class library v0.3.0, standard build with test suites" required: false - source_ref: "nanocoat/src/boot.c:104" + source_ref: "nanocoat/src/boot.c:94" - name: "squirreljme-0.3.0-slow.jar" description: "Class library v0.3.0, slow/interpreter build" required: false - source_ref: "nanocoat/src/boot.c:105" + source_ref: "nanocoat/src/boot.c:95" - name: "squirreljme-0.3.0-slow-test.jar" description: "Class library v0.3.0, slow build with test suites" required: false - source_ref: "nanocoat/src/boot.c:106" + source_ref: "nanocoat/src/boot.c:96" - name: "squirreljme-fast.jar" description: "Class library, fast/optimized build (unversioned)" required: false - source_ref: "nanocoat/src/boot.c:107" + source_ref: "nanocoat/src/boot.c:97" - name: "squirreljme.jar" description: "Class library, standard build (unversioned)" required: false - source_ref: "nanocoat/src/boot.c:108" + source_ref: "nanocoat/src/boot.c:98" - name: "squirreljme-test.jar" description: "Class library, standard build with test suites (unversioned)" required: false - source_ref: "nanocoat/src/boot.c:109" + source_ref: "nanocoat/src/boot.c:99" - name: "squirreljme-slow.jar" description: "Class library, slow/interpreter build (unversioned)" required: false - source_ref: "nanocoat/src/boot.c:110" + source_ref: "nanocoat/src/boot.c:100" - name: "squirreljme-slow-test.jar" description: "Class library, slow build with test suites (unversioned)" required: false - source_ref: "nanocoat/src/boot.c:111" + source_ref: "nanocoat/src/boot.c:101" diff --git a/emulators/srb2.yml b/emulators/srb2.yml index 61012b28..4079f6ea 100644 --- a/emulators/srb2.yml +++ b/emulators/srb2.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/STJr/SRB2" upstream: "https://git.do.srb2.org/STJr/SRB2" profiled_date: "2026-10-20" -source_commit: "8701ef41f617c06e23a7b8ccd2199c160c5d1dd1" +source_commit: "639b58c6d718452ef343a0bc927d043bed9e40d6" core_version: "2.2.15" display_name: "Sonic Robo Blast 2" cores: [srb2] @@ -21,26 +21,26 @@ notes: | archive SRB2-v2215-Full.zip, which RetroPie unpacks and installs next to the binary. The hashes below are those of the files in that archive. - IdentifyVersion() (src/d_main.c:1126-1205) finds the asset directory + IdentifyVersion() (src/d_main.c:1161-1240) finds the asset directory through I_LocateWad(), which tries SRB2WADDIR, the working directory, the default install paths, $HOME/.srb2 and the search paths in that - order (src/sdl/i_system.c:3019-3072), and chdirs there. The first + order (src/sdl/i_system.c:3044-3097), and chdirs there. The first directory holding srb2.pk3 wins. RetroPie launches the binary from its install directory. srb2/ below stands for that directory. srb2.pk3, zones.pk3 and characters.pk3 are main files: W_InitFile with startup set ends in I_Error when one is missing (src/w_wad.c:805-817). A build without DEVELOP then checks their MD5 against ASSET_HASH_* - (src/config.h.in:46-48, src/d_main.c:1447-1449) and W_VerifyFileMD5 + (src/config.h.in:46-48, src/d_main.c:1482-1484) and W_VerifyFileMD5 stops on a mismatch (src/w_wad.c:2550-2590). The CMake option SRB2_CONFIG_DEV_BUILD, off by default, is what defines DEVELOP - (src/CMakeLists.txt:149, 383-384). patch.pk3 is loaded only when + (src/CMakeLists.txt:149, 380-381). patch.pk3 is loaded only when USE_PATCH_DTA is defined, which it is not in this release (src/doomdef.h:171). music.pk3 is not hashed. MUSICTEST adds it only when it holds music and sound lumps alone, rejects it with an error when it holds anything else, - and skips it when it cannot be opened (src/d_main.c:1189-1203, + and skips it when it cannot be opened (src/d_main.c:1224-1238, src/w_wad.c:2810, 2840). files: @@ -54,7 +54,7 @@ files: md5: "3182ce524acc2072ddaa81acf4b6a9aa" sha1: "f53394ceabded0a307330d81a4ae4db59e269ecb" validation: [md5] - source_ref: "src/d_main.c:1161-1171, src/d_main.c:1447, src/config.h.in:46" + source_ref: "src/d_main.c:1196-1206, src/d_main.c:1482, src/config.h.in:46" - name: "zones.pk3" path: "srb2/zones.pk3" @@ -66,7 +66,7 @@ files: md5: "88ff4c300851ccdb0406698eadd89907" sha1: "de0e5d630c1f93472be22f981f68033107f059a2" validation: [md5] - source_ref: "src/d_main.c:1180, src/d_main.c:1448, src/config.h.in:47" + source_ref: "src/d_main.c:1215, src/d_main.c:1483, src/config.h.in:47" - name: "characters.pk3" path: "srb2/characters.pk3" @@ -78,7 +78,7 @@ files: md5: "5c5936b8a690e007c0939bd0785a41fb" sha1: "c070cd568f6579a94372e70f6c789fc479247d5c" validation: [md5] - source_ref: "src/d_main.c:1183, src/d_main.c:1449, src/config.h.in:48" + source_ref: "src/d_main.c:1218, src/d_main.c:1484, src/config.h.in:48" - name: "music.pk3" path: "srb2/music.pk3" @@ -89,5 +89,5 @@ files: size: 99639560 md5: "b8763719b66716dbd5c0f9982269be69" sha1: "84095f245c724899f52d4912f2c01e0fc9d42dc0" - source_ref: "src/d_main.c:1189-1203, src/d_main.c:1453" + source_ref: "src/d_main.c:1224-1238, src/d_main.c:1488" note: "Hashes are those of the 2.2.15 release archive. The engine does not check them." diff --git a/emulators/stella2014.yml b/emulators/stella2014.yml index 0c3d77a0..a5357483 100644 --- a/emulators/stella2014.yml +++ b/emulators/stella2014.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/stella2014-libretro" upstream: "https://github.com/stella-emu/stella" profiled_date: "2026-03-25" source_commit: "7d1361e407e63f29e52892655069e5fb4096e691" +upstream_commit: "2c3d7023e9136f75c789803b44f119d8749dc104" core_version: "3.9.3" display_name: "Atari - 2600 (Stella 2014)" cores: diff --git a/emulators/stella2023.yml b/emulators/stella2023.yml index afc3d7ac..a5cbe81c 100644 --- a/emulators/stella2023.yml +++ b/emulators/stella2023.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/stella2023" upstream: "https://github.com/stella-emu/stella" profiled_date: "2026-03-25" source_commit: "ba52c43b9eda950eb0c0eec69cda9b17dee8c39b" +upstream_commit: "2c3d7023e9136f75c789803b44f119d8749dc104" core_version: "7.0_pre" display_name: "Atari - 2600 (Stella 2023)" cores: diff --git a/emulators/stonesoup.yml b/emulators/stonesoup.yml index c2d1339e..7b80a4eb 100644 --- a/emulators/stonesoup.yml +++ b/emulators/stonesoup.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/crawl-ref" upstream: "https://github.com/crawl/crawl" profiled_date: "2026-03-25" source_commit: "cc2530f377a3a5d686d4b6a360d88b01de0fbc59" +upstream_commit: "8757df5d4397047058e25e456cac506db9c1442b" core_version: "0.16-a0" display_name: "Dungeon Crawl Stone Soup" cores: [stonesoup] diff --git a/emulators/supermariowar.yml b/emulators/supermariowar.yml index 7d339f35..223faa53 100644 --- a/emulators/supermariowar.yml +++ b/emulators/supermariowar.yml @@ -4,6 +4,7 @@ core_classification: game_engine source: "https://github.com/mmatyas/supermariowar" profiled_date: "2026-10-22" source_commit: "ed60ed45e296ff88a8883cbc51f5bf5aed880636" +pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/supermariowar/package.mk:5). Later commits are not part of that build." core_version: "2.0.0" display_name: "Super Mario War (smw)" cores: diff --git a/emulators/supermodel-dojo.yml b/emulators/supermodel-dojo.yml index 87694c6b..80fd4d8e 100644 --- a/emulators/supermodel-dojo.yml +++ b/emulators/supermodel-dojo.yml @@ -5,71 +5,82 @@ source: "https://github.com/blueminder/supermodel-dojo" upstream: "https://github.com/trzy/Supermodel" author: "blueminder" profiled_date: "2026-08-12" -source_commit: "ff8cde225298fe5c4ad47fba3c581b2cd19ffc41" -upstream_commit: "77d28eec84a5ededaa23bb31bc74db631cbe5530" -core_version: "dojo-preview6" +source_commit: "d409fe784b8328d798098708adc760900bcc6937" +upstream_commit: "98fcbff223e23b1530c8f899aca2fc4fd5663ab4" +core_version: "v0.3a-20261022-git-d409fe7" display_name: "Sega - Model 3 (Supermodel Dojo)" verification: existence cores: - supermodel-dojo systems: - sega-model3 + - real3d-pro1000 mode: standalone notes: | Fork of Supermodel adding delay based netplay, session replay with mid replay - takeover, a training mode, and a launcher binary built from Frontend/. The + takeover, a training mode, and an in-emulator GUI that lists the sets, the + replays and the settings when the binary starts without arguments. The emulator side is upstream merged forward: the dojo branch takes trzy/Supermodel - at 77d28ee of 2026-05-28 through merge 627f023, and the commits after it are - launcher fixes. The two repositories are not linked on GitHub, so the pin is - read from the merge itself, whose second parent 77d28ee resolves in both trees - while the first does not. - ref: README.md:4-20, Makefiles/Rules.inc:179-186 + at 98fcbff of 2026-10-20 through merge ab1ecae, and the commits after it are + netplay, replay and release changes. The two repositories are not linked on + GitHub, so the pin is read from the merge itself, whose second parent 98fcbff + resolves in both trees. + ref: README.md:3-20, Src/OSD/SDL/Main.cpp:2565-2597 Windows and macOS return relative names, Config/, Assets/, NVRAM/, Saves/, - resolved against the working directory, which is where the release archive puts - them and where ES-DE starts the process. Linux uses the working directory when - no home directory resolves, $HOME/.supermodel-dojo/ when that directory - exists, otherwise $HOME/.config/supermodel-dojo/Config and + Replays/, ROMs/, resolved against the working directory, which is where the + release archive puts them and where ES-DE starts the process. Linux uses the + working directory when no home directory resolves, $HOME/.supermodel-dojo/ + when that directory exists, otherwise $HOME/.config/supermodel-dojo/Config and $HOME/.local/share/supermodel-dojo/ under the XDG variables, and falls back to the Config/Games.xml and Assets/ sitting next to the binary when the home copy - is absent. Replays/ is a path type there and a working directory folder on Windows. - ref: Src/OSD/Windows/FileSystemPath.cpp:28-56, Src/OSD/OSX/FileSystemPath.cpp:28-54, - Src/OSD/Unix/FileSystemPath.cpp:63-77, 127-138, 141-195, Src/Dojo/Replay.cpp:24-30, - es-de resources/systems/windows/es_systems.xml:171 + is absent. ROMs/ is the default ROMDirectory, where the GUI looks for + .zip. + ref: Src/OSD/Windows/FileSystemPath.cpp:28-60, Src/OSD/OSX/FileSystemPath.cpp:28-58, + Src/OSD/Unix/FileSystemPath.cpp:63-77, 130-141, 144-198, Src/Dojo/Replay.cpp:28-31, + Src/OSD/SDL/Main.cpp:1796, es-de resources/systems/windows/es_systems.xml:171 ROM sets are MAME format per game archives identified by the CRC32 values in - Games.xml, 63 sets at this revision. A parent set holds the ROMs a regional + Games.xml, 64 sets at this revision. A parent set holds the ROMs a regional variant reuses, a relation between versions of one game rather than a shared BIOS: a split child archive makes the loader open .zip from the same directory. Each Model 3 board carries its own program, video, sound and drive board ROMs, so no system ROM is read outside those archives. - ref: Config/Games.xml, Src/GameLoader.cpp:325-560, Src/GameLoader.cpp:979-1010 + ref: Config/Games.xml, Src/GameLoader.cpp:371-610, Src/GameLoader.cpp:1029-1060 + + Games.xml also declares the set pro1000, the Real3D Pro-1000 image generator, + whose cpu_rom and init_rom regions are the flash images of the Pro-1000 SDK + update. The machine refuses to start without either region. A scsi_rom region + is optional, a synthetic image is built when it is absent, and that image takes + the logo model from Assets/ when both 3dlogo files are there. + ref: Config/Games.xml:1404-1428, Src/Pro1000/Pro1000.cpp:2128-2160, + Src/OSD/SDL/Main.cpp:2737-2740 The emulator writes and reads back its own Supermodel.ini, generated from the built in Dojo defaults whenever it is absent, plus NVRAM/.nv, Saves/.st and Replays/_.supr with a .st0 sidecar when the session starts from a save state. - ref: Src/OSD/SDL/Main.cpp:1572-1592, 2425, 713-741, 775-798, - Src/OSD/DojoConfigFile.h:31, Src/Dojo/Replay.cpp:19-50 + ref: Src/OSD/SDL/Main.cpp:1677-1697, 2568, 724-752, 786-809, + Src/OSD/DojoConfigFile.h:31, Src/Dojo/Replay.cpp:23-51 Two reads take a path the user chooses and have no fixed name: the MP3 tracks named inside Music.xml, and external GLSL vertex and fragment shaders for the legacy 3D engine, whose config keys are empty by default so the built in shader source is compiled instead. - ref: Src/Sound/MPEG/MpegAudio.cpp:71-86, Src/OSD/SDL/Main.cpp:1692-1693, - Src/Graphics/Shader.cpp:93-99 + ref: Src/Sound/MPEG/MpegAudio.cpp:71-86, Src/OSD/SDL/Main.cpp:1800-1801, + Src/Graphics/Shader.cpp:100-106 - The repository publishes two release trains. The Dojo builds carry the - dojo-preview tags, Preview 6 of 2025-04-27 being the current one, and ship - supermodel.exe, the dojo.exe launcher, Assets/ and Config/. The - v0.3a--git- releases come from a workflow that fires only on the - master branch, which tracks upstream: the archive of 2026-06-25 holds Games.xml, - Music.xml and both crosshair names in its binary and none of the Dojo strings. - A build stamps its version from the commit date and short sha, and the tree - falls back to 0.3a-WIP. + The v0.3a--git- releases are built from the dojo branch and named + Supermodel Dojo. The archive of 2026-10-22 ships the supermodel binary, + Assets/, Config/Games.xml, Config/Music.xml and empty NVRAM/, ROMs/ and Saves/ + folders, plus wnaspi32.dll on Windows, the ASPI bridge that lets Pro-1000 host + programs reach the emulated machine. A build stamps its version from the commit + date and short sha, and the tree falls back to 0.3a-WIP. The older dojo-preview + tags, Preview 6 of 2025-04-27 the last, shipped a separate launcher. ref: .github/workflows/release.yml:4-5, .github/workflows/release.yml:21, - Makefiles/Rules.inc:289-291, Src/Version.h:32 + .github/workflows/release.yml:48-49, Makefiles/Rules.inc:325-327, + Src/Version.h:32 ES-DE reaches it through the SUPERMODEL-DOJO find rule, present in the Windows set alone among the seven, for the arcade, mame and model3 systems. @@ -78,14 +89,14 @@ notes: | files: - name: Games.xml - size: 152643 - sha1: 681e3362f0251d2e26e6bc2e06157c027f5f3116 + size: 152634 + sha1: bb937d4841ae039d9d5f16b33bf5ba0382e41081 path: "Config/Games.xml" required: true bundled: true description: "ROM set definitions" note: "Parsed at startup into the game database. Every ROM region, file name and CRC32 the loader matches against comes from here, so an unreadable file leaves no set to resolve and the launch returns before the emulator is built. The path is a config key, so -game-xml-file moves it." - source_ref: "source Src/OSD/SDL/Main.cpp:117, 1684, 2143, 2509-2520, source Src/GameLoader.cpp:551-561, 1016-1019, source Src/OSD/Windows/FileSystemPath.cpp:28-32" + source_ref: "source Src/OSD/SDL/Main.cpp:126, Src/OSD/SDL/Main.cpp:1789, Src/OSD/SDL/Main.cpp:2280, Src/OSD/SDL/Main.cpp:2663-2674, source Src/GameLoader.cpp:601-611, Src/GameLoader.cpp:1066-1069, source Src/OSD/Windows/FileSystemPath.cpp:28-32" - name: p1crosshair.bmp path: "Assets/p1crosshair.bmp" @@ -94,7 +105,7 @@ files: bundled: true description: "Player 1 light gun crosshair texture" note: "Both bitmaps are read on every launch whatever CrosshairStyle holds, since the load runs before the style decides anything, and a null surface aborts startup ahead of the Model 3 object. 32 bit BMP with alpha, sides a multiple of 2." - source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:34-51, source Src/OSD/SDL/Main.cpp:2563-2569, source Assets/DIR.txt" + source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:34-51, source Src/OSD/SDL/Main.cpp:2723-2729, source Assets/DIR.txt" - name: p2crosshair.bmp path: "Assets/p2crosshair.bmp" @@ -103,12 +114,42 @@ files: bundled: true description: "Player 2 light gun crosshair texture" note: "Read in the same call as the player 1 bitmap and equally fatal when it fails to load." - source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:35, 49-51, source Src/OSD/SDL/Main.cpp:2563-2569" + source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:35, 49-51, source Src/OSD/SDL/Main.cpp:2723-2729" - name: Music.xml path: "Config/Music.xml" required: false bundled: true description: "Custom MPEG music track map" - note: "Consulted only for a game with a DSB1 or DSB2 board, and skipped when the file is absent. Maps an MPEG ROM offset to an MP3 the user supplies. Shipped in the v0.3a-20260528-git-77d28ee archives and absent from dojo-preview6." - source_ref: "source Src/OSD/SDL/Main.cpp:118, 967, source Src/Sound/MPEG/MpegAudio.cpp:88-108" + note: "Consulted only for a game with a DSB1 or DSB2 board, and skipped when the file is absent. Maps an MPEG ROM offset to an MP3 the user supplies. Shipped in the v0.3a-20261022-git-d409fe7 archives, the Windows zip with CRLF line endings (sha1 4c556c3a848ef61205a53a9a73ba5e46970d445f)." + source_ref: "source Src/OSD/SDL/Main.cpp:127, Src/OSD/SDL/Main.cpp:989, source Src/Sound/MPEG/MpegAudio.cpp:88-108" + + - name: "pro1000.zip" + required: true + category: bios_zip + system: real3d-pro1000 + description: "Real3D Pro-1000 firmware set (SDK flash update, loop code 5.4, INIT ROM 54)" + note: "Loaded as the content of the pro1000 machine, the set picked by the CRC32 of its members. Required to run the Pro-1000 only, Model 3 games never read it." + source_ref: "source Config/Games.xml:1404-1428, source Src/Pro1000/Pro1000.cpp:2128-2142, source Src/GameLoader.cpp:1029-1043" + contents: + - name: "p1_p4.bin" + description: "Flash parts 1 and 4, boot stub and loop code, loaded at 0xFFF00000" + crc32: "6026a0db" + - name: "p2.bin" + description: "Flash part 2, INIT ROM, loaded at 0xFFF80000" + crc32: "945bbcf5" + + - name: "3dlogo.cmem" + path: "Assets/3dlogo.cmem" + required: false + system: real3d-pro1000 + description: "Pro-1000 SDK logo model, culling data" + note: "Read with 3dlogo.pmem into the synthetic SCSI ROM when the set has no scsi_rom region. Both files or neither, one alone is rejected with an error. The .pmem size must equal the polygon word count in the .cmem header, so both come from one model. The machine boots without them." + source_ref: "source Src/Pro1000/SyntheticSCSIROM.cpp:102-127, source Src/Pro1000/SyntheticSCSIROM.cpp:159-163, source Src/Pro1000/SyntheticSCSIROM.cpp:232" + + - name: "3dlogo.pmem" + path: "Assets/3dlogo.pmem" + required: false + system: real3d-pro1000 + description: "Pro-1000 SDK logo model, polygon data" + source_ref: "source Src/Pro1000/SyntheticSCSIROM.cpp:104-106, source Src/Pro1000/SyntheticSCSIROM.cpp:119-127, source Src/Pro1000/SyntheticSCSIROM.cpp:159-163" diff --git a/emulators/supermodel.yml b/emulators/supermodel.yml index 1e84817a..73269f4d 100644 --- a/emulators/supermodel.yml +++ b/emulators/supermodel.yml @@ -7,9 +7,9 @@ source: upstream: "https://github.com/trzy/Supermodel" profiled_date: "2026-09-17" source_commit: - standalone: "8b4de239bf3e0fd921f4383edcd3c21c2e62067b" + standalone: "32c29b036fc18310e2e6b63370d89c7ee6d790d1" libretro: "84bc106b45b279bf868a53b9232897c8dc10ca17" -upstream_commit: "8b4de239bf3e0fd921f4383edcd3c21c2e62067b" +upstream_commit: "32c29b036fc18310e2e6b63370d89c7ee6d790d1" core_version: standalone: "0.3a-WIP" libretro: "v0.3a-libretro" @@ -49,9 +49,17 @@ notes: | config homes. Supermodel.ini is written from a compiled-in default when it is absent and rewritten after interactive input configuration. NVRAM/.nv and Saves/.st are written by the emulator itself. - ref: Src/OSD/Windows/FileSystemPath.cpp:28-49, Src/OSD/OSX/FileSystemPath.cpp:28-48, - Src/OSD/Unix/FileSystemPath.cpp:51-157, Src/OSD/SDL/Main.cpp:1394-1413, - Src/OSD/SDL/Main.cpp:1445, Src/OSD/SDL/Main.cpp:2233 + ref: Src/OSD/Windows/FileSystemPath.cpp:28-51, Src/OSD/OSX/FileSystemPath.cpp:28-50, + Src/OSD/Unix/FileSystemPath.cpp:51-160, Src/OSD/SDL/Main.cpp:1407-1426, + Src/OSD/SDL/Main.cpp:1458, Src/OSD/SDL/Main.cpp:2274 + + The standalone also emulates the Real3D Pro-1000. Games.xml declares it as + the set pro1000 with platform Real3D Pro-1000, and its firmware (p1_p4.bin, + p2.bin) is a ROM set loaded like any game, not a system file. Programs for + the Pro-1000 reach the emulated board through wnaspi32.dll, which the + project builds for the folder of those programs and Supermodel never opens. + ref: Config/Games.xml:1404-1428, Src/GameLoader.cpp:252-296, + Src/OSD/Windows/wnaspi32/wnaspi32.cpp:3-15 Libretro: retro_init joins "supermodel" to the frontend system directory and the core creates that directory through the VFS. Supermodel.ini, Games.xml and @@ -89,12 +97,12 @@ files: mode: standalone required: true bundled: true - size: 151626 - sha1: "6871a47de90ca67f9ff8e4e280416851a8164563" - md5: "0c7cfc0cba2f2cd674d94e093936f9f8" + size: 152634 + sha1: "bb937d4841ae039d9d5f16b33bf5ba0382e41081" + md5: "41d8329d3b798f3ec2a9b29d9ad77e97" description: "ROM set definitions" - note: "Parsed at startup into the game database (Src/GameLoader.cpp:549-559, 1014-1017). Every ROM region, file name and CRC32 the loader matches against comes from here, so an unreadable file leaves no set to resolve and the launch returns before the emulator is built. The path is a config key, so -game-xml-file moves it. Nothing about the file is verified beyond parsing. The hash is that of the copy the pinned revision ships." - source_ref: "Src/OSD/SDL/Main.cpp:117, Src/OSD/SDL/Main.cpp:1500, Src/OSD/SDL/Main.cpp:1957, Src/OSD/SDL/Main.cpp:2319-2329" + note: "Parsed at startup into the game database. Every ROM region, file name and CRC32 the loader matches against comes from here, so an unreadable file leaves no set to resolve and the launch returns before the emulator is built. The path is a config key, so -game-xml-file moves it. Nothing about the file is verified beyond parsing. The hash is that of the copy the pinned revision ships." + source_ref: "Src/OSD/SDL/Main.cpp:122, 1519, 1996, 2360-2370, Src/GameLoader.cpp:601-611, 1066-1069" - name: Games.xml path: "supermodel/Games.xml" @@ -110,8 +118,8 @@ files: - "2d16307ceb658636a05d34c7ba935b48" - "29fd5bc40cea222e040c1a1cfd60ea2e" description: "ROM set definitions, libretro copy" - note: "Read through the VFS from {system}/supermodel/Games.xml, or Config/Games.xml under it, and parsed from memory (Src/GameLoader.cpp:1019-1030). When neither path holds a file the core writes its embedded copy to supermodel/Games.xml at startup, and when the read still yields nothing the compiled-in bytes are parsed instead, so the core identifies every set without a file supplied, but a file that is present takes precedence. The second hash is the embedded array, which predates the indentation cleanup of the repository copy by one tab." - source_ref: "Src/OSD/libretro/LibretroWrapper.cpp:187-206, Src/OSD/libretro/LibretroWrapper.cpp:221-222, Src/OSD/libretro/LibretroWrapper.cpp:822, Src/OSD/libretro/LibretroWrapper.cpp:834-859, Makefile:651-653" + note: "Read through the VFS from {system}/supermodel/Games.xml, or Config/Games.xml under it, and parsed from memory. When neither path holds a file the core writes its embedded copy to supermodel/Games.xml at startup, and when the read still yields nothing the compiled-in bytes are parsed instead, so the core identifies every set without a file supplied, but a file that is present takes precedence. The second hash is the embedded array, which predates the indentation cleanup of the repository copy by one tab." + source_ref: "Src/OSD/libretro/LibretroWrapper.cpp:187-206, Src/OSD/libretro/LibretroWrapper.cpp:221-222, Src/OSD/libretro/LibretroWrapper.cpp:822, Src/OSD/libretro/LibretroWrapper.cpp:834-859, Src/GameLoader.cpp:1019-1030, Makefile:651-653" - name: Supermodel.ini path: "supermodel/Supermodel.ini" @@ -136,7 +144,7 @@ files: bundled: true description: "Player 1 light gun crosshair texture" note: "Both bitmaps are read on every launch whatever CrosshairStyle holds, since the load runs before the style decides anything, and a null surface aborts startup ahead of the Model 3 object. 32 bit BMP with alpha, sides a multiple of 2. The libretro build opens the same two files from the Assets directory of the standalone layout, outside the frontend directories, but forces the vector style and never draws them, and its repository does not ship them." - source_ref: "Src/OSD/SDL/Crosshair.cpp:34-51, Src/OSD/SDL/Main.cpp:2372-2378, Assets/DIR.txt, Src/OSD/libretro/libretroCrosshair.cpp:36-60, Src/OSD/libretro/LibretroWrapper.cpp:465-471, Src/OSD/libretro/LibretroConfigProvider.h:361" + source_ref: "Src/OSD/SDL/Crosshair.cpp:34-51, Src/OSD/SDL/Main.cpp:2415-2421, Assets/DIR.txt, Src/OSD/libretro/libretroCrosshair.cpp:36-60, Src/OSD/libretro/LibretroWrapper.cpp:465-471, Src/OSD/libretro/LibretroConfigProvider.h:361" - name: p2crosshair.bmp standalone_path: "Assets/p2crosshair.bmp" @@ -148,7 +156,7 @@ files: bundled: true description: "Player 2 light gun crosshair texture" note: "Read in the same call as the player 1 bitmap and equally fatal when it fails to load." - source_ref: "Src/OSD/SDL/Crosshair.cpp:35, 49-51, Src/OSD/SDL/Main.cpp:2372-2378, Src/OSD/libretro/libretroCrosshair.cpp:39, 55-58" + source_ref: "Src/OSD/SDL/Crosshair.cpp:35, 49-51, Src/OSD/SDL/Main.cpp:2415-2421, Src/OSD/libretro/libretroCrosshair.cpp:39, 55-58" - name: Music.xml not_bundled_on: [batocera, emudeck, recalbox] @@ -161,7 +169,7 @@ files: md5: "ddb4e23db15dda67539eee24de23de4b" description: "Custom MPEG music track map" note: "Consulted only for a game with a DSB1 or DSB2 board, and skipped when the file is absent. Maps an MPEG ROM offset to an MP3 the user supplies. The shipped file is a commented example, carried in Config of the release archives." - source_ref: "Src/OSD/SDL/Main.cpp:118, Src/OSD/SDL/Main.cpp:943, Src/Sound/MPEG/MpegAudio.cpp:88-108" + source_ref: "Src/OSD/SDL/Main.cpp:123, 962, Src/Sound/MPEG/MpegAudio.cpp:88-102" - name: Music.xml path: "supermodel/Music.xml" diff --git a/emulators/supermodel3.yml b/emulators/supermodel3.yml index e179e9a3..9430888a 100644 --- a/emulators/supermodel3.yml +++ b/emulators/supermodel3.yml @@ -4,10 +4,10 @@ core_classification: enhanced_fork source: "https://github.com/DirtBagXon/model3emu-code-sinden" upstream: "https://github.com/trzy/Supermodel" author: "DirtBagXon" -profiled_date: "2026-10-20" -source_commit: "377d259c59c90c0042278aca58603eb4bd7b03f3" -upstream_commit: "ddbc3066e077e4c99581d2ab7d3452fd1a603723" -core_version: "0.3a-ddbc306-mm DirtBagXon (Sinden)" +profiled_date: "2026-10-23" +source_commit: "44c83af50cb156773fdb0f4af1d8e311b10bf154" +upstream_commit: "32c29b036fc18310e2e6b63370d89c7ee6d790d1" +core_version: "0.3a-32c29b0-mm DirtBagXon (Sinden)" display_name: "Sega - Model 3 (Supermodel, Sinden fork)" verification: existence cores: @@ -18,9 +18,10 @@ systems: notes: | DirtBagXon's Supermodel fork with Sinden light gun support, rebased on - trzy's tree at ddbc306, the revision its version string names. RetroPie builds the main branch on x86 and the arm branch - everywhere else, the arm branch at commit 454ed3f when the system SDL2 is - 2.0.22 or older. The arm branch is a separate, older line (revision + trzy's tree at 32c29b0, the revision its version string names. RetroPie + builds the main branch on x86 and the arm branch everywhere else, the arm + branch at commit 454ed3f when the system SDL2 is 2.0.22 or older. The arm + branch is a separate, older line (revision 6ae0cf2f237586c4a3cc791514ec1b0f3cd4c56c, "0.3a-8c6af68-arm-mm") and is described in its own paragraph below. Entries carry the main branch. ref: Src/Version.h:32 @@ -31,7 +32,7 @@ notes: | relative to the working directory when Config/ exists there, otherwise under ~/.supermodel/ when present, otherwise under the XDG config and data homes. - ref: Src/OSD/Unix/FileSystemPath.cpp:99-157, Src/OSD/SDL/Main.cpp:120-122 + ref: Src/OSD/Unix/FileSystemPath.cpp:99-157, Src/OSD/SDL/Main.cpp:121-123 ROM sets are MAME format archives described by Games.xml. The game is chosen by the archive's own file name, which must match a game name, and @@ -47,15 +48,15 @@ notes: | update: p1_p4.bin (boot stub and loop code) and p2.bin (INIT ROM). The machine refuses to start without either region. A scsi_rom region is optional, a synthetic image is built when it is absent. - ref: Config/Games.xml:1404-1428, Src/Pro1000/Pro1000.cpp:2114-2146, + ref: Config/Games.xml:1404-1428, Src/Pro1000/Pro1000.cpp:2111-2143, Src/Pro1000/Pro1000.cpp:165-181 Supermodel.ini is optional. It is written from compiled-in defaults when absent. NVRAM/.nv is loaded when present and written on exit. External GLSL shaders are read only when VertexShader or FragmentShader names a file, both default to empty. - ref: Src/OSD/SDL/Main.cpp:1407-1427, Src/OSD/SDL/Main.cpp:2356, - Src/OSD/SDL/Main.cpp:791-822, Src/OSD/SDL/Main.cpp:1545-1546 + ref: Src/OSD/SDL/Main.cpp:1416-1436, Src/OSD/SDL/Main.cpp:2365, + Src/OSD/SDL/Main.cpp:807-838, Src/OSD/SDL/Main.cpp:1554-1555 The arm branch has no Pro-1000 emulation and no path resolution: the paths Config/Supermodel.ini, Config/Games.xml, NVRAM/.nv and @@ -74,8 +75,8 @@ files: sha1: "79fa74742f4b18e250c11c1dea5837fdf57cd54c" md5: "f2f5f09ca0a275696319176b4f41b8d6" description: "ROM set definitions" - note: "Parsed by the GameLoader constructor. Without it no game is defined, the archive name matches nothing and main returns 1. The path is the GameXMLFile key, so -game-xml-file moves it. The hash is that of Config/Games.xml at the pinned revision, 64 sets, which RetroPie copies on every install. Shipped in the 377d259 Linux, macOS and Windows release archives." - source_ref: "upstream Src/OSD/SDL/Main.cpp:121, source Src/OSD/SDL/Main.cpp:1534, source Src/OSD/SDL/Main.cpp:2444-2449, source Src/GameLoader.cpp:601-610, source Src/GameLoader.cpp:1066-1071, source Src/GameLoader.cpp:1111-1113" + note: "Parsed by the GameLoader constructor. Without it no game is defined, the archive name matches nothing and main returns 1. The path is the GameXMLFile key, so -game-xml-file moves it. The hash is that of Config/Games.xml at the pinned revision, 64 sets, which RetroPie copies on every install. Shipped in the 44c83af Linux, macOS and Windows release archives." + source_ref: "upstream Src/OSD/SDL/Main.cpp:122, source Src/OSD/SDL/Main.cpp:1543, source Src/OSD/SDL/Main.cpp:2453-2458, source Src/GameLoader.cpp:601-610, source Src/GameLoader.cpp:1066-1071, source Src/GameLoader.cpp:1111-1113" - name: "p1crosshair.bmp" path: "Assets/p1crosshair.bmp" @@ -86,7 +87,7 @@ files: md5: "9012018f50f707c1707009346eb5d18b" description: "Player 1 light gun crosshair texture" note: "Both bitmaps are loaded whatever CrosshairStyle holds, and a failed load aborts startup before the machine is created." - source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:34-51, source Src/OSD/SDL/Main.cpp:2499-2506" + source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:34-51, source Src/OSD/SDL/Main.cpp:2509-2516" - name: "p2crosshair.bmp" path: "Assets/p2crosshair.bmp" @@ -96,7 +97,7 @@ files: sha1: "13c5e692c7acf2ec8243ac421d58fdf69c6c2370" md5: "866dbf59a0e2d849de2365e1c953cc97" description: "Player 2 light gun crosshair texture" - note: "Read in the same call as the player 1 bitmap and equally fatal when it fails to load. Both bitmaps are shipped in the 377d259 release archives." + note: "Read in the same call as the player 1 bitmap and equally fatal when it fails to load. Both bitmaps are shipped in the 44c83af release archives." source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:35, source Src/OSD/SDL/Crosshair.cpp:48-51" - name: "Music.xml" @@ -107,8 +108,8 @@ files: sha1: "b44ed959fe2948a03d81b98e67ca32f2b4c37e78" md5: "ddb4e23db15dda67539eee24de23de4b" description: "Custom MPEG music track map" - note: "Consulted only for a game with a DSB1 or DSB2 board, and skipped when absent. RetroPie does not copy it. Shipped in the 377d259 release archives, the Windows zip with CRLF line endings (sha1 4c556c3a848ef61205a53a9a73ba5e46970d445f)." - source_ref: "upstream Src/OSD/SDL/Main.cpp:122, source Src/OSD/SDL/Main.cpp:947, source Src/Sound/MPEG/MpegAudio.cpp:88-102" + note: "Consulted only for a game with a DSB1 or DSB2 board, and skipped when absent. RetroPie does not copy it. Shipped in the 44c83af release archives, the Windows zip with CRLF line endings (sha1 4c556c3a848ef61205a53a9a73ba5e46970d445f)." + source_ref: "upstream Src/OSD/SDL/Main.cpp:123, source Src/OSD/SDL/Main.cpp:963, source Src/Sound/MPEG/MpegAudio.cpp:88-102" - name: "pro1000.zip" required: true @@ -116,7 +117,7 @@ files: system: real3d-pro1000 description: "Real3D Pro-1000 firmware set (SDK flash update, loop code 5.4, INIT ROM 54)" note: "Loaded as the content of the pro1000 machine, named after the set. Required to run the Pro-1000 only, Model 3 games never read it." - source_ref: "upstream Config/Games.xml:1404-1428, source Src/Pro1000/Pro1000.cpp:2114-2125, source Src/GameLoader.cpp:1066-1071" + source_ref: "upstream Config/Games.xml:1404-1428, source Src/Pro1000/Pro1000.cpp:2111-2122, source Src/GameLoader.cpp:1066-1071" contents: - name: "p1_p4.bin" description: "Flash parts 1 and 4, boot stub and loop code, loaded at 0xFFF00000" diff --git a/emulators/supertux.yml b/emulators/supertux.yml index 6b70d03d..eb42c76d 100644 --- a/emulators/supertux.yml +++ b/emulators/supertux.yml @@ -4,6 +4,7 @@ core_classification: game_engine source: "https://github.com/SuperTux/supertux" profiled_date: "2026-10-22" source_commit: "37cddf24a4abfdec7931a84afd9e87fb8ea18767" +pin_frozen: "EmuELEC, the only platform that ships it, builds this revision, v0.6.3 (EmuELEC packages/sx05re/emuelec-ports/supertux/package.mk:5). Later commits are not part of that build." core_version: "0.6.3-1020-g37cddf24a" display_name: "SuperTux (supertux2)" cores: diff --git a/emulators/supertuxkart.yml b/emulators/supertuxkart.yml index 1c58b5d2..5701311e 100644 --- a/emulators/supertuxkart.yml +++ b/emulators/supertuxkart.yml @@ -4,6 +4,7 @@ core_classification: game_engine source: "https://github.com/supertuxkart/stk-code" profiled_date: "2026-10-22" source_commit: "fab79150111944c9e33396db68eb5de84f2efeaa" +pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/supertuxkart/package.mk:5). Later commits are not part of that build." core_version: "git" display_name: "SuperTuxKart" cores: diff --git a/emulators/swanstation.yml b/emulators/swanstation.yml index 9ae4477c..11e51bd4 100644 --- a/emulators/swanstation.yml +++ b/emulators/swanstation.yml @@ -4,7 +4,8 @@ core_classification: community_fork source: "https://github.com/libretro/swanstation" upstream: "https://github.com/stenzek/duckstation" profiled_date: "2026-03-25" -source_commit: "b6c30a7b270a3f68ac41f268eafdfa678d17dea2" +source_commit: "cc94ebcd38a88a0e90788d7c8bcd764a009a5fa0" +upstream_commit: "938c6d2a03e523d0e4275aa753f289a987bcb016" core_version: "v0.1" display_name: "Sony - PlayStation (SwanStation)" cores: [swanstation] diff --git a/emulators/teknoparrot.yml b/emulators/teknoparrot.yml index 442a6ff4..7403d1a5 100644 --- a/emulators/teknoparrot.yml +++ b/emulators/teknoparrot.yml @@ -5,7 +5,7 @@ source: "https://github.com/teknogods/TeknoParrotUI" upstream: closed-source author: "TeknoGods" profiled_date: "2026-10-20" -source_commit: "7ffcdf1c003ff322f2d8db659ab6fd7c4f982ade" +source_commit: "b75872addc1d5cce81a62f4c1468eab59e2d3cbe" core_version: "TeknoParrotUI 7ffcdf1" display_name: "Arcade - PC-based and Sega/Namco boards (TeknoParrot)" cores: diff --git a/emulators/thextech.yml b/emulators/thextech.yml index 0e87877f..816c6ef7 100644 --- a/emulators/thextech.yml +++ b/emulators/thextech.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/TheXTech/TheXTech" upstream: "https://github.com/TheXTech/TheXTech" profiled_date: "2026-10-04" -source_commit: "a72915cd9a2c811f2388423775f20d75bb2107bd" +source_commit: "3ad66cb1896ea9f255e8104862e4e17c2e8a8ded" display_name: "TheXTech" cores: [] systems: [smbx] @@ -110,7 +110,7 @@ files: category: game_data path: "TheXTech/graphics/" required: true - source_ref: "src/main/asset_pack.cpp:274, 326-327, src/gfx.cpp:121-229, src/load_gfx.cpp:120-123" + source_ref: "src/main/asset_pack.cpp:274, 326-327, src/gfx.cpp:121-229, src/load_gfx.cpp:117-120" note: "graphics/ui/ must exist for a directory to be scanned as a pack, and GFX_t::load rejects the pack when a required UI image is missing." - name: "fonts/" @@ -163,7 +163,7 @@ files: category: game_data path: "TheXTech/editor.ini" required: false - source_ref: "src/editor/editor_custom.cpp:962, 979, src/main/translate.cpp:888" + source_ref: "src/editor/editor_custom.cpp:969, src/editor/editor_custom.cpp:986, src/main/translate.cpp:889" note: "Item lists of the built-in editor, read when the translation table is built." - name: "intro.lvlx" @@ -179,7 +179,7 @@ files: category: game_data path: "TheXTech/introset/" required: false - source_ref: "src/game_main.cpp:194-222, 247, src/main/level_file.cpp:321-339" + source_ref: "src/game_main.cpp:194-222, 247, src/main/level_file.cpp:314-332" note: "Directory of .lvl/.lvlx intro levels. One is picked at random when present, otherwise the root intro level is opened. The Adventures of Demo pack carries none, and these 19 levels come from the introset/ of the Nostalgic Paradise pack (Blue Edition 0.2.8b, nostalgic-paradise-stable.7z). A level reads custom graphics from introset/ and from the subfolder named after it (07/, 08/, 10/), and every other block, BGO, NPC and background ID they use is present in the Adventures of Demo graphics." - name: "outro.lvlx" diff --git a/emulators/tr1x.yml b/emulators/tr1x.yml index 4d4ac773..af11f8bc 100644 --- a/emulators/tr1x.yml +++ b/emulators/tr1x.yml @@ -4,8 +4,8 @@ type: standalone core_classification: game_engine source: "https://github.com/LostArtefacts/TRX" upstream: "https://github.com/LostArtefacts/TRX" -source_commit: "c43c1cc875277324dff44a9e57e4fdd58fd3fb4c" -upstream_commit: "c43c1cc875277324dff44a9e57e4fdd58fd3fb4c" +source_commit: "3d39911a1b839c753b6efad236db67d9fb2b273e" +upstream_commit: "3d39911a1b839c753b6efad236db67d9fb2b273e" profiled_date: "2026-10-04" cores: [] systems: @@ -30,9 +30,11 @@ notes: | The retail Core/Eidos cutscenes are .rpl. The gameflow still names them .avi, resolution picks whichever extension exists. - Music backend (src/trx/game/music/backend_files.c:25-49): + Music backend (src/trx/game/music/backend_files.c:33-36, 108-134): extensions .flac .ogg .mp3 .wav .wma file name trackNN. (two-digit) or N. + each name is tried in music// for the audio language, + then in music/ (src/trx/game/locale/chain.h:15-21) Retail TR1 CD rips yield track02..track60. TR1 keeps every sample inlined in the .phd level files, so no @@ -46,19 +48,19 @@ files: unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:38" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:39" - name: "gym.phd" path: "games/tr1/levels/gym.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:59" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:61" - name: "level1.phd" path: "games/tr1/levels/level1.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:95" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:99" note: "Caves" - name: "level2.phd" @@ -66,126 +68,126 @@ files: unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:116" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:120" note: "City of Vilcabamba" - name: "level3a.phd" path: "games/tr1/levels/level3a.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:134" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:139" note: "Lost Valley" - name: "level3b.phd" path: "games/tr1/levels/level3b.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:153" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:159" note: "Tomb of Qualopec" - name: "level4.phd" path: "games/tr1/levels/level4.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:173" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:180" note: "St. Francis' Folly" - name: "level5.phd" path: "games/tr1/levels/level5.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:194" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:202" note: "Colosseum" - name: "level6.phd" path: "games/tr1/levels/level6.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:214" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:223" note: "Palace Midas" - name: "level7a.phd" path: "games/tr1/levels/level7a.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:232" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:242" note: "The Cistern" - name: "level7b.phd" path: "games/tr1/levels/level7b.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:252" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:263" note: "Tomb of Tihocan" - name: "level8a.phd" path: "games/tr1/levels/level8a.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:278" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:290" note: "City of Khamoon" - name: "level8b.phd" path: "games/tr1/levels/level8b.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:300" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:313" note: "Obelisk of Khamoon" - name: "level8c.phd" path: "games/tr1/levels/level8c.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:321" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:335" note: "Sanctuary of the Scion" - name: "level10a.phd" path: "games/tr1/levels/level10a.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:343" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:358" note: "Natla's Mines" - name: "level10b.phd" path: "games/tr1/levels/level10b.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:376" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:392" note: "Atlantis" - name: "level10c.phd" path: "games/tr1/levels/level10c.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:401" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:418" note: "The Great Pyramid" - name: "cut1.phd" path: "games/tr1/levels/cut1.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:490" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:508" note: "Cutscene level 1 (after Qualopec)" - name: "cut2.phd" path: "games/tr1/levels/cut2.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:511" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:531" note: "Cutscene level 2 (after Tihocan)" - name: "cut3.phd" path: "games/tr1/levels/cut3.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:531" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:552" note: "Cutscene level 3 (Khamoon ambush)" - name: "cut4.phd" path: "games/tr1/levels/cut4.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:552" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:575" note: "Cutscene level 4 (Natla's mines)" # FMV cutscenes @@ -197,7 +199,7 @@ files: path: "games/tr1/fmv/core.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:576" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:601" note: "Core Design legal screen." - name: "escape.avi" @@ -205,7 +207,7 @@ files: path: "games/tr1/fmv/escape.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:577" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:602" note: "Eidos legal screen." - name: "cafe.avi" @@ -213,7 +215,7 @@ files: path: "games/tr1/fmv/cafe.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:578" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:603" note: "Intro cutscene." - name: "mansion.avi" @@ -221,56 +223,56 @@ files: path: "games/tr1/fmv/mansion.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:579" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:604" - name: "snow.avi" aliases: [snow.rpl] path: "games/tr1/fmv/snow.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:580" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:605" - name: "lift.avi" aliases: [lift.rpl] path: "games/tr1/fmv/lift.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:581" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:606" - name: "vision.avi" aliases: [vision.rpl] path: "games/tr1/fmv/vision.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:582" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:607" - name: "canyon.avi" aliases: [canyon.rpl] path: "games/tr1/fmv/canyon.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:583" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:608" - name: "pyramid.avi" aliases: [pyramid.rpl] path: "games/tr1/fmv/pyramid.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:584" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:609" - name: "prison.avi" aliases: [prison.rpl] path: "games/tr1/fmv/prison.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:585" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:610" - name: "end.avi" aliases: [end.rpl] path: "games/tr1/fmv/end.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:586" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:611" # Music tracks (retail CD audio, ripped as trackNN.). # Enumerated by the ship tree in docs/trx/INSTALLING.md. @@ -279,355 +281,355 @@ files: path: "games/tr1/music/track02.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track03.flac" path: "games/tr1/music/track03.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track04.flac" path: "games/tr1/music/track04.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track05.flac" path: "games/tr1/music/track05.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track06.flac" path: "games/tr1/music/track06.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track07.flac" path: "games/tr1/music/track07.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track08.flac" path: "games/tr1/music/track08.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track09.flac" path: "games/tr1/music/track09.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track10.flac" path: "games/tr1/music/track10.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track11.flac" path: "games/tr1/music/track11.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track12.flac" path: "games/tr1/music/track12.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track13.flac" path: "games/tr1/music/track13.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track14.flac" path: "games/tr1/music/track14.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track15.flac" path: "games/tr1/music/track15.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track16.flac" path: "games/tr1/music/track16.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track17.flac" path: "games/tr1/music/track17.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track18.flac" path: "games/tr1/music/track18.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track19.flac" path: "games/tr1/music/track19.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track20.flac" path: "games/tr1/music/track20.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track21.flac" path: "games/tr1/music/track21.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track22.flac" path: "games/tr1/music/track22.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track23.flac" path: "games/tr1/music/track23.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track24.flac" path: "games/tr1/music/track24.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track25.flac" path: "games/tr1/music/track25.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track26.flac" path: "games/tr1/music/track26.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track27.flac" path: "games/tr1/music/track27.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track28.flac" path: "games/tr1/music/track28.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track29.flac" path: "games/tr1/music/track29.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track30.flac" path: "games/tr1/music/track30.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track31.flac" path: "games/tr1/music/track31.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track32.flac" path: "games/tr1/music/track32.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track33.flac" path: "games/tr1/music/track33.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track34.flac" path: "games/tr1/music/track34.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track35.flac" path: "games/tr1/music/track35.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track36.flac" path: "games/tr1/music/track36.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track37.flac" path: "games/tr1/music/track37.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track38.flac" path: "games/tr1/music/track38.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track39.flac" path: "games/tr1/music/track39.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track40.flac" path: "games/tr1/music/track40.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track41.flac" path: "games/tr1/music/track41.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track42.flac" path: "games/tr1/music/track42.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track43.flac" path: "games/tr1/music/track43.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track44.flac" path: "games/tr1/music/track44.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track45.flac" path: "games/tr1/music/track45.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track46.flac" path: "games/tr1/music/track46.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track47.flac" path: "games/tr1/music/track47.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track48.flac" path: "games/tr1/music/track48.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track49.flac" path: "games/tr1/music/track49.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track50.flac" path: "games/tr1/music/track50.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track51.flac" path: "games/tr1/music/track51.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track52.flac" path: "games/tr1/music/track52.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track53.flac" path: "games/tr1/music/track53.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track54.flac" path: "games/tr1/music/track54.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track55.flac" path: "games/tr1/music/track55.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track56.flac" path: "games/tr1/music/track56.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track57.flac" path: "games/tr1/music/track57.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track58.flac" path: "games/tr1/music/track58.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track59.flac" path: "games/tr1/music/track59.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" - name: "track60.flac" path: "games/tr1/music/track60.flac" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:43" + source_ref: "src/trx/game/music/backend_files.c:122" # Unfinished Business expansion # Known game tr1-ub, extends tr1 (src/trx/game/shell/mod.c:30-31). @@ -641,28 +643,28 @@ files: path: "games/tr1-ub/levels/egypt.phd" required: false category: game_data - source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:63, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22" + source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:65, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22" note: "Return to Egypt. The installer offers the original edition and a fan-patched edition of the level set." - name: "cat.phd" path: "games/tr1-ub/levels/cat.phd" required: false category: game_data - source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:87, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22" + source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:89, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22" note: "Temple of the Cat. The installer offers the original edition and a fan-patched edition of the level set." - name: "end.phd" path: "games/tr1-ub/levels/end.phd" required: false category: game_data - source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:110, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22" + source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:112, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22" note: "Atlantean Stronghold. The installer offers the original edition and a fan-patched edition of the level set." - name: "end2.phd" path: "games/tr1-ub/levels/end2.phd" required: false category: game_data - source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:132, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22" + source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:134, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22" note: "The Hive. The installer offers the original edition and a fan-patched edition of the level set." # PC demo @@ -678,7 +680,7 @@ files: sha1: "27f7a95739e373d06365fb8b60613885c9d36bd8" md5: "20e22cddfb4b796e58c0a2b9fc8b1268" category: game_data - source_ref: "data/trx/ship/games/tr1-demo-pc/gameflow.json5:38, src/trx/game/game_flow/reader.c:903-909, src/trx/game/paths.c:123-132, tools/download_assets:67, tools/installer/TRX_Installer/InstallComponentFactory.cs:83-87" + source_ref: "data/trx/ship/games/tr1-demo-pc/gameflow.json5:39, src/trx/game/game_flow/reader.c:903-909, src/trx/game/paths.c:123-132, tools/download_assets:67, tools/installer/TRX_Installer/InstallComponentFactory.cs:83-87" note: "Title level of the PC demo. A title level is also looked up in the levels directory of the game it extends, so games/tr1/levels/title.phd is used when this one is absent. Shipped in the TRX 1.11.1 Windows and Linux zips, not in the Batocera TR1X package." - name: "level2.phd" @@ -690,5 +692,5 @@ files: sha1: "f0fc40ca8df563191dda683bae76522f16f0f535" md5: "3c41eefbd43d477991bee10e4568322b" category: game_data - source_ref: "data/trx/ship/games/tr1-demo-pc/gameflow.json5:56, src/trx/game/level/format/format_tr1.c:74-99, 186-191, tools/download_assets:67, tools/installer/TRX_Installer/InstallComponentFactory.cs:83-87" + source_ref: "data/trx/ship/games/tr1-demo-pc/gameflow.json5:58, src/trx/game/level/format/format_tr1.c:74-99, 186-191, tools/download_assets:67, tools/installer/TRX_Installer/InstallComponentFactory.cs:83-87" note: "City of Vilcabamba in the PC demo layout, which stores the palette before the cameras. The demo game does not load without it. Shipped in the TRX 1.11.1 Windows and Linux zips, not in the Batocera TR1X package." diff --git a/emulators/tr2x.yml b/emulators/tr2x.yml index 76c688f5..1b78796f 100644 --- a/emulators/tr2x.yml +++ b/emulators/tr2x.yml @@ -4,9 +4,9 @@ type: standalone core_classification: game_engine source: "https://github.com/LostArtefacts/TRX" upstream: "https://github.com/LostArtefacts/TRX" -source_commit: "c43c1cc875277324dff44a9e57e4fdd58fd3fb4c" -upstream_commit: "c43c1cc875277324dff44a9e57e4fdd58fd3fb4c" -profiled_date: "2026-10-04" +source_commit: "3d39911a1b839c753b6efad236db67d9fb2b273e" +upstream_commit: "3d39911a1b839c753b6efad236db67d9fb2b273e" +profiled_date: "2026-10-23" cores: [] systems: - tomb-raider-2 @@ -28,7 +28,7 @@ notes: | files. main.sfx is TR2's sample bank. The gameflow sets sfx_path to it - (data/trx/ship/games/tr2/gameflow.json5:33) and the level pipeline + (data/trx/ship/games/tr2/gameflow.json5:35) and the level pipeline reads it per level (src/trx/game/level/pipeline.c:179). FMV extension probing (src/trx/game/paths.c:76-79): @@ -36,7 +36,7 @@ notes: | The retail Core/Eidos cutscenes are .rpl. The gameflow still names them .AVI, resolution picks whichever extension exists. - Music backend (src/trx/game/music/backend_files.c:25-49): + Music backend (src/trx/game/music/backend_files.c:33-35, 108-134): extensions .flac .ogg .mp3 .wav .wma file name trackNN. (two-digit) or N. Retail TR2 CD rips yield 2.mp3 through 61.mp3 (bare-number form, @@ -49,7 +49,7 @@ files: unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:33" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:35" note: "Shared sample bank, loaded for every level." # Levels @@ -65,161 +65,161 @@ files: path: "games/tr2/levels/assault.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:54" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:57" note: "Lara's Home / assault course." - name: "wall.tr2" path: "games/tr2/levels/wall.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:84" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:89" note: "The Great Wall" - name: "boat.tr2" path: "games/tr2/levels/boat.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:119" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:125" note: "Venice" - name: "venice.tr2" path: "games/tr2/levels/venice.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:144" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:151" note: "Bartoli's Hideout" - name: "opera.tr2" path: "games/tr2/levels/opera.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:171" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:179" note: "Opera House" - name: "rig.tr2" path: "games/tr2/levels/rig.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:202" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:211" note: "Offshore Rig" - name: "platform.tr2" path: "games/tr2/levels/platform.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:231" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:241" note: "Diving Area" - name: "unwater.tr2" path: "games/tr2/levels/unwater.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:260" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:271" note: "40 Fathoms" - name: "keel.tr2" path: "games/tr2/levels/keel.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:289" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:301" note: "Wreck of the Maria Doria" - name: "living.tr2" path: "games/tr2/levels/living.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:321" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:334" note: "Living Quarters" - name: "deck.tr2" path: "games/tr2/levels/deck.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:351" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:365" note: "The Deck" - name: "skidoo.tr2" path: "games/tr2/levels/skidoo.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:383" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:398" note: "Tibetan Foothills" - name: "monastry.tr2" path: "games/tr2/levels/monastry.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:411" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:427" note: "Barkhang Monastery" - name: "catacomb.tr2" path: "games/tr2/levels/catacomb.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:440" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:457" note: "Catacombs of the Talion" - name: "icecave.tr2" path: "games/tr2/levels/icecave.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:468" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:486" note: "Ice Palace" - name: "emprtomb.tr2" path: "games/tr2/levels/emprtomb.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:496" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:515" note: "Temple of Xian" - name: "floating.tr2" path: "games/tr2/levels/floating.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:526" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:546" note: "Floating Islands" - name: "xian.tr2" path: "games/tr2/levels/xian.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:552" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:573" note: "The Dragon's Lair" - name: "house.tr2" path: "games/tr2/levels/house.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:578" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:600" note: "Home Sweet Home" - name: "cut1.tr2" path: "games/tr2/levels/cut1.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:691" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:714" note: "Cutscene level 1" - name: "cut2.tr2" path: "games/tr2/levels/cut2.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:706" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:729" note: "Cutscene level 2" - name: "cut3.tr2" path: "games/tr2/levels/cut3.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:721" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:744" note: "Cutscene level 3" - name: "cut4.tr2" path: "games/tr2/levels/cut4.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:737" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:761" note: "Cutscene level 4" # FMV cutscenes @@ -231,7 +231,7 @@ files: path: "games/tr2/fmv/logo.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:756" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:781" note: "Eidos legal screen." - name: "ANCIENT.AVI" @@ -239,7 +239,7 @@ files: path: "games/tr2/fmv/ancient.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:757" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:782" note: "Intro cutscene." - name: "MODERN.AVI" @@ -247,42 +247,42 @@ files: path: "games/tr2/fmv/modern.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:758" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:783" - name: "LANDING.AVI" aliases: [landing.rpl] path: "games/tr2/fmv/landing.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:759" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:784" - name: "MS.AVI" aliases: [ms.rpl] path: "games/tr2/fmv/ms.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:760" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:785" - name: "CRASH.AVI" aliases: [crash.rpl] path: "games/tr2/fmv/crash.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:761" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:786" - name: "JEEP.AVI" aliases: [jeep.rpl] path: "games/tr2/fmv/jeep.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:762" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:787" - name: "END.AVI" aliases: [end.rpl] path: "games/tr2/fmv/end.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:763" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:788" # Music tracks (retail CD audio, ripped as N.). # Enumerated by the ship tree in docs/trx/INSTALLING.md (TR2 uses the @@ -291,331 +291,331 @@ files: path: "games/tr2/music/2.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "3.mp3" path: "games/tr2/music/3.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "4.mp3" path: "games/tr2/music/4.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "5.mp3" path: "games/tr2/music/5.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "6.mp3" path: "games/tr2/music/6.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "7.mp3" path: "games/tr2/music/7.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "8.mp3" path: "games/tr2/music/8.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "9.mp3" path: "games/tr2/music/9.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "10.mp3" path: "games/tr2/music/10.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "11.mp3" path: "games/tr2/music/11.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "12.mp3" path: "games/tr2/music/12.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "13.mp3" path: "games/tr2/music/13.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "14.mp3" path: "games/tr2/music/14.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "15.mp3" path: "games/tr2/music/15.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "16.mp3" path: "games/tr2/music/16.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "17.mp3" path: "games/tr2/music/17.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "18.mp3" path: "games/tr2/music/18.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "19.mp3" path: "games/tr2/music/19.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "20.mp3" path: "games/tr2/music/20.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "21.mp3" path: "games/tr2/music/21.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "22.mp3" path: "games/tr2/music/22.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "23.mp3" path: "games/tr2/music/23.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "24.mp3" path: "games/tr2/music/24.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "25.mp3" path: "games/tr2/music/25.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "26.mp3" path: "games/tr2/music/26.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "27.mp3" path: "games/tr2/music/27.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "28.mp3" path: "games/tr2/music/28.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "29.mp3" path: "games/tr2/music/29.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "30.mp3" path: "games/tr2/music/30.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "31.mp3" path: "games/tr2/music/31.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "32.mp3" path: "games/tr2/music/32.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "33.mp3" path: "games/tr2/music/33.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "34.mp3" path: "games/tr2/music/34.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "35.mp3" path: "games/tr2/music/35.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "36.mp3" path: "games/tr2/music/36.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "37.mp3" path: "games/tr2/music/37.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "38.mp3" path: "games/tr2/music/38.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "39.mp3" path: "games/tr2/music/39.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "40.mp3" path: "games/tr2/music/40.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "41.mp3" path: "games/tr2/music/41.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "42.mp3" path: "games/tr2/music/42.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "43.mp3" path: "games/tr2/music/43.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "44.mp3" path: "games/tr2/music/44.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "45.mp3" path: "games/tr2/music/45.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "46.mp3" path: "games/tr2/music/46.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "47.mp3" path: "games/tr2/music/47.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "48.mp3" path: "games/tr2/music/48.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "49.mp3" path: "games/tr2/music/49.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "50.mp3" path: "games/tr2/music/50.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "51.mp3" path: "games/tr2/music/51.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "52.mp3" path: "games/tr2/music/52.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "53.mp3" path: "games/tr2/music/53.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "54.mp3" path: "games/tr2/music/54.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "55.mp3" path: "games/tr2/music/55.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "56.mp3" path: "games/tr2/music/56.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "57.mp3" path: "games/tr2/music/57.mp3" @@ -625,32 +625,32 @@ files: sha1: "0873bc661731f6daa8c8a76af4259228b1cbf8ef" md5: "423c7e39256ef8fd82193fefacdb14aa" category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" note: "The one music track the TRX 1.11.1 Windows and Linux zips ship." - name: "58.mp3" path: "games/tr2/music/58.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "59.mp3" path: "games/tr2/music/59.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "60.mp3" path: "games/tr2/music/60.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" - name: "61.mp3" path: "games/tr2/music/61.mp3" required: false category: game_data - source_ref: "src/trx/game/music/backend_files.c:48" + source_ref: "src/trx/game/music/backend_files.c:128" # The Golden Mask expansion # Known game tr2-gm, extends tr2 (src/trx/game/shell/mod.c:37-38). @@ -671,7 +671,7 @@ files: sha1: "9de9423b6f12875b8d02dd783d5c1547f15e36fc" md5: "b9045310d16b80638970978a9ce8489e" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:34, src/trx/game/game_flow/reader.c:198-219, src/trx/game/paths.c:203-212, tools/download_assets:71, tools/installer/TRX_Installer/InstallMappings.cs:35-40" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:35, src/trx/game/game_flow/reader.c:198-219, src/trx/game/paths.c:203-212, tools/download_assets:71, tools/installer/TRX_Installer/InstallMappings.cs:35-40" note: "Sample bank of the expansion. main_gm.sfx is tried first, each name in the expansion directory then in games/tr2." - name: "title.tr2" @@ -694,7 +694,7 @@ files: sha1: "8d8109c1afbb2b443c1c1f57add4676f17b5dc84" md5: "04ad2f33e48081a6b27a7f0ebf90968d" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:56" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:58" note: "The Cold War" - name: "level2.tr2" @@ -705,7 +705,7 @@ files: sha1: "6c9417d3b03cc2fd9fac62cea0910d9ef107ee1b" md5: "d9b53b88dd70eec1e4b31182f3286bf5" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:88" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:90" note: "Fool's Gold" - name: "level3.tr2" @@ -716,7 +716,7 @@ files: sha1: "e92f045520d6e0aaec2c42dd2c28d34a0677df70" md5: "ca4294e3bd8835ebf06e114b479a22c2" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:113" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:115" note: "Furnace of the Gods" - name: "level4.tr2" @@ -727,7 +727,7 @@ files: sha1: "83ffcd559e656186bc807e1040485f72956dbc00" md5: "63ff8be5c7abf37d7065456afeda029f" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:138" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:140" note: "Kingdom" - name: "level5.tr2" @@ -738,5 +738,5 @@ files: sha1: "4508d23e8475ef6afd7a1756763dd606f23c15a9" md5: "88c8124b6d152b9f3fe1c4eeec4428a5" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:175" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:177" note: "Nightmare in Vegas" diff --git a/emulators/tyrquake.yml b/emulators/tyrquake.yml index 66c5add0..11f05a77 100644 --- a/emulators/tyrquake.yml +++ b/emulators/tyrquake.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/libretro/tyrquake" upstream: "http://disenchant.net/tyrquake/" profiled_date: "2026-03-25" -source_commit: "e57bb11597e8a00380f30f2627d219da960cf69a" +source_commit: "67db338ff4d27fdbcead61d4e54938d758ae62cb" core_version: "v0.62" display_name: "Quake (TyrQuake)" cores: [tyrquake] diff --git a/emulators/uae4all.yml b/emulators/uae4all.yml index 77bc3c7d..dc5adad6 100644 --- a/emulators/uae4all.yml +++ b/emulators/uae4all.yml @@ -15,10 +15,12 @@ verification: existence notes: | UAE4All2 is Lubomyr's Android and Pandora Amiga emulator. RetroPie builds - its own branch (retropie) with Makefile.pi, which defines GP2X, PANDORA, - RASPBERRY and USE_GUICHAN but not ANDROIDSDL (Makefile.pi:31-34, 109). The - Amiga Forever lookup under com.cloanto.amigaforever.essentials is therefore - compiled out. AndroidAppSettings.cfg:178 names the version 2.3.6.2. + its own branch (retropie), forked from lubomyr's master at 0f919a3 + (upstream_commit, their merge base), with Makefile.pi, which defines GP2X, + PANDORA, RASPBERRY and USE_GUICHAN but not ANDROIDSDL + (Makefile.pi:31-34, 109). The Amiga Forever lookup under + com.cloanto.amigaforever.essentials is therefore compiled out. + AndroidAppSettings.cfg:178 names the version 2.3.6.2. The emulator runs from its install directory and takes it as launchDir (src/main.cpp:219). Kickstarts are read from launchDir/kickstarts/, which diff --git a/emulators/uzem.yml b/emulators/uzem.yml index 3edf0c94..6d40307a 100644 --- a/emulators/uzem.yml +++ b/emulators/uzem.yml @@ -4,7 +4,8 @@ core_classification: pure_libretro source: "https://github.com/libretro/libretro-uzem" upstream: "https://github.com/Uzebox/uzebox" profiled_date: "2026-03-25" -source_commit: "cd6004ea143435cfdb6b12e7c6779dab499f7829" +source_commit: "d991ee94547c8294abc1c4cb73d63116aa58b5bc" +upstream_commit: "83ad0dd9e7f73dcfa988626dda48ffd12d8077a6" core_version: "v2.0" display_name: "Uzebox (Uzem)" cores: @@ -23,7 +24,7 @@ systems: # EEPROM is handled via RETRO_MEMORY_SAVE_RAM (uzem_libretro.cpp:407-408). # # The standalone uzem supports --boot (PC=0xF000) for bootloader mode -# (uzem.cpp:206) and .hex format loading, neither exposed in the libretro port. +# (oldsrcs/uzem.cpp:206) and .hex format loading, neither exposed in the libretro port. # # The .info file declares no firmware entries (firmware_count absent). diff --git a/emulators/vba_next.yml b/emulators/vba_next.yml index 2553be0d..2e35fbc6 100644 --- a/emulators/vba_next.yml +++ b/emulators/vba_next.yml @@ -3,7 +3,7 @@ type: libretro core_classification: frozen_snapshot source: "https://github.com/libretro/vba-next" upstream: "https://github.com/visualboyadvance-m/visualboyadvance-m" -upstream_commit: "28b5156f21f2127945e0ad7e85f1545635431292" +upstream_commit: "8124d84a655e5261bee5eeb9f43c18630ec58a61" profiled_date: "2026-03-25" source_commit: "788192f215ad0a1413f1625b40ebba3423fa0ade" core_version: "SVN" @@ -29,7 +29,7 @@ notes: | jumps to 0x08000000 (ROM entry), skipping boot animation (src/gba.c:13134-13151). - Upstream VBA-M CPUInit (src/core/gba/gba.cpp:5137-5165) is functionally + Upstream VBA-M CPUInit (src/core/gba/gba.cpp:5152-5180) is functionally identical. No divergences in BIOS handling. files: diff --git a/emulators/vbam.yml b/emulators/vbam.yml index fb579c20..4cc306d2 100644 --- a/emulators/vbam.yml +++ b/emulators/vbam.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/vbam-libretro" upstream: "https://github.com/visualboyadvance-m/visualboyadvance-m" profiled_date: "2026-03-25" source_commit: "115defb3a318258ab84746d45258a1aec19d0b4b" +upstream_commit: "8124d84a655e5261bee5eeb9f43c18630ec58a61" core_version: "2.1.4" display_name: "Nintendo - Game Boy Advance (VBA-M)" cores: diff --git a/emulators/vecx.yml b/emulators/vecx.yml index 03810ecb..c00e7cf7 100644 --- a/emulators/vecx.yml +++ b/emulators/vecx.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/libretro-vecx" upstream: "https://github.com/jhawthorn/vecx" profiled_date: "2026-03-25" -source_commit: "8f671cc9d737f2890c3ce19e177e2984dcae121f" +source_commit: "dccff5402a16d1ea7c112095a8e42632bf149506" core_version: "SVN" display_name: "GCE - Vectrex (vecx)" cores: @@ -22,7 +22,7 @@ notes: | - skip.h - modified BIOS that skips the intro The default build uses STANDARD_BIOS via #define at libretro.c:20. - At load time (retro_load_game, libretro.c:736): + At load time (retro_load_game, libretro.c:737): memcpy(rom, bios_data, bios_data_size); This copies the compiled-in BIOS data into the rom[8192] array (vecx.c:40, mapped at 0xE000-0xFFFF via vecx.c:437-439). diff --git a/emulators/vice.yml b/emulators/vice.yml index 133fc4b6..3c13c4c4 100644 --- a/emulators/vice.yml +++ b/emulators/vice.yml @@ -14,7 +14,7 @@ cores: source: "https://github.com/libretro/vice-libretro" logo: "https://raw.githubusercontent.com/VICE-Team/svn-mirror/main/vice/data/common/vice-logo-black.svg" profiled_date: "2026-03-18" -source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" +source_commit: "6cbc44add8b0a03791b343712dc63dc1edad2675" core_version: "3.9" display_name: "Commodore - C64 (VICE x64, fast)" systems: diff --git a/emulators/vice_x128.yml b/emulators/vice_x128.yml index e4cc0127..c07198f9 100644 --- a/emulators/vice_x128.yml +++ b/emulators/vice_x128.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" +source_commit: "6cbc44add8b0a03791b343712dc63dc1edad2675" core_version: "3.10" display_name: "Commodore - C128 (VICE x128)" cores: [vice_x128, x128] diff --git a/emulators/vice_x64.yml b/emulators/vice_x64.yml index aa69c91c..0cb97f2a 100644 --- a/emulators/vice_x64.yml +++ b/emulators/vice_x64.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" +source_commit: "6cbc44add8b0a03791b343712dc63dc1edad2675" core_version: "3.10" display_name: "Commodore - C64 (VICE x64, fast)" cores: [vice_x64, x64] diff --git a/emulators/vice_x64dtv.yml b/emulators/vice_x64dtv.yml index 6df7689e..b7289af6 100644 --- a/emulators/vice_x64dtv.yml +++ b/emulators/vice_x64dtv.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" +source_commit: "6cbc44add8b0a03791b343712dc63dc1edad2675" core_version: "3.10" display_name: "Commodore - C64DTV (VICE x64dtv)" cores: [vice_x64dtv, x64dtv] diff --git a/emulators/vice_x64sc.yml b/emulators/vice_x64sc.yml index 0beca070..673a159b 100644 --- a/emulators/vice_x64sc.yml +++ b/emulators/vice_x64sc.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" +source_commit: "6cbc44add8b0a03791b343712dc63dc1edad2675" core_version: "3.10" display_name: "Commodore - C64 (VICE x64sc, accurate)" cores: [vice_x64sc, "x64sx"] diff --git a/emulators/vice_xscpu64.yml b/emulators/vice_xscpu64.yml index 51625423..d82077c9 100644 --- a/emulators/vice_xscpu64.yml +++ b/emulators/vice_xscpu64.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" +source_commit: "6cbc44add8b0a03791b343712dc63dc1edad2675" core_version: "3.10" display_name: "Commodore - C64 SuperCPU (VICE xscpu64)" cores: [vice_xscpu64, xscpu64] diff --git a/emulators/vice_xvic.yml b/emulators/vice_xvic.yml index a07ee4aa..5f50b81a 100644 --- a/emulators/vice_xvic.yml +++ b/emulators/vice_xvic.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" +source_commit: "6cbc44add8b0a03791b343712dc63dc1edad2675" core_version: "3.10" display_name: "Commodore - VIC-20 (VICE xvic)" cores: [vice_xvic, xvic] diff --git a/emulators/vircon32.yml b/emulators/vircon32.yml index 4a3bffc5..064a4226 100644 --- a/emulators/vircon32.yml +++ b/emulators/vircon32.yml @@ -4,7 +4,8 @@ core_classification: official_port source: "https://github.com/vircon32/vircon32-libretro" upstream: "https://github.com/vircon32/ComputerSoftware" profiled_date: "2026-03-25" -source_commit: "dd78c5cea1fcaa382b7492d0d813d6c1534914d7" +source_commit: "35a4042b06c30f232edb3f3abb47a10bcd8ec240" +upstream_commit: "ea62bc7caad34f483945eadb114cf7d9c26cf54c" core_version: "2026.2.18" display_name: "Vircon32" cores: @@ -26,7 +27,7 @@ notes: | 2. If found, load it via Console.LoadBiosFile() (external override) 3. If not found, load the embedded BIOS via LoadEmbeddedBios() - This runs inside context_reset() (libretro.cpp:473-474), which is called + This runs inside context_reset() (libretro.cpp:537-538), which is called whenever the OpenGL context is (re)created. The BIOS file format is a V32 ROM with a specific signature diff --git a/emulators/virtualjaguar.yml b/emulators/virtualjaguar.yml index 75383dfc..882118a0 100644 --- a/emulators/virtualjaguar.yml +++ b/emulators/virtualjaguar.yml @@ -4,8 +4,8 @@ core_classification: community_fork source: "https://github.com/libretro/virtualjaguar-libretro" upstream: "http://shamusworld.gotdns.org/git/virtualjaguar" profiled_date: "2026-09-04" -source_commit: "f9a3c89f58836cb2c45a42ad4edfac047050f30a" -core_version: "v2.1.0" +source_commit: "e7db53678b86e2fceb459e26cf09d2fdaaa4d395" +core_version: "v3.10.0" display_name: "Atari - Jaguar (Virtual Jaguar)" cores: - virtualjaguar @@ -13,30 +13,30 @@ systems: - atari-jaguar notes: | - The boot ROMs are still compiled in, generated by bin2c, but the core no - longer only uses them. Staging moved out of retro_load_game into - stage_cart_boot_rom, which reads a file first and falls back to the - embedded array (libretro.c:5339-5382). BT_M_SERIES tries jagboot_m.rom in - the system directory. BT_CUSTOM, a value the enum did not carry before, - searches six names across the system directory and two subdirectories - (libretro.c:5293-5337). Either way the file has to be 0x20000 bytes, the - size copied to jagMemSpace + 0xE00000. Anything shorter is a short read and - the embedded Series K takes over. + The boot ROMs are compiled in, generated by bin2c, and a file in the system + directory can replace them. stage_cart_boot_rom stages the cart boot ROM at + jagMemSpace + 0xE00000 (libretro.c:6105-6180). BT_M_SERIES reads + jagboot_m.rom from the system directory, and a read shorter than 0x20000 + bytes leaves the embedded Model M in place. BT_CUSTOM searches six names + across the system directory and two subdirectories (libretro.c:6059-6103), + takes the first file of exactly 0x20000 bytes, and falls back to the + embedded Series K when none qualifies (libretro.c:6010-6050). - The Jaguar CD BIOS is the larger change. stage_cd_bios calls - load_external_cd_bios, which walks three name groups over five directories - (libretro.c:5049-5158). The group order follows the - virtualjaguar_cd_bios_type option, then generic names, then the other type, - because a lone file of the wrong type still beats the embedded copy: the - user put it there deliberately. A candidate is accepted at exactly 0x40000 - bytes and recognised by CRC32 against two constants - (libretro.c:4964-4965,4971-5048). + stage_cd_bios calls load_external_cd_bios, which walks three name groups + over five directories (libretro.c:5785-5884, 5899-5940). The group order + follows the virtualjaguar_cd_bios_type option, then generic names, then the + other type, so a lone file of the other type still beats the embedded copy. + A candidate must be exactly 0x40000 bytes. Its CRC32 is compared with two + constants, and a file matching neither is still accepted when the run + address at 0x404 lies between 0x800000 and 0x840000 + (libretro.c:5681-5682,5706-5781). - The "BIOS" core option (virtualjaguar_bios, disabled by default) still - controls whether the boot ROM is executed at startup. When enabled, the + The "BIOS (Cartridges)" core option (virtualjaguar_bios, disabled by + default) controls whether the boot ROM runs at startup. When enabled, the boot ROM entry point is copied to jaguarMainRAM - (src/core/jaguar.c:1466-1468). When disabled, jaguarRunAddress is written - directly, skipping the boot animation. + (src/core/jaguar.c:1499-1501). When disabled, jaguarRunAddress is written + directly, skipping the boot animation. GPU-only cartridges turn the boot + ROM on regardless (libretro.c:5968-6002). Nothing here is required: every path falls back to an embedded copy, and a file only replaces it. The embedded arrays are the dumps themselves: @@ -44,9 +44,10 @@ notes: | Series K and Model M, jaguarCDBootROM and jaguarDevCDBootROM to the two values the CD BIOS test accepts (src/bios/jagbios.c, src/bios/jagbios_m.c, src/bios/jagcdbios.c, src/bios/jagdevcdbios.c, src/core/biosdb.c:20-21, - libretro.c:4964-4965). A file changes what runs only under BT_CUSTOM, - where any image of 0x20000 bytes is loaded and an unrecognised checksum - is logged (libretro.c:5245-5284). + libretro.c:5681-5682). A file changes what runs when it is a cart boot ROM + under BT_CUSTOM, where any checksum is loaded and an unrecognised one is + logged (libretro.c:6010-6050), or a CD BIOS revision outside the two + checksums. files: - name: "[BIOS] Atari Jaguar CD (World).j64" @@ -65,14 +66,14 @@ files: - "Jaguar CD BIOS.rom" - "Jaguar CD BIOS.bin" description: "Jaguar CD retail BIOS, replacing the embedded copy" - source_ref: "libretro.c:4964, libretro.c:4971-5048, libretro.c:5049-5158, libretro.c:5159-5175" + source_ref: "libretro.c:5681, libretro.c:5706-5781, libretro.c:5785-5884, libretro.c:5899-5940" note: >- Searched in the system directory and under Atari - Jaguar, Atari - Jaguar CD, jaguar and jaguarcd. Accepted at exactly 262144 - bytes and recognised by its CRC32. A file of the right size whose - checksum matches neither constant is counted as rejected and the - embedded BIOS is used. The generic names are tried after the type the - virtualjaguar_cd_bios_type option selects. + bytes. A file whose CRC32 matches neither constant is still accepted + when its run address at 0x404 lies between 0x800000 and 0x840000, + otherwise it is rejected and the search goes on. The generic names are + tried after the type the virtualjaguar_cd_bios_type option selects. - name: "[BIOS] Atari Jaguar Developer CD (World).j64" system: atari-jaguar @@ -84,7 +85,7 @@ files: - "[BIOS] Atari Jaguar Developer CD (World).rom" - "[BIOS] Atari Jaguar Developer CD (World).bin" description: "Jaguar CD developer BIOS, selected by virtualjaguar_cd_bios_type" - source_ref: "libretro.c:4965, libretro.c:5049-5158" + source_ref: "libretro.c:5682, libretro.c:5706-5781, libretro.c:5785-5884" note: >- Same search and the same size and checksum test as the retail BIOS. Whichever type the option does not select is still tried last. @@ -101,11 +102,12 @@ files: - "[BIOS] Atari Jaguar Stubulator '94 (World).j64" - "[BIOS] Atari Jaguar Stubulator '93 (World).j64" description: "Cart boot ROM read when the BIOS type is set to custom" - source_ref: "libretro.c:5293-5337, libretro.c:5339-5356" + source_ref: "libretro.c:6010-6050, libretro.c:6059-6103, libretro.c:6131-6147" note: >- Reached only through BT_CUSTOM. Searched in the system directory and - under Atari - Jaguar and jaguar. No checksum is tested, and a read shorter - than 131072 bytes leaves the embedded Series K in place. + under Atari - Jaguar and jaguar, name by name. No checksum is tested. A + file that is not exactly 131072 bytes is skipped, and with none left the + embedded Series K is used. - name: jagboot_m.rom system: atari-jaguar @@ -116,7 +118,7 @@ files: md5: "6e844759720226e58d55ecaf33608a13" crc32: "ae25bdf5" description: "Model-M cart boot ROM, read when the BIOS type is Model M" - source_ref: "libretro.c:5358-5380, src/bios/jagbios_m.c:9" + source_ref: "libretro.c:6149-6171, src/bios/jagbios_m.c:9" note: >- Read from the system directory only, as jagboot_m.rom, and only when biosType is BT_M_SERIES. A short read falls back to the embedded @@ -161,7 +163,7 @@ analysis: filedb_name: "[BIOS] Atari Jaguar Developer CD (World)" bios_type_enum: - source_ref: "src/core/settings.h:61" + source_ref: "src/core/settings.h:66" values: - BT_K_SERIES - BT_M_SERIES @@ -174,13 +176,13 @@ analysis: label: "BIOS (Cartridges)" description: "Which BIOS a cartridge boots with: disabled is HLE, enabled runs the boot ROM." default: disabled - source_ref: "libretro_core_options.h:588-600" + source_ref: "libretro_core_options.h:589-601" bios_loading: mechanism: embedded load_address: "0xE00000" load_size: "0x20000" - source_ref: "libretro.c:5339-5383, libretro.c:6332" + source_ref: "libretro.c:6105-6180, libretro.c:7237" selection_logic: "BT_CUSTOM reads a file, BT_M_SERIES tries jagboot_m.rom, otherwise the embedded array" external_loading: true note: | diff --git a/emulators/visual-pinball.yml b/emulators/visual-pinball.yml index f3f9dc11..363b123f 100644 --- a/emulators/visual-pinball.yml +++ b/emulators/visual-pinball.yml @@ -3,8 +3,8 @@ type: standalone core_classification: game_engine source: "https://github.com/vpinball/vpinball" upstream: "https://github.com/vpinball/vpinball" -profiled_date: "2026-10-20" -source_commit: "e4a79a5d58df3d543ffb5360ae8458cfdf4cb7bb" +profiled_date: "2026-10-23" +source_commit: "f912c04bcf727a341524f251b600c6bba8f883d8" core_version: "10.8.1" display_name: "Visual Pinball X" cores: @@ -17,14 +17,14 @@ mode: standalone notes: | Pinball table simulator. The table is the content: .vpx and .vpt files are OLE Compound Documents holding the geometry, textures, sounds and a VBScript - program, read through POLE (src/parts/pintable.cpp:1538-1541), and a .vpz + program, read through POLE (src/parts/pintable.cpp:1550-1553), and a .vpz pack, a zip or a plain folder of JSON part files, is read through the JSON - serializer instead (src/parts/pintable.cpp:1447, + serializer instead (src/parts/pintable.cpp:1459, src/utils/JSONSerializer.cpp:1096-1102). Every build other than the Windows editor compiles the shared source set with __STANDALONE__ and links libwinevbs, Wine's VBScript engine with its COM and ATL headers, beside SDL3, SDL3_ttf, FreeImage, hidapi, libspatialaudio and libmysofa with zlib - (make/CMakeLists_app.txt:535-556,607-617, make/CMakeLists_sources.txt:829-835). + (make/CMakeLists_app.txt:558-579,630-640, make/CMakeLists_sources.txt:829-835). AlphaDMD, AltSound, B2S, DMDUtil, DOF, FlexDMD, HelloScript, HelloWorld, Inspector, Nixie, PinMAME, PUP, RemoteControl, Serum, UpscaleDMD, VNI and WMP are plugins staged in plugins/ next to the binary, ../PlugIns on macOS @@ -56,11 +56,11 @@ notes: | user/ and scripts/ beside it, then the installation folder with user/, scripts/ and tables/ under it, then the preferences folder with user/ and scripts/ under it (src/core/FileLocator.cpp:400-433, - src/core/ScriptGlobalTable.cpp:350-379). The + src/core/ScriptGlobalTable.cpp:354-383). The scripts/ directory the build ships carries the 73 .vbs files tables include by name, core.vbs and controller.vbs beside the per-manufacturer machine scripts (WPC.vbs, sam.vbs, s11.vbs, zac.vbs and the rest), copied from - src/scripts (make/CMakeLists_app.txt:633-637). The Windows editor's + src/scripts (make/CMakeLists_app.txt:656-660). The Windows editor's completion parser asks for core.vbs through the same search without a table, so in the seven installation and preferences locations, and shows a warning box when none holds it (src/ui/win/codeview.cpp:2053-2061, @@ -70,7 +70,7 @@ notes: | folder or the installation folder when SDL reports none, MusicDirectory the table's music folder with an optional subfolder, ScriptsDirectory scripts/ under the installation folder. Each fails when its directory does not exist - (src/core/ScriptGlobalTable.cpp:381-422, src/core/FileLocator.cpp:251-259). + (src/core/ScriptGlobalTable.cpp:385-426, src/core/FileLocator.cpp:251-259). In AppPrefData mode user/, music/, cache// and autosave/ sit beside the table. A folder missing there on a read is looked up the AppOnly way, where user/ hangs off the installation folder, the cache sits under @@ -80,26 +80,26 @@ notes: | The rest of the install tree is read the same way and ships with the binary: assets/ holds BallEnv.exr, AODither.webp and EnvMap.webp, the first two - loaded with no fallback (src/renderer/Renderer.cpp:176-188), - the bumper and kicker textures (src/parts/bumper.cpp:150,162,174,188, + loaded with no fallback (src/renderer/Renderer.cpp:178-190), + the bumper and kicker textures (src/parts/bumper.cpp:150,162,171,186, src/parts/kicker.cpp:200-241), the segment display textures - (src/renderer/Renderer.cpp:1503-1521), TableSizes.csv, the table size + (src/renderer/Renderer.cpp:1640-1658), TableSizes.csv, the table size database (src/core/TableDB.cpp:16), vpinball.png for the window icon (src/renderer/Window.cpp:280), LiberationSans-Regular.ttf, the font textboxes and decals fall back to when neither the table folder, as -