#Philips CD-i
1 messages · Page 6 of 1
(could only allow either the Verilog or emu to access it at one time, though.)
Yeah, I/we did quite a lot on 3DO a while ago, but then the Dreamcast whispered in my ear.
(DC code is quite a bit more recent, so works with Verilator 5.)
The sirens call of the 3DO will lure you back... one day
lol
Is there a target platform with an FPGA big and fast enough to run a dreamcast? Sorry, I'm living under a stone.
Now I want to do a version of that image, but in the style of CD-i Zelda.
Well, that is a bit of a challenge. lol
IIRC, just the PVR thing alone (glorified slideshow viewer) was using about 60% of the FPGA on MiSTer, IIRC.
Yes, the renders are very crusty atm, but keep in mind that the speed-up logic didn't fit the FPGA, and the "core" was only running at 15 MHz. lol
(because I haven't implemented SDRAM burst transfers yet, so had to divide the core clock by 8, so I could do random reads/writes.)
The real PVR2 chip apparently does the triangle visibility check on 32 pixels at once, so a whole tile row.
That's one of the main places they managed to get enough speed benefit to make it work at reasonable frame rates.
Yesterday, I used Claude AI to generate simplified logic for that.
When I tried compiling with my old logic for the 32-pixel thing, Quartus said it would have used 227% of the FPGA, so that clearly was never going to fit.
The "FPS" count in the sim, is only going by the frame time for rendering ONE frame.
And also assumes the (eventual) FPGA design could hit the full 100 MHz.
Without the speed-up logic (checking one tile pixel at a time), it was only getting around 3-4 FPS.
With the speed-up, 15-50 FPS, or more.
Future stuff, like worrying about the RAM bandwidth etc., is kinda secondary to me.
Because I would be fine with designing an FPGA board specifically to run Dreamcast / NAOMI.
Even if that means using 8MB or 16MB of SRAM as VRAM. lol
You are talking about 100 MHz but the DC has 200 MHz. Doesn't it?
I was just about to type that. lol...
Yep, the Cyclone V is never likely to get anywhere close to the 200 MHz needed for the CPU.
And might not even fit the CPU, especially alongside the rest.
But maybe possibly Agilex could reach those faster speeds? I don't know. They won't even give prices on the lower-end Agilex chips yet.
Or, it would mean using a real SH4 CPU on a custom board.
Which again, I'd be fine with doing. It's just - how many people would pay the extra for an FPGA version, vs just using software emus or original hw.
The same board could likely run tons of other FPGA cores, so there is that.
Or, if some uber devs (like yourself 😉 ) teamed together, maybe the SH4 could be written so that it executes more instructions in parallel.
Targeting a larger FPGA, of course.
I'm actually quite noobish. The only reason there was no CD-i core yet is probably, because no one really tried. I'm also no professional in that regard. Are you a full time ASIC FPGA developer?
Then I'm even more stunned at your progress, as you got very far with it already. 😮
No, I'm basically self-taught in electronics, and a bit of coding.
I only got the 3DO and DC stuff this far, through sheer determination, and many months of wasting my life. lol
And quite a lot of help from fixel, skmp, and others.
I've never written a CPU core, put it that way.
Not anything that would be considered "complete".
I tried writing some SuperFX stuff years ago, but then Srg320 wrote his.
Same with the Saturn DSP.
The same for me. It was only stubbornness and unhealthy determination. It takes a lot time to do this but it is still fun.
Only thing I really did for CD-i, is designing the "Hat" board with the chip on.
It's fun sometimes. haha
Hat? What hat board?
I spent SO many months, trying to wrap my brain around the maths for the edge equations and interp stuff for DC.
Finding photos of the hat thing...
It's possible I didn't get the board made. Can't remember. lol
I'm probably thinking of the TMS (NBA Jam, KI) or the Jag DSP one.
What exactly is this? I'm confused, sorry.
I don't think I finished the routing for the SCC hat.
SCC chip thing, on a board that plugs directly into the DE10.
Why whould you do that?
To do a kind of "black box" testing on it, to figure out the basic bus timings etc.
But also so you have a known-good chip to work with, that frees you to work on other parts of the core.
Then, when you have more of that chip done on the core, you could use the hat board to try to compare the signals / timings.
Kind of a divide-and-conquer approach.
Ah, so you eventually wanted to do a CD-i core yourself?
I would understand the hat approach for chips that are badly documented. But the SCC68070 has a very detailed datasheet.
Yeah, I read quite a lot of the PDFs etc. at the time, but as usual got distracted by other projects.
Mostly PCB stuff.
DIY AV receiver, etc.
And, as I say, I'm definitely no uber dev either, so that stuff takes me forever.
I think you are a little bit crazy. 🫣 You seem to do lots of projects in parallel.
Yes, it's one of my big downfalls. lol
Last month, I had a sudden burst of energy, and got about seven PCB projects sent off to JLC at once.
But the boards and parts have been sat on the bench for over six weeks, and I just can't face it. lol
Including a new GD Emu / HDMI board for Dreamcast.
Please take care of yourself and don't burn yourself out.❤️
DIY AVR boards, and the new Dreamcast Too mobo thing.
Which was by FAR the most complex thing I ever attempted.
But now I'm scared to actually build it. lol
If I get one thing wrong, like smudging the solder paste, and creating a short, I won't know if it's my design that's wrong.
always good to see a new dev around here realize the extent of Ash's 6,000 simultaneous projects, haha
lol
Original "stock" DC motherboard proto, to test the base schematic.
Mini N64 thing.
it always starts so innocent too. 'oh you're working on a 3do core!?' and then oh no here it all comes. no hate, I think we all can relate to having too many interesting things going on
I find the amount of your energy inspiring. Do you have a job next to your electronic ramblings? The day has only 24 hours after all 🙂. I usually try to reduce my private projects to only one at a time because my boss is crazy and I already have like 3 at wörk.
During that recent burst of energy, I designed a new GD Emu... in about 8-9 hours. lol
(HDMI output will require a custom flex cable, which I haven't designed yet.)
The GD Emu was based mainly on the code by Marcus Comstedt (Zeldin).
But it had some limitations, mainly the SD access speed, lack of USB etc.
So I immediately started on a new version. It got a bit out-of-hand.
And that's the one I haven't built yet. lol
Using an STM32 in combination with the FPGA, so it can keep the SD slot, but add USB 2.0 High Speed as well.
And a "proper" HDMI chip.
How many liters of coffee do you drink a day? You are scary
Actually, not that much. lol
be sure to sell them on a website where you only announce orders 2 hours in advance
It's just, the occasionally bursts of activity are often followed by a few weeks of burnout, so not great.
Would terrify me to take preorders without having lots of product already built, tested, packed.
Which is why I never did preorders on a rather large project I worked on a few years ago.
cough JAMMIX cough
^ One of the only times I got anything to market. lol
Also some of THE most stressful times of my life, but it was maybe worth it.
Anyway, #oversharing
This sounds like ADHD, I can relate
Yes.
Never officially diagnosed, only Aspie.
But I watched a couple of vids on ADHD recently, and it seemed far closer to what I have.
Hyperfocus on a topic for weeks, which can suddenly disappear completely in an instance
I used to find the Asperger's diagnosis very depressing, for a very long time.
And then I started talking on more retro groups, and realized 90% of us are on the spectrum. LOL
Yes, very much so.
I just wish I could maintain working on ONE main project for a bit longer.
@hardy hedge A coworker of mine would call you a Hummingbird because you flap your wings very fast.
If I didn't have a touch of autism, I wouldn't be good at a lot of my skills
I used to join some Hangouts sessions with retro peeps years ago.
It took them about six months, just to get me to start using my mic instead of typing.
And then they couldn't shut me up. lol
LOL
Well, I do agree it's nice to have skills etc., and I often enjoy designing stuff.
But mainly, it has massively held me back in life.
Like, barely leaving the house all year. Doing about 70 driving lessons since I was 17, but never once took the test.
So I don't drive.
Aside from maybe two festivals a year, I don't really go out.
Yeah, getting over the hurdle to continue something, or getting your focus back can be killing, especially with work.
I mean, just scrolling back at what I just posted, you can imagine how full my brain is with ideas and stress, most of the time. lol
It's exhausting, but I feel like if I don't try some of this stuff, my life is running out.
(others might consider working on this stuff is a waste of life, but oh well.)
Would be nice to actually make a living from PCB design. lol
Yep. Creativity is like a powerful force that has to get out. I have a lot of unfinished projects as well and a number I would love to start on, but am often too tired from my job to work on them. It is a bit frustrating.
I thought about contacting some local PCB places for a job, but then I realized it would probably be designing boards for John Deere tractors, or ice cream machines. 😦
The boring work tasks are very hard to get a focus on. The interesting ones are very hard to stop focusing on 😅
Even ice cream machines need good PCBs :-). Well I see what you mean. Some corporate products just have no soul. This is why the retro scene is so fascinating.
First thing I need to do, is STOP slouching in bed, coding or watching YouTube all day.
It has seriously messed up my neck. Severe tinitus, leg weakness, etc. Not good.
Can't seem to get out of it.
Oof, that does sound rough
It might be half of the problems recently, which I thought were down to low folate / vit B12.
VERY similar symptoms to whiplash injury.
I think you also need to do some sports and get some fresh air.
Unless I'm close to 90% health, I can't bring myself to work on placing components on boards.
I have a local retro computer club and creative coding meetup that are fun to visit. And I'm part of a demoscene group, but that can get a bit similar to work.
Yes, we (my brother, his wife, and I) joined the gym last year.
But we... only went SIX times in total. lol
I did start immediately feeling better, which is no surprise.
Hahaha, I never liked any kind of sports, so that doesn't make it easy
But I did a bit of treadmill on a brisk walk, and my heart rate was around 158 BPM all the way through.
Me neither, this is why I joined a unicycle club
Meanwhile, the woman next to me was doing a full jog, and hers was only around 80 BPM. lol
Nice. Biking is a good option in the Netherlands, you can ride a bike across the whole country, which is pretty insane.
We bought an exercise bike recently. I only used it twice so far. lol
Right, I'm gonna shove this monitor onto a wall bracket. This is silly.
You could watch Youtube on the bike 😅
Yes, the bike is in the Bar now. I’ve managed to drink almost nothing since a festival in August.
And not topped up the bar since about June, so it’s empty.
Not intending to get back into drinking on a regular basis. I wasn’t enjoying much anyway.
Far better to use the exercise bike, whilst watching a mountain trek on YT.
The horror…
One monitor already on the wall, but it's a crappy 1080p.
Will swap for the 4K one, which will force me to use the chair.
Yep, enough hardware projects from the looks of it 😄
Yeah, but I have three benches. lol
Hahaha, nice
Wow, cool workspace
A lot of my retro stuff is more like organized chaos
Gantry thing, helps me place chips onto boards, minimizing smudging of solder paste.
Never did hook up the motors, but having an actual Pick N Place turned out to be overkill.
Yeah, cool, I figured that's what it is, initially it looked like a plotter
Had intentions of trying to make it work as a 3D printer as well, but life is already too short.
3D printers always seemed like a HUGE time vampire to me. lol
Rather just pay a company to print stuff.
You can also go to a local makerspace if you have one.
Plus, you have to know at least some 3D CAD stuff, and I forgot most of that, after messing with 3DS Max, Maya, and Lightwave in a previous life.
Nothing much like that near me, sadly.
They were holding an Amiga meet-up group about 8 years ago... only three people said they were interested, and I was one of them. lol
3D printing does seem like a massive rabbit hole. I already do 3D modeling, but have been able to hold off getting a 3D printer
Right, gonna move these monitors. Catch you later. 😉
Thanks for reading my ramblings.
Nice talking to you again, have a great weekend!
Are we getting a core update today Slamy? Happy CDi Friday
It's been pretty remarkable how far the core has come in what seems like a short amount of time. Testing the early versions and now testing this (still early...but later early) version is almost night and day
My work week was very busy. 😦 During the first half of the week I've prepared something but you all won't really notice the difference. It is only relevant for CD-i homebrew. The driver for the system console was unhappy whenever you were printing to that. But no commercial games actually used that feature. I've only noticed when I developed my own application for the machine.
Yesterday I was working on the audio issues of Zelda's Adventure because I thought It might be more important and relevant than implementing NvRAM saving. In the end it turned out that there is not a single emulator in the world, which does Zelda's Adventure correctly. cdiemu is not booting at all, mame has delay and the MiSTer core has hiccups.
Right now I'm working on the audio attenuation circuit. It's actually quite interesting that no one has noticed that yet. It seems most people here are not that audiophile 😄
Hehehe 🙂
most people don't know what the hardware sounds like anyways!
I think that's probably true.
the Venn Diagram of "People who would like a CD-i core" and "People who have actually played CD-i before", doesn't have much overlap. lol
For me, this would be unexpected. This would mean, having nostalgia for something you have never experienced in the first place. What would their motivation be to play with something like a CD-i core? Hmmm... well ok. It is probably the same as my relation to the Neo Geo core. I always wanted a real one but it is really expensive so one of the intentions of getting a MiSTer was playing NeoGeo because I never had one.
Not a single person has played the core with headphones yet. Because, if they did, they will notice the problem immediately as it hurts your brain.
Speaking for myself, it's the nostalgia of it's legend. Seeing it in gaming magazines, hearing friends talking about uncles having them and having played the zelda game once. 43 year old Fish getting to finally let 12 year old Fish play games we only heard about
Honestly, I think that goes for many of the cores most people play.
As an example, the whole Playstation 1, 2, 3, thing passed me by, I never played on PS2, PS3, PS4.
I played very little of PS1, as I never owned one, but my friend did.
But I was very happy to see a PS1 core finally arrive, and enjoyed some games on that.
In other words, I think having a (good) core on FPGA brings interest from people who wouldn't necessarily play software emulators too often.
Some of the cores I'd like to see done, as they were for machines/boards that I never experienced in-person before.
(and maybe never bothered to try on software emu. lol)
I remember trying the Killer Instinct sw emu many years ago, but it was pretty rough back then, mainly due to my feeble PC.
For the most part, the best MiSTer cores "just work".
No underlying OS and API stuff to slow things down, unless the slowdown was part of the game / hardware in the first place, etc.
(yes, MiSTer has the ARM Linux running, but that's more for handling the higher-level stuff.)
I don't think I ever tried emulating CD-i much, if at all. But I'm definitely looking forward to trying your core very soon.
(a perfect example there, of why I personally dislike using the term "emulation" as a catch-all term for both software emulation and FPGA cores. lol)
never played ps2? bruh
I never really played any of the CPS games on MAME etc. either, until Jotego's core.
some of my most fond memories are on PS2
Then I played games like SF2 quite a lot.
may I recommend God Hand? shadow of the colossus?
All current CD-i emulators suck. My disappointment is immeasurable. The more I dig, the more problems I find with all of them.
Nope, I just always tended to go for different consoles at the time.
N64, Dreamcast, Game Cube, Xbox, etc.
To be fair, even PS1 has aged quite well, because the high frame rates make up for a LOT of the wobbly-ness. lol
Don't think I ever picked up a controller to play PS2 nor PS3, and definitely not PS4/PS5.
I even designed a small PCB, to help people "flash" the PS4, but never tried it myself.
I had two Xbox 360s for a few years, but both had RROD.
Tried the usual reflow etc., and they would eventually fail again after a few weeks/months.
Eventually threw them both out.
Played a bit of Gears of War on 360, and was it Project Gotham Racing?
Bought a faulty PS3 mobo to mess with once, and Xbox Series S mobo. Didn't get either of them running.
Burnout 3 on OG Xbox is where it's at. 😛
Need For Speed: Underpants.
I like to try exotic systems. but without any good exclusive I won't play much on it
360 was an amazing generation, as long as you had a revision that did not RROD
Yes, the more esoteric systems always interest me.
And having an FPGA core makes me far more likely to try it.
It just... hits different(ly).
Yep, the newer slim ones supposedly only used about 1/3rd of the power, and didn't really RROD.
Was a very bad situation for Microshaft and Sony, tbh.
Was supposed to be due more to the internal solder bumps than the solder balls.
Which was why even reballing the chips was often only a temporary fix.
Unless they heated and cooled the chips in such a way that it would "fix" the internal ballz.
I define myself as quite a 'reasonable' audiophile and used to have CD-i systems until 6 months ago, but won't disturb the core development by nitpicking some sound problems.
And yes, all CD-i SW emus so far suck, even respecting their original authors and all the work already done.
Of course this wasn't meant to disrespect them. Without the accumulated efforts of all of them, we won't have this discussions here today. I sometimes just find the state a little bit sad. There aren't enough developers providing these projects with love. cdiemu is out of question as it is closed source. But at least with MAME I would have thought that it receives frequent love... It's developer has moved on to other projects so there will not be a change anytime soon.
At this point, I don't know if MAME can even boot a Dreamcast game?
It didn't a few years ago.
I do find the MAME sources to be great for overall info, though.
And its debugger is one of the best out there, imo.
Sometimes the face palm really hits hard. I've tried to implement the audio attenuation today. It did work in simulation but did never work on the MiSTer. "Oh god, why", I thought. Why the discrepancy? Is it synthesis vs simulation? The slave controller just refused to implement the required protocol. After 3 hours of debugging I've noticed that I've swapped out the slave rom on my MiSTer for some experiments. It wasn't zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206 but instead zc405352p__slave_cdi_4.1__0d67p__lltr9403.mc68hc705c8a.7206 which is the slave of the Mono II board. This was the first time this ever caused a problem.🤦♂️ Jeez
Just to say lads, this is all a great read! @terse flare @hardy hedge
Sounds like my life, messing with the Jag core, doing 30+ compiles for the past week. lol
I made ONE tiny change to the core the other day, which looked completely harmless.
17+ minutes to compile.
Not only did the core not come out of reset, but the whole ARM Linux locked up.
That signal was to prevent the core doing contant reads from the DDR3 controller.
Without it, it was preventing Linux from accessing RAM, so it crashed. sigh
One of the perils of having the ARM SoC on the same chip.
Today I've learned something new. There was an actual arcade cabinet using CD-i hardware, called the Quizard.
https://www.theworldofcdi.com/quizard-on-cd-i-players/
https://www.theworldofcdi.com/tag/quizard/
It is not using the usual pointing device and instead uses some sort of custom board which is required to make these games function. The software is only available in German, so it might not be interesting for everyone. I wanted to post this here as I find this obscure and interesting.
I have actually read about those before, Team Europe are big into preserving those machines
https://team-europe.blogspot.com/2023/09/quizard-some-more-facts-and-new-aio-mcus.html?m=1
They have other articles on there about them
Could the core theoretically support these titles?
Reading about circuits that can transform a normal CD-i into a Quizard machine, it should be possible. The protection PCB is plugged into the serial port. With a SNAC adapter that should be possible. Without that, the µC on this controller board has to be put on the FPGA. It should be fun, but right now that is feature creep.
Yeah definitely not something you want to get sidetracked with right now. Would be a neat extra at the end of the project if doable, for people who can read German and like quizzes. 🙂
I have again learned something new. If you have the STOP button on the front of a CD-i pressed during power on, the tray can no longer be opened. This state is stored on the NvRAM and used in stores so no one can steal the disc
thats smart
Assuming this board gets implemented eventually, and some brave soul decides to translate everything to English.
I believe there is theoretically an English-language version of the game out there, but the protection ROMs for it haven’t been dumped
Now that I think about it, is Quizard even supported on MAME?
Huh. Apparently it does have support: https://github.com/mamedev/mame/blob/master/src/mame/philips/cdi.cpp
Team Europe are big into Quizard so would be surprised if their dumps weren't supported
According to TeamEurope, Quizzard 1 & 2 support English language: https://team-europe.blogspot.com/2023/09/quizard-some-more-facts-and-new-aio-mcus.html?m=1
Ah, I see what you mean that the MCU's might not be dumped.
Hopefully it finds it way to Team Europe at some point, although those chaps are in Germany
On the plus side, the hardware should be well documented by them, and they can be contacted for info if Slamy decides to look at adding support when the core is done
That was quite wild yesterday. The maintainer requested from me to test my pull request against the Quizard machines. I did and thus I found out about them. It seemed to be important to him... but they weren't affected by the change... It is written, only Hotel Mario was affected by it.... and probably other games I don't know.
Was that one of the Team Europe guys?
It was TheMogMiner. His avatar is a moogle from Final Fantasy in a handsome suit.
I don't know about Team Europe, because I live under a stone.
He is great on message boards. Any idiot question is burnt to the ground
Hah, you should check out their blog, it is really interesting. They are also fellow Germans.
He is one of the senior Mame Devs
Although my one interaction with them, buying some carts, the guy was... A bit grouchy shall we say
That makes sense. He has multiple cakes in the oven when it comes to mame.
Is there a pack somewhere of these Quizard games or are they bundled in with a load of other stuff?
What format are they? Disc images?
I maybe know what you mean. I had an argument yesterday and I was clearly at a disadvantage concerning my limited english vocabulary.
You should have tried German!
The Quizard games come with multiple files. I think I'm not allowed to share the link here. It is a 300MB package consisting of multiple roms and a CD image.
Cool, up on archive?
I think you are mistaken. He can listen to german but is unable to speak it. (I've asked... to escape...)
For some reason I only have found one complete source. It was on mdk.cab
As there was no update of the core this week I still want to provide you with insight on the current progress. As mentioned a few days ago, during the early days of the week I've managed to repair the UART IRQ. I haven't uploaded this core as no commercial game actually prints text to the system console. But if - for some reason - you want to start developing software for the CD-i, you can now just call printf in your application and receive that text by opening the UART on the Linux on the MiSTer. This is good for debugging software. Before that change, the application just hang.
The next thing I've done was investigation concerning Zelda's Adventure and the weird sound hiccups. It was then that I've noticed that the volumes of the games are never correct as the CD-i has a mixing circuit. With 4 parameters it can mix certain amounts of left and right audio into left and right output.
This circuit is missing in MAME and is implemented using HLE in cdiemu. All current implementations are wrong. This is a result from my own measurements and a discussion I had yesterday with the developers. Right now this is something untouched and therefore rather difficult as no one knows how it really works. The logic is part of the slave controller but there has to be more to it.
Right now I have a semi-working state which has these mixers implemented. However, for yet unknown reasons the audio can unmute itself on a real CD-i using a mechanism yet unknown. No emulator out there replicates this behavior but the games need it. Otherwise they are just silent. The MiSTer core is a little bit alone in that regard as I intended to use the real slave controller and not something that replicates its behavior.
There is a theory I want to check. The CD servo controller actually talks to the slave and I assume that this is where the unmuting comes from.
great work again mr. Slamy!
Killing it, my friend
Brilliant work Slamy, the fact you are now at the stage you are finding issues in emulators nobody has noticed, and actually fixing things there as well, is incredible. You are literally breaking new ground in CDi emulation.
That was an interesting read, good luck Slamy
Im almost ashamed to say this, but Hotel Mario is kind of fun, lol
Never thought Id be able to say I enjoy the CDi, lol
There are 'Redump.org' sets that you can find....
I don't know how accurate it is, but Redump lists another game that is compatible with the Tab Austria CD-i arcade platform. https://www.reddit.com/r/CDInteractive/comments/12ydcxl/the_yakyuuken_super_part_i_japanese_philips_cdi/
I know that’s also a CD-i based arcade title, but I haven’t heard that it uses the same system technology as the Quizard boards.
Interesting, are these CDi arcades supported by Mame or any other emulator? Any tech specs for them?
Not sure - Quizard should be, from what other sources here have mentioned, but I’m sure from that video that Yakyuuken Super would require the DVC.
That's a good point about DVC. I assume Quizzard doesn't need it?
Sphinx System, by Nichibutsu.
There was at least that title on a CD-i drive, serving the rest of the arcade system PCB.
The drive was only used for the sound/video FMVs, in streaming mode.
TIL that the Philips CDi even reached Japan.
Majorly for some obscure karaoke systems.
Not completely, though. I’d really like to see a copy of Cyber Soldier Sharaku get found someday - it’s a cyberpunk adventure game set in anthro wolf Japan, made by the creator of Putlestory.
I think the title of this particular hardware configuration is “Super CD”, looking at these banners. There’s a mahjong game #1 uses that same text line.
I’ve seen #1 on the Mahjong title and I see #8 on this one - that probably implies there are at least 6 more titles in this series.
Interesting that it would address it as an MPEG1 player and not use the CD-i functionality for the game code - reminds me a lot of how Laserdisc players are addressed, actually.
Yep - Undumped Wiki refers to this series running up to #21:
https://undumped.miraheze.org/wiki/Super_CD_21_-_Mahjong_Gals_Graffity
Super CD 21 - Mahjong Gals Graffity (スーパーCD No.21 - 麻雀 ギャルズグラフィティ) is a mahjong created by Nichibutsu and released in 1998.
Number 21 of the Super CD series. The last non DVD based game from Nichibutsu.
Flyer is at old Undumped Wiki.
Just wondering Slamy, what is the solution to this circuit not existing in an emulator in a decent form? Is it something that would really need to be decapped and traced, then implemented, or is there a less involved solution?
The only entity in control of the mixer circuit is the slave controller. The ROM of that thing is luckily known and I've disassembled it frequently for all the progress I had so far. The best case would be to "see" in the software which other possibilities there are to unmute the mixer. Because this is the problem right now: Games like Wand of Gamelon are muting the audio mixer without unmuting it. However, this is only happening when the Audiomap is not used. This means that there are yet unknown mechanisms which are raising the volume again when music is played. Most games are playing music without CPU interference. My first bet was the communication between SERVO and SLAVE. But I don't yet "see" it. A less involved solution would be a manual override of memory addresses to force the slave into thinking that an unmute is performed. This would be a hacky solution. Another solution would be analysis of the bus protocol on a real Mono I board... which I don't have right now.
If I'm not making progress on this for a certain duration, I will go for the hacky solution. I've already cartographed some of the functions and variables. The ROM is rather small with 8k.... Nevertheless if I can do it right, I will do it like this. My way how thinking might be weird. Sometimes I believe it would be better for the project if multiple persons are looking at the problem
You are doing fine. Its doesnt matter how long it takes, you are under no pressure to finish the core
Yeah, absolutely. Also, don't worry if you need to leave something working "well enough" but not perfect. Sometimes it is good to park something and do something else, and come back at a later date with a fresh perspective.
how expensive is a real mono board?
Half the price of a stereo board 🙂
2 more days, then I'll check if my dad's CD-i is of the correct type; I think he'll be fine with me sending it your way if so. 0 guarantees though!
Just give your dad a MiSTer in exchange and I’m sure he’ll be fine haha
It's not about the price. It's about finding the right one somewhere to buy first. Only CDI 210/00 or CDI 220/20 are Mono I boards.
The 200/17 (US) is also Mono I.
I link a cool side (no German) with much CDi infos...
Sorry, I'm probably the 1000th person to ask but search isn't pulling up anything. Are Faces of Evil and Wands of Gamalon playable from start to finish? Or is the core still in early development?
I'm not sure anyone has had the.....constitution.....to play either to completion
Eh, I'll give Faces a go. Worst thing that can happen is bugs I can report!
Are all the video modes in now for those ones?
So I downloaded the MiSTer file, renamed it as instructed, placed it in the root
Added the line to my mister.ini
Added the renamed bios
At boot my TV just says it can't find the source anymore, can't tell if it crashed or it's outputting a weird res my TV doesn't like. My MiSTer is currently outputting 1080p
Possible issue with the BIOS, or does this core need Dual RAM? Mine's only single right now.
Yep.
Is your transfer setting set to Binary and not auto?
I'll check in a minute, but I removed the Mister.ini line telling it to use MiSTer_CDi and it's booting now. BIOS is working, it's just seemingly not reading games. If I select 'play CDi' it just boots back to the BIOS. Using Redump
the mister main replacement that you removed is required to read CD-i discs, your issue is normal if you're using the wrong version. filezilla is most likely the culprit here, not transferring files in binary mode.
Filezilla claims another victim
Nooo I was hoping it would sneak by zakk 
I've switched it over to Binary, do I need to re-transfer everything or just the Mister_CDi and my ini file?
Just the mister_cdi
Most likely just the mister_cdi and your modified ini file
Working now, thank you all very much!
Working great for the most part, only issues I've encountered is that cutscene audio on certain cutscenes will mute the audio entirely until you reset.
This happens notably on the 'Help' cutscene just after Link demonstrates the Power Sword as well as Gwonam's cutscene in Goronu
Ah, and saving doesn't work-
No option to save manually or Autosave in the MiSTer menu that I can see, but saves persist between resetting the core.
The core is in very early development. The sound issues are known
Saving not implemented either, but those two issues you mentioned are known to Taki and he is looking into them.
I can't beleive that, I was gobsmacked when I read that about Filezilla, and bloody annoyed. 🙂
Why doesn't it default to binary? Seems bizarre
just use winscp on windows problem solved
Alas, some of us have Macs
enjoy the read on the messageboards where macs are adding hidden file to the wallpaper directory
transmit
It's no wonder I've bricked that many sd cards, really p1ssed me off, should be pinned somewhere on the forums. Unless it is and I've missed it! 🙂
I'm going through stuff we tested ages ago, and updating the spreadsheet in the appropriate places. Now, play Golden Oldies 2, the Blockbuster game. And tell me how they didn't get sued from Taito for not only it being the same as Arkanoid Revenge of Doh, and having the same music! 🙂
Hey man, wanted to say you’re genuinely awesome for doing that. People contributing to testing sheets is one of the biggest reasons why MiSTer cores are so awesome. Because of guys like you taking their time to help ensure it’s accurate.

It's interesting, those that updated the spreadsheet a lot back in September, try the same titles again. Much much better. A lot of stuff that had garbled gfx now hasn't, we have sound, and some games I would think would be completable.
@spring gate @gray badge You 2 guys tried a lot, try them again if you've any spare time. Thanks.
Will be able to dig in again later this week, really keen to see what is all working now.
Are all the video modes supported now or are there still graphics garbled and missing on some things?
Finally have a bit of time to test again so I'll do some now
Regions are still missing. And the NTSC compatibilitiy mode is also missing. RGB555 is rarely used but also still missing.
What are regions in this context?
I did some testing with the latest core. Should be on the US sheet
THe ones I've tried have perfect graphics, only tried half a dozen or so. But it's wierd isn't it? @spring gate I think it was you that said of the pinball one, that you couldn't play it as you couldn't use the flippers? Well now you can, and it's fine. Just the little things like that, and having perfect non garbled graphics, so far, is great.
Interlaced is still missing isn't it? Phot CDs are still garbled?
Not tried any photo ones yet mate.
On the SNES it is called "Windows". It allows to change some display settings during a horizontal line. Some games do some fancy visual effects with that.
And yes, Interlaced is also still missing which is most relevant for Photo CDs. For games, I don't know if there are any.
Ah, I was looking at EU stuff! 🙂
I don't think anyone has looked at the demos and betas tab if anyone runs out of things to test or is feeling adventurous
the latest core is in markedly better shape than any of the other cores I have tested
Zombie dinos actually working fine now
Yeah I bet tons of stuff will look great now
"One Photo CD playable by Christmas" 🙂
Brilliant work Slamy, you are repeatedly knocking this out the park
Just tried The Whos - Tommy, I don't know if this is like an enhanced audio cd, or video footage? Either way, it boots, but gives the "disc may be dirty" screen.
Actually.... Photo CDs should no longer be garbled. It was an issue caused by the missing CLUT4 videomode. I have one Photo CD which just works but of course only shows the same image.
The wonders of the cdi core 
Not all CDIC commands are supported yet. TOC and CDDA is missing.
Oh, so do not all photo CDs need interlaced?
There are children around here. What is that?
The software is not aware of the image not being interlaced properly
... hmmmm... probably.... Hmmm.....ok. There is the possibility that the other image can have a totally different ICA/DCA list of commands. And these are not executed at all in our current case.
Ultimate Noah's Ark its kinda weird 😆
I think "Super 3D Noah's Ark" is weirder. It's a Christian FPS based on the Wolfenstein engine
I have no idea why they made all these animals anthropomorphic and wearing suits
This reminds me of the Anime Aggretsuko or maybe Beastars.
I like the one with the acoustic guitar, he's funny looking
Striker Pro does have some graphical issues during a match but more interestingly it seems to run really fast
Should just stress, I'm only trying the porn titles and adult games, purely for research........... 🙂


Reverse fursuit!
¡¿QUÉ?!
Perhaps on the pinball dream game? On Amiga it switched to a highres lace screen when 3 balls are in the game. Not sure for cdi.
or Blacksad (less known European comic - was a thing long ago)
I was introduced to Blacksad by the recent point and click game and it was pretty cool
It saddens me to admit it but I have to take a short break of 1-3 weeks from core development. It was a little bit too much lately and I'm noticing I'm a little bit exhausted. I just wanted to tell you that, because communication is key.
My hobby projects seem to have a bad timing. When I started this core, a person on Forum64 (probably the biggest German Commodore 64 community) decided to mass produce my last open source project (Yaumataca) out of the blue because they liked it on the last retro convention. Now, there are ~100 users having some problems of sort and issues are rising. I've told them I'm unable to do multiple projects in private time but the project is still my "child". After some months I think I should fix some problems as it is still my project.
take as much time as you need, Slamy. Thanks for everything you have done so far 🙂
Take your time, but feel no pressure to support them. It was there decision to mass produce your project. Normally it’s normal that there’s no support…
Massproducing sounds like someone is earning some money...
Take it easy mate. There's no rush for any of this. It's stunning how far you've got!!
Don't feel bad Slamy, as everyone has said, just do this at your own pace and don't burn yourself out. This is a hobby after all. This gives us a bit of time to get the library retested on the current core as well and see where we are all at. 🙂
No worries Slamy, I could imagine how tiring it would be to have all those issues popping up in the background
Good luck and get that bag 👍
You must love yourself first! Take care and we appreciate all you do
In his defense, he doesn't. It is a person which seems to have an affinity for providing hardware to other users of this forum. He is selling it for about 4€. This is the price for just the parts to buy and he does that because not all C64 users are equally able to craft and solder. (The C64 scene is a little bit more ... communal than the Amiga scene in Germany which usually has large Euro signs in their eyes when it comes to hardware) Some just want to use it. And this is also where some problems start when just talking about a "project". Some expect a finished and polished "product". This is of course nothing I can deliver and no one is allowed to pressure me into delivering their vision of how this project should be. Everyone can fork it but sadly not many are able to develop software.
Also, I don't know about other countries but in Germany you can't just sell something.
The tax office will track you down.
That's a neat projector
Oh yeah, no fun allowed plus liability
Always sounds so nice somewhere else where small hobby projects can earn money (with profit even)
I must have missed something, what's this got to do with the great work Slamy is doing here?
#1103404843512631357 message
Well just a little bit of small talk. That was the last project I did before starting the MiSTer core. I'm a tinkerer at heart.
I love all the old machines equally.... but maybe not the Atari ST... bad sound chip...
THe YM2149? How dare you!!! 🙂 I had a spectrum 128 with the 8910, but liked the ST for it's AY harness. Of course, best sound chip of all time, 6581. 🙂
If you're on a mac, why don't you just scp <file> mister:/media/fat/Games/...
I know this sounds wild, but some people actually prefer graphical file managers
God gave us ambition so we didn't have to have to use SCP
I prefer dos, still use it daily. Drop down to dos, co do creating folders, copy frolders from a to thenew folder, pkizp max, delete orignial.
FileZilla works fine, you just need to change the setting to binary once and then you are good to go
Is Filezilla open source? Somebody just make a pull request to default it to binary 
That is a good point, someone could probably just raise a ticket or contact them if it isn't open source, if doesn't seem there is a reason to not default to binary
Opened 8 years ago 😆https://trac.filezilla-project.org/ticket/10954
#wnf
autodetect uses file extension to determine mode, and for some reason no extension -> default to ascii. everything I can find in their bug tracker indicates to me that have no intention of changing
No developer cared it seems 🤭
Dear dev
Please take some time out whenever you start to feel the burnout - it's not worth the long-term damage from stress.
I'm currently in the burnout stages as well, for at least the past six weeks.
I've not been able to face building any PCBs, and I've had several projects (plus parts) sat here for two months.
I've been slowly working on some DC PVR stuff, but that's about it. Sometimes just have to force yourself to chill for a while. 😉
Is the latest build pinned?
I had a quick check yesterday before I went out to see what was going on with Photo CDs and the one Japanese Karaoke disc I have on my card. No change on the Karaoke disc graphics since I last tested, still garbled graphics. On Photo CDs I looked at (namely the Ghost In the Shell) stock menu look good now, but the images don't load, just black screens.
Looks like Redump are back uploading fresh dumps to their packs on IA. I have added 9 fresh dumps to Photo CD tab. We will have to keep an eye on what fresh CDi titles get added, last I looked it was a handful of non games that had been dumped.
Wonder if those missing CD-i games will ever get dumped.
Are they all Japanese ones?
I know the redump wiki has a list of undumped CD-i titles, divided by region.
http://wiki.redump.org/index.php?title=Philips_CD-i_-_USA_Undumped_Discs
Not sure how updated the lists are though.
I imagine more will turn up and get dumped, and definitely more corporate and non game ones will be out there nobody even knows about some of which will no doubt turn up, but everything on that list seems to be non game stuff. I am sure there are obscure Japanese games out there though that are known but not dumped, has been mentioned before
Same issue we come up against elsewhere, where Japanese collectors don't dump, or don't share their dumps, for various cultural and legal reasons
Seems like the Japanese stuff is obscure even in Japan.
Like just typing the Japanese names in search engines is wielding no results.
You know it's a bad sign when it's pulling up results from English sites instead.
Redump is a big bugger, best known set is 223TB when I asked a mate the other day.
Oh yeah, the whole thing for every different type of disc would be insane.
You would have to be a lunatic to try get every single file they have done and keep it updated
I know hundreds that do!
How do they even have storage for that much? Are they running massive server racks?
Multiple RAID servers on an optical fiber Mesh topology.
Well good people are backing it all up, the recent IA issues highlight how important it is that people are doing that
Redump is just a part on my personal archives.
Do you have it set up to automatically grab new files when they are added?
Semi-auto.
I need to check once a week.
And note what is MIA and what is Non-dumped, if I could find them by myself.
That's the mindset.
If IA should go down.
Another one could step up.
Do you know if there is much of a drive within the Redump community to track down and dump the missing CDi and Photo CD discs?
Not at the moment, otherwise I should contact you privately.
Tracking down undumped CDi would be hard at this stage, but there are tonnes of Photo CDs out there
I find Photo CDs bizarrely fascinating, it is such a funny time capsule from the early 90s, and interested to see how people tried to push the really basic and restrictive format, especially trying to make games run on them
On CRT with component out im getting a rolling picture on the core.
Tried the most recent version of the core on my mister, edited the .ini file to use the experimental main with the specific name, added the bios correctly, not sure what went wrong. Is the core compatible with CRT through the analogue IO board?
current regular main ver is v240912
did you download the special mister version, name it correctly and upload it to the Mister
just changing the ini is not enough
the file is needed
Might be in pal mode. Switch to ntsc in the core's video settings
Yes, the special version of mister was named correctly and loaded into the root of the card
This is very possible. Any idea how this mightve happened, or way to swap to NTSC mode?
Open the OSD. Scroll down to Video and Audio and it should be in there.
It defaults to PAL
Gotcha. Ill try plugging in to an HDMI source, swapping to NTSC and then saving the core setting
how did you transfer to the Mister. Did you use filezilla, if you did, did you switch it to binary mode transfer ?
Does NTSC definitely work properly on the core? I thought it was still missing some functionality
it works for me
On a CRT?
yeah
Cool, good to know
Strong. Quite a disparity in the colours between those two screens
Look at that pixel art. Definitely the best looking console of that generation
It's actually not that bad - just the shutter speed of my phone off sync with the CRT. Here's better color representation
Hey guys I've been inactive for like 2 weeks, what's the latest update by @terse flare ?
#1103404843512631357 message
Taking some time off for the holidays. Core is in good shape. A lot of playable stuff
There's a "unfortunately, it's still a CD-i core" joke to be made here.
I remember that but what's the latest update on core development?
I mean the core release itself
Like the changelog
It's in the pins #1103404843512631357 message
thats the latest core
no worries 🙂
I don't remember so I'm sorry for asking but are Hotel Mario and the 3 Zeldas fully playable now? I remember there were some issues
Zelda's Adventure still has issues I think
I'm mainly interested in Hotel Mario
Zelda's Adventure has multiple audio issues. The 2D Zelda Games and Hotel Mario share a common issue: The lack of NvRAM storage and also the lack of sound mixing. These games are unplayable with headphones. Hotel Mario has also one specific issue. There are flickering graphics at the bottom quarter of the screen. I don't know the cause yet. But since the the 17.11. release, Hotel Mario should no longer hang up on the score screen. This was an issue before in the core and also MAME.
You were right, and your suggestion solved my issue. Now I can struggle through as much CD-i zelda as my stomach can handle :P
I've just won an auction of a Mono I machine on eBay. With taxes and tariffs (y u no in EU brits?) it sadly was quite an expense. 230€.... Let's just hope that the machine is working after shipment from the british islands. I also hope that it was worth it to spend that money. I hope to gather more info about the audio mixing and servo controler behaviour... I also think that I will use the Patreon money for this spending. @valid onyx and I were searching for multiple days on ebay and kleinanzeigen. They also looked on the dutch marketplaces. Mono I machines seem to be rare compared to the others.
So, about 190 quid, sounds a bargain. Well if you've a spare 190 quid that is! 🙂
You can get a CD-i machine for 50€ around here if you are not picky about the model. So this is quite a lot money. But spending even more time on searching will result into more wasted time. And TIME IS MONEY!!!!
The people here force me to. It is actually also pinned by Robby.
I have inferiority complex 
thats fair, you shouldn't let your patreon rule you either, do whatevers most comfortable
I was just going to sign up, then noticed I'm already a paid member! Doh! 🙂
I also think, I need inspiring input from you all concerning NvRAM saving which I will probably do next as the audio mixing stuff has to be paused until the machine arrives. If I'm not wrong, machines like PSX and Saturn are rebooting the whole thing when switching memory cards / NvRAM. For the PSX I can understand this approach, as the memory cards are small and the save games were huge. Concerning the Saturn I don't know how many games can be stored on a single system.
For the CD-i I don't know if it is really necessary to have multiple save files for each game. If this is desired, the machine would need a reset too on inserting a CD. If it is a single file I can just leave it as it is. The source code of MiSTer Main is also a small disaster as it lacks documentation everywhere I look.
For the Saturn srg320 himself seems to have implemented everything. For the N64, it seems that the Main was not really touched by Robert. I'm not yet sure whether to implement the save file on the Linux side by myself or not...
These are just my ramblings for thursday. ^^
Nice good luck, hope your seller packs things really well
I am happy with single file for saving Slamy
I’ve started a new hobby where I try to buy a laserdisc player and destroy it in shipping. I’m 2/2, 3rd one is en route
Uh but I’m sure your CD-i will be fine, damn now I sound like I’m jinxing it
What model LD player are you getting? I have three I have picked up over the years
I also am good with a single save per game
Great news you were able to get the player you were after Slammy, even if it was a bit pricey
Something I was wondering, do you think you may need to do more changes to MiSTer Main for the core down the line, or does it look like the changes you did awhile back will be all that is needed?
At least two changes are still required. For one thing, it is the storage of the NvRAM. The other thing is the simulation of the "Table of Contents" which the core is still lacking.
I should have worded it differently. Multiple save files for a game doesn't makes any sense. It is either "One save file for one game" or "One save file for all games"
saturn is weird and n64 didn't need much since it mainly just loads roms, have a look at how psx does it
i'd recommend doing independent memory per-game since there's always more games in the library than can fit on one , and also just because its what every other core does
Ahh. I think that's fine too. Especially if it's easier
does cd-i have any multi disc games?
anyways, doing save file per disc come with some advantages like users being able to just delete problematic saves, or being able to send you a single save file when debugging game specific issues
you also don't necessarily need to reset the system for this, I think it just does that for a lot of the disc based systems because that's what made sense for that system
That cannot be answered so easily yet. The CD-i has an actual operating system which right now scans the NvRAM on every boot and initializes it as it is all zeros after the core has loaded. This means that some entitity is working with this memory even so no application was yet loaded.
If it can be ensured that this driver is reloaded on application start, we would be fine. However, if this is not the case, we maybe would get into trouble as the driver is unable to anticipate such a rug pull.
In the end this is maybe what we even want. Most other disc based cores perform a direct start into the game after the disc is inserted. We have generated evidence that the Mono I is also capable of this when the Play button is pressed on the front panel. So maybe the behaviour of the playstation shall be replicated. Booting into the system menu, when the core is loaded for nostalgic reasons and reset directly into the game when a selection is made.
I think this makes the most sense. Seeing the bios every load is cool, but booting into the game is probably preferrable
I had also searched for it, but found not any right version. You should be lucky to find the right one.
As the CDI has no memory cards, i would use bram for it. Think the nvram is small enough.
Lol, it took me 3 attempts as well. Finding a working player is the hardest part.
That said memory already exists in the core for a long time now. Since the first games were booting it is possible to save a game, making the stored element visible in the system menu, when the core was reset after saving. There was just not yet a method to store the contents to the sd card.
Slamy, what is the "table of contents" that you mentioned? Not heard of that before, no idea what it is, sounds interesting
its the table of content on a cd
he mentioned it weeks ago as being used by the CDI
How is the core reading discs if this isn't supported? Or is this just for audio CDs?
Slamy you stink at taking a break. What happened to holiday time off?
time to release his C64 dual joystick to the masses and give him time off to answer a billion queries
You should have send an emoji together with your message. Something like 😅 or 🤨 or 😬. Because now I don't know if this was a concern for my health or development addiction or something else. Communication only via text is really not that expressive. as the non verbal component is missing. I really should take a break. I also haven't touched the code yet again. It was mostly thinking about stuff and planning.
Yeah sorry meant in a joking way and concerned you didn’t seem to be taking the time off you mentioned
Not everyone may have seen that and keep pinging you and I was worried you’re too nice to tell them you’re taking a break 😅
I think most knew, but I think that asking a question is always ok. The same goes for buying a machine on eBay. Talking here with you crazy people is not actual work.
so when is the core done and when can I play my obscure video module reuqired game 🙂
and yes thats a joke !!
I wonder if there’s a recipe for bowsers sourpuss bread
I've heard people say including emoji like that is a very millennial thing to do. And as a millennial I have to say, how else am I supposed to understand the intent behind "Thanks."
I overuse winking emoji usually and I didn’t on my slamy take a break message and look what happened
wait until you find out about the 'millennial pause'
Oops man look at that URL
That URL so big it wouldn’t fit on a CD-i disk
Anyway thought the thumbnail would be the rusty butt
Guy shows it working but look at that rusty butt
That is quite the rusty butt
Vinegar should get that off, but what is left will not be pretty
Just drop everything beginning with the ? from the URL. It's completely unnecessary.
https://www.facebook.com/marketplace/item/1287536475622926/
Messy party bottom
You can tell that guy picked it up out of the woods. Cheers to Phillips for manufacturing a tank
The rusty part was probably covered in dirt and leaves, lol
Who here hasn't found a dirty cdi player stashed in the woods
let he who is without sin cast the first stone
Yeah seems weird someone wouldn’t immediately try some vinegar or get some rust converter and at least stop it from getting worse
It’s under a coated paint layer, so there’s only so much you can do without sanding off the original finish.
But yeah, it’s pretty far beyond the point when that should have been done lol. My guess would be that this unit sat in water for quite a long time.
I bet if you sanded it down and treated it it would look okayish. At any rate it’s just the arse so as long as they do something to stop the spread
Given I’m assuming this sat in a puddle for years, I think you’re overestimating this person’s level of presevation acumen
Yeah fair probably experiences a different level of urgency about things
Which one??? The guy who threw it into the woods? Or the guy who found it 30 years later??? 🤣
Is the Limited Run Games CDi Controller worth it??? I have no experience with CDi, but sorta looks like a TV remote to me
Was considering getting one to use on the MiSTer CDi core
is it available anywhere?
Ebay has a few listed as low as $59
oiooooooo
I bought one, after there was a lot of discussion about it here.
Long story short, it’s a novelty controller. It works fine on the MiSTer CD-i core, but it’s pretty spongy and not exactly ideal as a gaming experience. I gather that it’s pretty close to the controller it’s imitating (the 22ER9019), but I don’t have one to compare it to.
If you’re looking to recreate the feel of playing CD-i, I’d save your money and go for something like an 8BitDo M30 or a RetroBit Big 6. Most of the CDis I’ve seen out in the wild have the 3-button 22ER9021 controller, which is closest to a Genesis layout.
Silly question…but how do you hold it? Is it intended to be one handed like the Wii nunchuck?
I would imagine so
You're supposed to hold it like a remote.
That sounds awful…I feel like I need it for that full authentic CD-i experience 😆
Yeah, at first I was annoyed it was kind of shit but then I realized that’s the whole point and I was enlightened.
Not gonna lie…I sort of enjoy Hotel Mario
The controller is more suited to adventures which you can play with one hand. and of course for titles like "Girls"
I prefer the hit sequel Girl 2.
Copyright Juice! 🙂
Copy Right
Just to be clear this is a coping mechanism 
Well I’ll be coping along side you soon enough, lol. 😂
Hotel Mario isn’t a terrible game. It’s just got some weird mechanics and bizarre animations.
I’ve tried holding it a few different ways, none of which are particularly comfortable for all titles.
There’s really two ways you can hold it - the remote method and the two-handed method.
With the remote method, you hold it in one hand (either hand) and hit the buttons & D-pad with your thumb. This works fine for the traditional cursor-based games (comprising most of the library), but having to take your fingers off the buttons for the D-pad feels really awful for games with significant action sequences.
That’s where the two-handed method comes in - you sort of loop your back fingers behind the controller and use one thumb for the D-pad and another for the buttons. This is bizarre to control for so many reasons, not least of which is that the buttons are on opposing sides - meaning to comfortably hit them, you still need to take your fingers off the D-pad to use the non-dominant button.
Actually, playing with it a bit more, I think the best two-handed method to control it is to hold the controller in your dominant hand, then wrap your hand around the top like so, crossing it over top of the D-pad with the hand controlling the buttons:
You then sort of hook your thumb over the one controlling the D-pad to hit the reverse button:
If you’re looking to mimic the layout of the original controller on this one, X is button I and A is Button II. (The Y button doesn’t exist on the original controller.)
But how did he take the pictures while both hands are in frame? 
I put my phone on a shelf, and then cropped out said shelf
Kind of awkward-looking uncropped, but it works:
That poor controller is getting manhandled! 😭
Someone’s ready to play Girls
Am I the only one seeing female dog nipples in the 6 buttons? What it wrong with me? xD
My poor babygirl dog is a bulldog so I wouldn’t know what normal dog nipples look like. Thanks breeders!
@strange crater now do the N64 controller!
Here's an updated version of my organized set snapshot for Philips CD-i:
Notably, this version adds CD-BGM discs. If you know of disc images for any that exist which aren't included on this list, let me know so I can add them.
Next version will also add Photo CD, which also includes some Japanese-only adventure games in it.
(If anyone knows how to make discs in the Portfolio CD subformat of Photo CD, I'd be interested in helping translate some of these - let me know.)
HPS: Backup and Restore of NvRAM
One save file per game. Loading a CD is causing a system restart
as OS9 is writing to NvRAM every restart.
Save format is compatible with MAME. (Also just a 8kB dump with no header)
Backup is performed when OSD is opened and NvRAM has changed since then.
User LED on I/O Board indicates that a write is pending.
SCC68070: Fixed UART IRQ (only relevant for Homebrew)
MCD212: Added debug option to forcefully view a video plane (Only for curious people)
Happy CD-Friday everyone!🎉 I know, I shouldn't have, but I'm getting rusty and thought that would be a cool addition
Updated pins to point to your post. Also just pinned your post for ease of access.
CDIDAY?!
That seems to be the official term.
https://www.theworldofcdi.com/cdiday-on-twitter/
You know what they say? Toasters toast toast!
ok well... i can't stay here. it's making kitrinx very depressed. bye now.
There is a mario. It's Hotel Mario and with this release of the core, you can pause the game and continue the next day.
Sorry Slamy, I posted your latest update to a couple of channels for more visibility.
Why would you do that? It makes me blush 😄
Because you kick ass dude. Thank you so much for this awesome core!
hotel mario with pause functions? i'll take it
It seems you have to loose all you lives to actually save a game. But maybe there is another way. I haven't yet read the manual.
Make sure you use the custom MiSTer main, in the pinned posts there are instruction on how to use it with the core.
Yah I dunno but it works! @quartz shadow was the one who initially suggested it. Thanks again, dude!
I honestly had no idea that's awesome. That would've been so handy in the earlier N64/Saturn days
I realize I don't have this on my main mister. Does it support DV?
what? how did that sneak in
that has to go
way too tempting for some egotistical dev to start requiring a hacked up custom binary for their jank core
The binary is already hacked up on the mainline. It can't get any worse.
sure it can
and yes, it's not the code i've have written, but having a million binaries with their own takes on the framework would be nightmare for UX and project coherence
I think it was added for Groovy
im going to discuss it with alexey becase that's really not good
fwiw im not talking about you Slamy
I have issues detecting sarcasm in the english language. Especially in written word. Is there really an issue?
yes
I'm extremely insistent that there only be one single mister binary and that it can't be easily swapped around
I always have been on that point
because people will abuse that, eventually
too late, i've already pushed a per-core-unstable-nightly for my new ps2 core
I feel like we were playing in our room, maybe getting into a little trouble, and robby was too loud so mom came and knocked on the door
thanks robby
now i'm grounded
Right now it offers the people around here a possibility to to test the core without me intervening with the Main line in case I'm not sure about my changes. What alternative would we have except manually replacing it without the ini file?
I mean, I'm always replacing the real one 😄
But of course this gets overwritten by scripts.
Maybe we can get those custom MiSTer changes pushed to mainline
If it is more akin to the project I can create a Pull Request right now.
manually replacing it for testing is what we've done in this situation, but I encourage you to simply submit your core's supporting code to main
if there's some kind of significant change to the framework you should discuss it with alexey
eg saturn
it also has supporting code as do all cd systems
The framework feels limited when it comes to CD drives. A normal ROM based core usually doesn't need all this.
If it goes into main....then it's real and there is pressure with that. If you would prefer to keep the pressure low, Slamy, I'm happy to swap mains around to test
if there's reasons to expand upon it, then that's fine, but it should not be a fork from main
having multiple forked frameworks is not acceptable
I'm always rebasing my changes on top of the latest HEAD. I don't want to deverge. I want to expand ^^
yes, and I appreciate that
@terse flare I think this is an awesome opportunity to get Main updated to do what you need for the CDi core or alternative solutions can be evaluated. But either way they definitely want you contributing and submitting a PR.
Plus this means testing will be easier for everyone and being officially incorporated into Main will make getting support if you need it, that much easier. 🥳
The PR is created. Is Sorg also on Discord for potential discussions?
Not on Discord but he’s on Facebook!
Nooooooooooooooooooooooooooooooooooooooo!!!!
LOL sorry
Yeah I have to use Facebook messenger to harass him
In germany this means that he is about 70 years old.
@terse flare but the dude is awesome about chatting on GitHub
What timezone does he live in?
He’s in Tawain (I think), do you want me to ping him on Facebook so he’s aware about the PR?
Ah, I think we shall do that in case he's not reacting.... Maybe he is responsive on github.
I can’t really offer much but I’m here for you, amigo! 🍻
he will talk on github or the mister forums as well
👀
damnit robby
Oh no is that forbidden knowledge
Reading up I understand philosophically why the binary gets replaced though
Makes sense
It was used during N64 dev too, it’s really handy for in progress changes to mister main so you don’t impact your other stable cores. And in the case of groovy_mister it’s essential since sorg offered it up as a solution for psakhis (RIP) rather than merge in his changes for networking stuff or something
yeah that kind of thing is the problem
now there's some unmainted alternate binary floating around with unmergable changes
I think Calamity agreed to maintain it after psakhis death
I mean unmergable in the sense that they weren't really suitable for being part of main
(Of switchres / groovy fame)
but eventually the code will diverge too
features wont work, hardware wont work, etc
Last I read, despite the demise of the lead dev, Groovy is being maintained. I understand you want to be protective. But given that this has benefited the development of an official core (N64), an in development official core (CD-i), has opened up a path forward for unofficial work without destabilizing official work (Groovy), and it seemed to even escape your radar for months (not causing issues), I urge you to reconsider.
It just hasn't been abused yet
More like a year
wait for someone to release a core that needs a DRM'd main
is this a common issue in multiple FOSS projects?
Anything can and probably will be abused given a long enough timeframe. Nothing is stopping anyone from compiling their own main or cores. This still requires manually putting an entry into the ini.
overfragmentation is
If psakhis changes could get merged that’s fine but there’s a lot of people out there using it with the emulators they added support for and Shane Lynch’s MisterCast
So making it harder to use would be unfortunate after sorg added it specifically for this use
the more people depend on it, the worse it will be when someone abuses it and it has to get removed
I mean it would also be kind of shitty if it wasn’t at least merged then since psakhis was an incredibly humble, kind person who contributed a really cool thing that tons of people have taken enjoyment from and it was his last work
as an aside, I hate thumbs up emojis. I am never sure if im supposed to interpret them as the literal millenial sense or the ironic gen z sense
How does this cause more fragmentation or abuse than manually swapping the MiSTer binary during testing? This just 'automates' this by allowing you to have an ini entry that points to a particular bin. I am inferring this comes down to the fear of user confusion and support requests in the future? Which as someone in IT, I can wholeheartedly understand. However, you have to kind of know what you're doing to fiddle with this in the first place. I fail to see how it is any different. My understanding from Sorg adding it, in the first place, was exactly so it wouldn't affect the stability of 'official' work. How exactly do you envision this being abused that can't already be done? Seriously asking so I can learn.
👍

just a basic acknowledgement that I read what you said lol
but easy to switch to cheers 🍻
This is really the problem with it. I love being able to override main with the ini - it has made CDI testing so much easier - but it really shouldn't be easy to do. If you're going to use a custom main, it shouldn't be something you can set and forget, because folks will exploit it.
I hate that I'm arguing against the ini system, but Kit's right, it will just be abused because humans fucking suck.
With that said, there should be a solution for groovy because a) that project is really fucking cool and b) psakhis (from everything that I have seen) was a really cool dude
I dont know the details of what the particular issue was with merging that
Again, how is this more exploitable than before? You have to manually download a different binary. You manually edit and ini, which at the very least means you are 'documenting' the fact you're using something non-standard?
the issue is it is a huge change that is kinda out of scope. it's a lot to add to main. I'm not 100% sure sorg added this feature just for groovy, because his comment at the time was 'I've been meaning to do this for a while'
it's not more or less exploitable. its more accessible right now. there is no way to prevent folks from custom building main - but you can add friction to make it less accessible (and something folks would only use under specific situations). If folks are going to sell a custom main, it's a harder sell to say "yeah, and it's going to be behind main until I have a chance to rebuild it".
Beyond that, it's fragmentation, which is just bad for the project
if anyone is selling a main and it is behind mainline they are incompetent
Only using under a specific situation, like using Groovy, or testing the CD-i, right? My point is the ini setting makes it's more accessible for people already having a unique situation. The abuse/exploit angle already exists. If someone is makeing a custom DRM'd MiSTer main binary, they can easily include a shell script that automatically kills and replaces the binary. I fail to see, how the ini setting leads to more fragmentation, abuse, exploitation than not having it.
I don’t really understand the situation not. The ini is a manual thing, the unstable swap is a manual thing, but here for all cores. So the ini for a special core is more elegant and make no higher risk. As the Saturn core started I asked for a way to easy swap Main in the main menu, but that was not answered anywhere. So the actual situation is much better at before. We have now much new users and they have to learn but a willing to test things out in new cores. The actual possibility give them the change to do it, without to break anything of the other cores. So I see no problem here. If the core don’t need a specific main, just remove the line - and done.
Yeah who wants to swap back and forth to participate in testing when it can make playing other things annoying?
It’s a great feature, hope sorg keeps it
Not only that, sometimes it is not clear if a feature is in the latest unstable. We had often discussions about that.
It doesn’t really stop anything, just makes it more annoying. We would have scripts and people would run those to swap mister yada yada. Same end result just dumber
I see no reason why Sorg should remove this feature
The difference here is better, because it is core specific and not for all cores. Swap main with unstable affect all cores, thats a big difference 😉
Yeah I mean something dumb like “groovy_mister_on , groovy_mister_off” and you have to use that to flip them before running stable stuff / groovy
The actual situation make it possible to test more as one new core with different unstable main versions without any tinkering. This helps also Sorg, as he has more time to bring things in the unstable versions. It is also more flexible.
It is a very nice QoL feature and is quite beneficial. It solved a pre-existing problem in a rather elegant way.
I would recommend going forward that any unstable test builds of MiSTer main specific to any core be properly named as such ahead of time before uploading (MiSTer_CDi for example, instead of just MiSTer). It already takes into account Discord adding underscores in place of spaces for file attachments. This also removes the extra step of requiring the end user renaming it, and eliminates the possibility of the test build overwriting the stable official one accidentally.
I very much agree with all of this. Some good points about renaming.
I'd go with literal
If folks want to convey something else they can find another emoji, until then they're just very supportive of everything
Agreed. Most people use the thumbs up emoji to show they either agree with you or acknowledge they heard you
You can also save the custom MiSTer_CDi files yourself and point to it in MiSTer.ini as an exception for the CDi core. That way it doesnt affect all the cores
I'm well aware of that. I know how it works. I was attempting to advocate for that feature's continued existence in light of some wanting to have that feature removed because of unfounded fears of potential abuse.
Im sorry I may have missed it, but how would it be abused??? From a security perspective?
EDIT: oh my bad. Yep we’re on the same page. I really like the feature.
How indeed...
It's not like there aren't already scripts that can outright replace MiSTer main with an unstable/unofficial one, which has the potential to break everything.
At least the current INI method doesn't interfere with the normal operation of the system.
It's something sorg himself added back on March 25, and at that time it was a similar to a feature he was already planning to add "some time ago" (custom HPS binary support instead of standard MiSTer main).
I'm currently catching up on this thread. I find it really interesting Philips made a mono version of the CDi.
It sounds like that's also an early (and rare) version.
Mono I is just the hardware name - it’s not monaural. There’s also Mono II, Mono III, and Mono IV, alongside other player model ranges.
Mono I comprises the second generation version of consumer players, including certain models of the 200, 210, and 220.
You can find more info on the various player models here:
Are you happy with how you have implemented save functionality now Slamy? That finalised and fully implemented?
There are certain things I don't like about the current solution which are not directly visible. The bootup of the operating system forces the video chip into the NTSC PAL compatibility mode which is used by some games to implement the region free behavior. At least my MiSTer test monitor and my TV do take some time to sync in again on the video signal. I don't like that as it slows down everything. With the current implementation, a reset is required when a new CD is loaded. But maybe that is fine... I could think about an option to force a common NvRAM for all titles. Most games tend to use only 4% of the available space. I don't think this will get full very fast. Quite a few people will only play the core for the Zelda games anyway xD. Apart from that, the solution should work. It was a low hanging fruit which provides the testers now finally a way of completing a game without starting over.
Is there an easy to find and follow tutorial to get this core up and running even in its pre-beta State?
Yep - see the pinned comments.
Awesome thanks. My daughter has four of her friends coming over and I need to figure out something to do while I hide in the basement
The price for not word aligned framebuffer access goes to the dog simulator P.A.W.S (personal automated wagging system)
I really had hopes high, that every title would behave and fetch data on even addresses. But no, so sad it fetches the data on odd addresses and fails in these lines.
Hmm, so is the issue that PAL games should be set to PAL in the menu and NTSC should be set to NTSC for them all to run properly?
I don't know the answer to that yet. According to the documentation, every title should run on every machine. I assume this is similar to the situation of the Amiga. Most applications were designed for PAL in mind but are also runnable on NTSC because the PAL versions have a black area below or maybe just some nice graphics which are not part of the gameplay.
I personally would look for the originally intended region and play that version.
The CD-i also feels like it was intended for the PAL region with NTSC being second priority.
The core should support both but I rarely test the NTSC mode.
Down the line may be worth looking at how Robert was able to set the BIOS for the PSX core depending on details on the disc images. Failing that the N64 core as an .XML file that sets options in the menu, if needed we could maybe maintain a list like that, but would be a beast
Much better^^
does the Mister file need to go anywhere?
Rename the file to MiSTer_CDi and place at the root of your SD card.
Oh perfect. Thanks.
Hmm...I get everything up to the loading games. I have the play CD-i Menu up, but games wont boot
i have both bios files where they need to go
It’s because they removed a pin that’s important (but controversial)
in your mister.ini add [CD-i] main=MiSTer_CDi
(make sure that's what the custom main you downloaded is named)
Awesome. I now have this shitty console working.
My hands are tied lol
no one asked me but I gotta support what the boss lady says
no no, I am not pointing fingers. I am just stating what happened (and why the instructions were incomplete) 🍻

well...it sounds like we're going to get cd-i in update all soon perhaps?
So far, there is no response from Sorg on Github. Maybe he is rather busy right now.
his potato computer probably just wouldn't turn on...needs a new potato
lmao removing that pin
slamy I'm sure you're already aware of it, but in case you didn't happen to see the issue there's something odd happening at the beginning of loading Kether - have some video of it captured as well if you need it
Now you are the pin! GOTTEM
in mother russia potato makes vodka!
or wait is it in soviet russia vodka makes potato
I think you are overestimating how many different games I test. The core is so full of errors, a small collection of games is enough right now. The modus operandi is still to get features inside with what I have right now. Nonetheless, your contribution is helpful. This is the first case of a directly visible region usage I've seen so far.
I can use Kether to debug the not yet existing region circuitry in the MCD212. As I don't know how many people are familiar with this conept I think I might explain it a bit as it is interesting.
The MCD212 has 2 planes which are fed from framebuffer data in one of the many pixel formats available. I don't know yet but the right one is probably on the top and the left one is at the bottom. Usually transparency can be generated using a color key: A special color which lets the other plane shine through. This is not done here.
The game makes use of the DCA, the Display Control Area. The instructions are as follows
Line 0 Region A 7 CMD:0000 RF:0 Weight: 0 X: 0
Line 78 Region A 0 CMD:1001 RF:0 Weight:63 X: 266 Set Region Flag at Pixel 133 / 78
Line 78 Region A 1 CMD:1000 RF:0 Weight:63 X: 506 Reset Region F. at Pixel 253 / 78
Line 170 Region A 0 CMD:1000 RF:0 Weight:63 X: 266 Stop all that at Line 170
Line 271 Region A 0 CMD:1000 RF:0 Weight:63 X: 0
The export of the simulation is doubled in width for High Resolution Pixels which is the resolution of the Regions.
The lines are starting inside the blanking area. This means I would draw it like this.
Pixels from the visible left edge 536 -> Divided by two is 268.
Pixels from the top is 78.
It matches
The same here
1012 divided by 2 is 506.
So it matches as well at the bottom right of the small screen in the center
The reason for not using the color masking feature of the MCD212 is because DYUV is used for both planes. This pixel format doesn't allow having a "transparent color".
Maybe I'm very bad at explaining all that. This whole feature is essentially a combination of HDMA and Window from the SNES. The regions are defined for one line and stay like that until these are changed. For a rectangular shape only two lines need to have the region changed. The start and the end.
Ah that's, interesting, thanks for explaining. I thought maybe is was similar to photo CDs and was looking for interlaced features
Thanks for going to all the trouble to explain this. Going forward, do you like to hear about things we experience with the core? If so, do you prefer to see reports like this on github, here or does it matter?
We have a testing sheet, if you are testing games it would be really helpful if you are able to log yours findings on it - even if everything seems fine on the current build
It is pinned in the chanel
looks like i'll need to upload images somewhere and provide links to screenshots
are we creating separate tabs for each build? i notice all of the US testing was done on an older build
doesn't look like i'm able to make changes
Just request edit access and I can give that to you
Just override the details for the game you are testing with your name and latest build and update comments for issues. We aren't at the point of logging specific issues on GitHub, there are still features to be added that Slamy mentioned.
As an aside, there is now a pack of the enhanced music CDs in the usual place if anyone is interested in grabbing those and keeping an eye on how they are working now and going forward. Pack isn't too large.
Merged, very nice
He didn't even question my changes.
I've shortened the "Saving..." screen time by half for all cores. I'm not used to this. Usually at work, my colleagues are more pedantic when it comes to source code quality.🫣
This means now that for a while (until Red Book audio is included) no further changes to Main are required.
Difficult. In general it keeps the channel alive and shows that the core is used. However, filing a GitHub issue would be against the etiquette of the MiSTer project as moondandy had mentioned: The core is still experimental. Robert Peip has it also phrased once on the N64 core development. In general we all know that things are broken. It's not like I'm running out of TODOs. If you look at the GitHub page of the project, there is a TODO list in the Readme with all the lacking features and discovered issues.
https://github.com/Slamy/CDi_MiSTer?tab=readme-ov-file#todos-in-order-of-priority
The testing sheet would probably be a good approach. Right now, I'm not actively working from top to bottom in that list as fixing one problem also fixes a lot others.
Maybe I should remove the "order of priority". It's not like a try to keep that order. Sometimes I go for low hanging fruits first.
That's ace your changes were added in so quickly and cleanly, hopefully get pushed to live pretty soon. 🙂
Red book isn't supported by any emulator (yet) is it?
This and the Next in unstable nightlies, splendid. Does that mean we don't need the cdmister thing in the ini file now?
You will still need that until the CDi changes get pushed to the next official update of Main, and that is rolled out to everyone
These only happen periodically so no timeline on when this is likely to happen
(and then you'll need it every time slamy makes a change to main that isn't released)
Yeah, I am guessing that it may not make sense for Slamy to do the other features just now that will need Main updates so they can all go live together, if it is all CD audio related and there is no emulator to use as a reference
You still did a bad thing.
We will never forgive your brave sacrifices. 🤣
Mame and cdiemu both support red book tracks in the context of interactive discs. So this is something achievable for this core as well. What indeed is not working on any emulator right now is bringing the operating system into Audio CD playback mode. I know of at least one game which makes use of red book audio. That would be Apprentice.
Sometimes I wish I could divide myself into multiple persons. There could be the CDIC Slamy and the MCD212 Slamy. And the one soldering and measuring a real CD-i..... but we would probably not get along very well due to a lack of patience for each other.
So … does the core support
CRT ?
I haven't tested for some time now. But it should work. ... It should not only work, it should be exact to the nanosecond. The timing is directly from the videochips datasheet.
Sweet! I’ll get to testing and report back what I find
What’s up with the new MiSTer unstable ?
Means we no longer need the custom main that Slamy made - it's all in unstable main
So we should go into the ini and remove the thing pointing the CD-i core to the other MiSTer_CDi, and also remove it? Or will it be needed at any point in the future, so keep it on there somehow?
yeah, you can remove all of that now
Okay, thanks.
This is not accurate, you can't remove anything. All the unstable Main means is that down the line it will be merged into stable Main and released to everyone. At that point you can delete the bespoke CDi Main and remove the lines from your .ini
If you swap your stable Main for unstable then sure, but you could have been doing that anyway.
Oh I just run the unstable all the time
But nothing will automatically swap for people now it is an unstable Main build
So I should clarify: If you're running the unstable main, you don't need the custom main and ini stuff.
I think I’m just gonna wait until it’s merged
sorry, that's an important clarification - thanks for the catch, dandy
That was always the case, but you need to manually swap to unstable main (which you could have been doing already with Slamy's one)
right, unless you just live dangerously and run the unstable as your normal main all the time. Then you don't need to swap anything because the mister_cdi changes are in unstable main now.
Are you manually swapping in your unstable build or have you automated this some way?
I use the update unstable main script from Pork https://github.com/misteraddons/mister_unstable_updater_scripts
Ah OK, cool
Now that is interesting, I wonder what is so tricky about getting regular CDs to play in an emulator if Red Book audio works when it is part of a more complex CDi title. To a layman playing an audio CD seems a simpler task than CD audio incorporated into a CDi title.
Updated pins to point to the latest CDi core and also to add a link to the latest experimental main.
You no longer need to have a unique MiSTer main, just use the experimental one and replace your existing one with it.
I've removed the binary from my post
For some abstract reason, the decision to launch the Audio player is not done by the main cpu directly. The SERVO controller which is never replicated in any emulator right now makes that decision and provides this info to the SLAVE. That info is then provided to the CPU. The magic words which are required to make that transition were not yet recorded. I've tried to ask this question on the CD-i discord but it seems there is not much interest in performing recording of this scenario.
Concerning the SLAVE, we are on our own as I choose the path of emulating the SLAVE as a real controller instead of replicating the communication alone via HLE.
This is also the reason, why no emulator right now is simulating the automatic cross fade of the SLAVE as it controls the audio mixer without CPU intervention.
A Mono I PCB is on the way to me and when it arrives I can hopefully measure these things with a logic analyzer to get them right.
Hopefully in one piece. It comes from UK and seems to be sent around in circles when looking at the parcel tracker.
For the curios, here is a diagram of this patchwork family. It shows which parts are communicating to whom.
Ah! Thankfully, I always use unstable main. Haha. So still thanks.
Surely someone who's technical and passionate about CD-i will provide this information at some point?
Recording the "magic words"
Can I still do it through this method being put into the .ini?
main=MiSTer_unstable```
You could do it that way... or you could rename this latest unstable MiSTer main to MiSTer_CDi like before, if you're unwilling to overwrite your stable MiSTer main just yet for some reason.
Does using Update_All still overwrite any current MiSTer main with the stable variant unless they're named differently?
Cuz' if so yeah I think this is easiest for me.
No, I believe update all looks for whatever the latest date of the main binary is. If you're using the unstable, it will skip updating from update_all unless the stable main is a later date
I have unstable as my main and update_all doesn't replace it
Oh that's wonderful, I guess I don't need to do anything then 👍🏻
I'm an unstable person, so I'm always running an unstable main!
In all seriousness, I actually can't remember the last time I was using a stable version of main. 
same
I would always replace the unstable Main whenever updating it. The more people who use it the quicker we can find issues if there are any.
been given permission from Markun to share this build, it is rebased to Friday's build but contains mouse and analog controls, you still need to press a button or a direction on the D-Pad on your primary controller but then after that you can move with analog or mouse without the need for changing any options, it is good for point and click games
That's cool, is there some limitation that means you will always need to activate with a standard controller connected?
I'm guessing this core is like the other disc based cores where each disc image needs to be in its own subdirectory for saves to work right? Assuming saves are even a thing on CD-i I have no idea.
I believe subdirectories like that is the recommended method with mister
Yeah, there is no OSD option to pick your controller and just like every core you need to press a button to activate the 1st player controller, then 2nd etc but with this core mouse and gamepad (with or without Analog sticks) are all assigned to first player
I cannot take any credit for any of the code added to it though, the work is all Markun's I have just helped to test it
Makes sense. I don’t know of any title which uses two mice - the only ones I know expect the second controller to be a gamepad.
And even that’s pretty rare.
This mostly gives you the choice to use a mouse in games that will make it easier, point and click games, edutainment games, photo CDs, karaoke discs etc
That's great that is in there now, very nice QOL for people who have a desk set up MiSTer with mouse attached. Be good if keyboard support gets added at some point to finish that off.
I used a script to sort all of my chds into subdirectories and now none of the games will boot, and dump me back to the CD-i main menu. Anyone else experiencing this? Are game supposed to be in subdirectories named after themselves a la the other disc based mister cores or not?
CHDs don't need to be in sub directories
Are you selecting to run from the CDi bios screen after you have selected a disc?
Did these files run before?
They worked before, selecting Play CD-i fails to run the game and returns me to the bios screen. I’ll guess I’ll just pull them out of the subdirectories
I had that on the new core after trying certain titles that wouldn't boot. Try rebooting from the OSD back to the MiSTer menu, then load the core again.
I can report a lot of fixes recently. Micro Machines and Pac-Panic are now running just about perfect on this new core; same with CD Shoot.
That's ace. I haven't had time to test recently, but be good to get the game library run through again on the latest build and see where things now stand
I don’t know if correlation is causation, but pulling the chds out of their subdirectories seems to have fixed things. Other mister cores require disc images to be in individual subdirectories for save games to work properly and it would be good to know if that’s eventually going to be the same for this core or not.
Weird. I have games working in subdirectories on the core, but granted I'm working from bin-cue files.
Is everything not running in subdirectories, or just certain titles?
I tried out the handful of titles that had worked previously to crating the subdirectories and they didn’t load. Might be because i have them in Chd
I've gotten into game on Mystic Midway: Phantom Express.
It looks like the main game mode crashes after the opening cutscene for the first area, but you can play the individual stages via the Practice option.
CHDs in directories work for me, I have them a couple of directories deep.
@errant surge What titles did you test, out of curiosity?
Hotel Mario, Time Life Astrology. They load fine now that they are just in /CD-i instead of /CD-i/game name
Have you rebooted your MiSTer since you copied all the folders across? It could be something weird there that is fixed with a reboot
I think you may be right an a reboot might have been necessary, I just created a copy of Hotel Mario in a subdirectroy and it boots. I'll try running my chd sorting script again.
Also am assuming if you copied over using FileZilla you have it set to binary
But yeah, if in doubt, turn it off and on again and see if it works 🙂
Everything works fine now, just had to power down. Was using a direct usb connection with external ssd, so no filezilla involved.
The machine from UK has arrived. I have now access to a model 450/00 (my first CD-i, a Roboco PCB), the model 210/20 (Mono II) which I thought was a Mono I (because I'm dumb) and now from today on a model 210/05 which is finally a real Mono I.
For all the people around here who like to buy a real CD-i: All my 210 machines which I've received had spindle motor issues. The spindle has touched the housing. It seems this is a common issue with these models. It needs to be lifted with a very thin screw driver.
Congrats on it making it in one piece
Nice! I have a 220/37 and a 910/17P, myself.
So for the communication eavesdropping, I'm assuming you need to solder on some extra wires? No nice points to clip onto?
And which of the 2 is the new one?
(well, new, new to you. I know it's older :))
In other news, Voyeur and The Wacky World of Miniature Golf are now fully working without any notable visual issues. Mega Maze also runs well (I hadn't played it before now - not at all what I expected; it's actually a pretty clever little puzzler.)
You gotta love the 90s how almost every video game console looked like a VCR player.
Escape from Cybercity's also running well, as is Zelda's Adventure and Lords of the Rising Sun.
Still encountering crashes on Burn:Cycle before getting ingame, though.
Kether appears to be playable, but only in French.
Keeping it on the default French setting lets you run through the game with some visual and audio issues (health bar is invisible, some borders appear incorrectly, and certain cutscenes will have both English and French audio on top of each other.)
You're also able to get ingame now in Laser Lords with some visual glitches along its borders. I was able to talk to the first few NPCs and pick up the jiva, but I haven't tested it beyond that yet.
Trying out Zombie Dinos from Planet Zeltoid now. So far, everything seems to be working perfectly there.
Zelda's Adventure is running horrible. At least in my opinion. The ADPCM buffers get switched around at some point and get out of sync. This makes the audio very glitchy. I think something related also happens in the Help cutscene of the 2D Zelda games. The core might not be very good right now in switching from direct CD playback to the audiomap.
If the game is playable, even with some audio weirdness, then that is great at this stage. 🙂
Do you think Markun's controller code is at the point it can be merged into your branch, Slamy?
Markun tried to PR it when I posted his build but github was having issues so hopefully it will get PRd before Slamy releases a new build so he can merge it with any other changes that he makes
That would be nice, hopefully he gets the PR working
Yeah 🙂
It's still a substantial improvement, and good enough to make it significantly better to play.
The main issue I'm noticing compared to my reference 220 is a subtle repeating popping sound on NPC dialogue & enemy sounds. I added your note about the ADPCM buffers to the compatibility list.
The visuals look just about perfect, and aside from the popping, most of the sound otherwise is very accurate to the original. (Keep in mind, the original game was released unfinished. Some things, like item collection sounds not playing when being attacked by a large group of monsters, do appear to be authentic to the original behavior of the game on my 220/37.)
I expect it's potentially completable, if someone wants to give it a shot.
Secret Mission has also gone from a black screen to playable. If anyone can help go over the list and help report any changes, I'd appreciate it.
I'm very pedantic and maybe markun has felt that. It's very important for me that the changes to the input system have no negative effects which maybe cause frustration. There were some impediments with analog sticks that have a slight drift I do remember. In general I like the changes. Nevertheless, he needs to PR again. I can't see the source code right now, so I don't know what else he has changed.
I will ask him if he can PR it to you in the morning Slamy
Say @terse flare , any idea why the images in Myst are currently appearing as black screens?
The hotspots, cursors, and audio are working, but it's like the images are invisible.
the mister has built in deadzone configuration, I'm not sure cores need to concern themselves with potential stick drift
In that case I'm even more confused. Hmm.... He has created a PR before, but for some reason the changes caused the D-Pad to fail randomly. I've told him that a little bit of rework might be required. I haven't looked very deeply at the changes as I was busy with other stuff. When a new PR is there I think I can look at it again.
I haven't tried Myst yet, but I already have an idea. This week was a little bit more busy, I don't know if this can be fixed fast. PAWS, Tangram, Flashback and Kether might have had a similar issue
if a user has a stick that drifts so much it causes issues they have to set a deadzone parameter in the ini. I think main has some built in deadzone for ps4/ps5 sticks? i'd have to go look
I've checked again using the input test core. It seems the controller in question (ps3 dualshock) is centered on X: 2 and Y: 2
I've never had a problem with this controller on other cores.
Congratulations. You've found something that can't even be fixed which my current work in progress. I've found some issues with the transparency and also added experimental support for regions. It's not ready for release yet as there are misalignment issues now on subpixel level. Hmm.. this is something worthy to look at what Myst is doing there.
@strange crater I understand the issue now. Myst disables the top part of the plane by setting the weight to 0. The weight is multiplied with the RGB channels to darken them. The CD-i does hardware based fading to black with this feature. The weight value can be set using regions which is not supported by the core right now.
If you force the weight to be maxed out, the game looks like this.
One of the next release builds will probably fix this as I've already started to work on regions to fix graphical issues with PAWS, Flashback, Tangram and Kether. Flashback will still not be bootable though... that game needs additional features from the CDIC which I wasn't even aware to exist... sigh
I originally thought that the Apprentice would be the final boss of the core. 😄
CD-i stands back up and has 3 life bars. You hear Carmina Burana
I overlooked this question. I have an older photo I would like to share which I took from my investigations on the Mono II. I use a logic analyzer and those test hooks. Here, these are connected to the SLAVE and its SPI bus to the SERVO to grab some information about their intimate conversations on inserting discs into trays.
man, it's lovely that they silkscreened GLUE LOGIC beside the IC
Sometimes it helps to make some diagrams with the pinout:
https://github.com/Slamy/CDi_MiSTer/blob/main/doc/slave.svg
I've drawn this for an easier attachement of the wires
The board is full of that stuff. It feels like it was made with love and maintenance in mind. Except the time keeper and the enclosed battery. That was the work of a sadist.
I love the "Do not pinch DIGITAL VIDEO" section
It's interesting that the motherboard is so maintenance friendly and then they throw little twists like that in.
That is the official warning sign for ESD protection
Yeah, I thought that might be the case. I've never seen pinching fingers for that previously
Oh nice 🙂 and the chips you need to spy on, on this motherboard, are they big enough to attach these to, or are they SMDs?
And I've used a logic analyser myself too, I find them quite cool. Was mostly wondering if the chips were analyzer friendly 🙂
Maintenance friendly is here relatively, only some chips have sockets. But it helps that the power supply is separate and not on the same PCB.
Small gifts!
At least it's not a Commodore machine with random chips socketed in the worst single wipe sockets imaginable!
Your statement was food for thought. The option of even having IC sockets is limited by the package the IC comes. A PLCC or a DIL/DIP can be socketed just fine and I really want that to happen as the sockets are cheap and only lift the IC a little bit up. With QFN/QFP or even worse BGA, this is not so simple and sockets are rather expensive and bulky.
They do this only for cost savings these days. Only chips like bios, etc. got a socket.
YES! SO MUCH YES!
MAME is playing an Audio CD
With the machine arrived, I was able to decode the status words responsible for bringing the operating system into the media player. Afterwards it still didn't work but with a hint of CD-i fan I digged a little deeper into subchannel data. MAME emulated it wrong, resulting into the "Table of Contents" to be not correct. After fixing that, MAME is now playing an Audio CD.
If my assumption is correct, this would make MAME the first CD-i emulator playing just a basic Audio CD
Well done! That's a serious milestone!
Good job. So the investment in the other Player was a good idea and will pay off.
wow, that's amazing
Does this mean you have the knowledge you need to implement it into your core now as well, or it not that straightforward?
Yes, I do have the knowledge now. Getting that was the whole purpose of this experiment. For that, the Main must be touched again as the Table of Contents data must be injected. Right now, there is no subchannel emulation. It is needed for Audio CDs and at least for Flashback to boot.
Slamy da gawd 💪
The labor of love for a "console" that sold dozens is just amazing
being able to preserve it is so important
That's the piece that will allow the elevator music, right?
I do have to say that the current state of my MAME experiment is not really mergeable. There is one open question still. The information that it is an Audio CD must be injected at some position. It must also be discovered at some point and I don't know how the real machine does it. According to ... a PlayStation 1 documentation .... the disc type is part of the Table of Contents. Though I think whenever we are burning a CUE/BIN information, this is probably not written. How would our burner application know about the CD-i standard. So maybe some heuristics have to be applied at first to find out about that.
I have to be careful to not have too many open ends in this development! 😄 This was just the result of my curiosity as the machine has arrived during the last days.
each track has a type/mode, I don't think any read toc command on a normal audio cd has a 'this is an audio cd' flag.
is Flashback working on Mame ?
❗ May I have your attention for one moment?
Hey everyone, watching this core develop is really exciting. What's impressive though is that @terse flare spent his own money to purchase an original CD-i unit so this core can be as accurate as possible for all of us. Please consider donating to his Patreon to show your support for both Slamy and the CD-i core, thank you!
Patreon - https://www.patreon.com/AmigaSlamy
The intro has glitched graphics but the game itself seems to be working. I have not much experience with this game. It looks interesting though. Reminds me of cinematic platformers like "Heart of Darkness" or Prince of Persia
thank you for the information 😉
If you mean the BGM background music discs, those should actually play now. @strange crater has been doing a lot of work collecting and collating them into a CHD pack. Should all be up in the usual place these things are now if you are wanting to have a try of them. You probably need to change the date in the console, as they are mostly date locked. Would be interesting to see if there is a way to remove the date lock on these at some point though, but way above my head how that would be done.
I think it’s more Redbook CDDA audio they’re discussing now. CD-BGM discs run fine on the current core (they’re just Green Book like a standard CD-i title.)
Yeah, Redbook would (presumably) make the Enhanced Music CDs all play, and maybe some of the Karaoke discs are that format
Do we know if any Photo CDs have music and what format those are in if they do?
Not traditionally, but it is included as part of the proprietary Portfolio CD subformat. Not entirely sure how it works yet there, but I'm looking into it.
(Portfolio CD is used by many of the Photo CD adventure games, among others.)
Oh, Interesting. Do you think there is more that the core would need to support other than interlaced feature in order for them to all work properly?
I'd kind of say test and see.
Going through the filesystem, the player stores the disc music in Redbook CDDA on Track 3, but also duplicate the contents in a .PCD file in the AUDIO directory under PHOTO_CD. The file looks to be about the same size as an uncompressed .WAV rip of the Track 3 stream, and playing back Track 3 goes through all individual section clips played in sequence.
Why this is in both places, I have no idea yet. My theory is that it's for compatibility between certain players.
I wonder if @bold dragon knows anything about these, from his dives into all things PC-FX related
OK, I have logic traces of SCSI commands to the drive on PhotoCD here:
https://github.com/pcfx-devel/pcfx_scsi_sigrok_protocol_decoder
You will need DSView to view the waveforms, and the PC-FX_scsi sigrok decoder in the repository.
DSView: https://www.dreamsourcelab.com/download/
The logic traces are also in the repository - I have two PhotoCD related ones: one is boot time, and one is playing it
In there you will see various reads of the table of contents, and before it reads any data, it reads whether the data is encoded as MODE1 or MODE2
Here is the TOC of a representative PhotoCD
I have no idea what/how much is in common between CDi and PhotoCD
BTW, the "...Boot_PhotoCD..." trace is the one where it reads the table of contents (track 0 = get number of tracks, etc), track 1, track 2, track3, then "(44) read header" to sense whether it's MODE1 or MODE2 to set up for the data reads which follow
Not too much. It's ISO9660 format, like Video CD. They both load a player file out of the CDI directory on the disc.
They both fall under the White Book standard, which also documents wider use cases for CD-i Bridge.
(Although Kodak reportedly has its own specification book for Photo CD, referred to as the Beige Book, the specifics of Portfolio CD are reportedly not specifically defined in any particular book.)
Plaid Book, which was only widely popular in Scotland for some reason...