Shannon Posted October 24, 2015 Share Posted October 24, 2015 Got a question that maybe you programming types that are more familar with how the 'ol INTV works. In Bliss when I try to run motocross it brings up this screen after you start a game and select a track. I'm just curious about what "aspect" of the emulation is causing this? In other words what part of the INTV hardware is most likely not being emulated properly. Yeah I know it works in Jzintv just fine. But I'm just curious. Maybe it is something that a little emu code lookover can fix. Thanks Quote Link to comment Share on other sites More sharing options...
Arnauld Posted October 24, 2015 Share Posted October 24, 2015 The Mattel version of Motocross is known to have a timing issue that makes it crash on PAL systems (running the game in jzIntv with --pal will indeed make it crash). So I'd vote for a bad timing in Bliss emulation that will also trigger the bug at 60Hz. Quote Link to comment Share on other sites More sharing options...
Shannon Posted October 25, 2015 Author Share Posted October 25, 2015 (edited) Oh thanks.. I never realized there were PAL intellivisions.. Are you sure about that? I don't see a "pal" option.. even in the jzintv --help menu. Edited October 25, 2015 by Shannon Quote Link to comment Share on other sites More sharing options...
Shannon Posted October 25, 2015 Author Share Posted October 25, 2015 Thanks... I think you were in the right direction. If I lower the clock rate enough on Bliss32 it Motocross eventually does become playable. So there is definitely something to do with bad timing.. (possibly imp;roper cycle counting)? Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 25, 2015 Share Posted October 25, 2015 Oh thanks.. I never realized there were PAL intellivisions.. Are you sure about that? I don't see a "pal" option.. even in the jzintv --help menu. Undocumented. Try --pal And yeah, there were definitely PAL Intys. Some games take them into account, others.. not so much. Quote Link to comment Share on other sites More sharing options...
Shannon Posted October 25, 2015 Author Share Posted October 25, 2015 According to this post... http://atariage.com/forums/topic/169337-how-to-detect-pal-or-ntsc-consoles/?do=findComment&comment=2094337 He has not added the option. When I use --pal it assumes I'm doing "-p" for ROM path. Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 25, 2015 Share Posted October 25, 2015 According to this post... http://atariage.com/forums/topic/169337-how-to-detect-pal-or-ntsc-consoles/?do=findComment&comment=2094337 He has not added the option. When I use --pal it assumes I'm doing "-p" for ROM path. That post was 5 years ago What version of jzintv are you running? The --pal flag works for me in jzintv 1.0-beta 4. I tested Motocross, and with the defaults it runs fine. With --pal set, it crashes after you select the course (right before it displays the track). It doesn't do what Bliss does, but that's not surprising. It's undefined behaviour. jzintv tends to lean on the side of halting if it has major problems - Bliss looks like it's just spinning off into the weeds. 1 Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 25, 2015 Share Posted October 25, 2015 (edited) [deleting double post] Edited October 25, 2015 by intvnut Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 25, 2015 Share Posted October 25, 2015 The --pal code is still a bit of a hack though in Beta4. If you download the latest stable build ( http://spatula-city.org/~im14u2c/intv/), it's more accurate. In any case, it sounds like Motocross has a race condition that's sensitive to exact CPU vs. STIC timing. This might be a fun one to come back and diagnose (after LTO Flash! goes out, natch). It seems similar to the Dreadnaught Factor race condition that shows up on PAL. Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 25, 2015 Share Posted October 25, 2015 (edited) BTW... I have two different Motocross ROMs. I just tried both with the --pal switch. One crashes and the other does not. I'm not entirely sure where I got the second version; I went on a ROM-dumping spree long ago with my cart dumper. It seems there was a running change at some point. Edited October 25, 2015 by intvnut Quote Link to comment Share on other sites More sharing options...
Shannon Posted October 25, 2015 Author Share Posted October 25, 2015 (edited) That post was 5 years ago What version of jzintv are you running? The --pal flag works for me in jzintv 1.0-beta 4. I tested Motocross, and with the defaults it runs fine. With --pal set, it crashes after you select the course (right before it displays the track). It doesn't do what Bliss does, but that's not surprising. It's undefined behaviour. jzintv tends to lean on the side of halting if it has major problems - Bliss looks like it's just spinning off into the weeds. Whoops I think I know what I did... more info soon.. Stupid me... I forgot to move the system ROM's over to the beta directory.... The PAL switch works for me now. In this post by intvnut http://atariage.com/forums/topic/169337-how-to-detect-pal-or-ntsc-consoles/?do=findComment&comment=2094337 he has a program that counts the cycles between interrupts. Is there a way to take that code and create a binary that will display the result? It might be helpful in determining what bliss32 is doing wrong? Edited October 25, 2015 by Shannon Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 25, 2015 Share Posted October 25, 2015 Is Bliss even maintained anymore? Quote Link to comment Share on other sites More sharing options...
Shannon Posted October 25, 2015 Author Share Posted October 25, 2015 (edited) No idea... Looks like it has not been touched since 2005... Just think of it as a mental exercise... Edited October 25, 2015 by Shannon Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 25, 2015 Share Posted October 25, 2015 No idea... Looks like it has not been touched since 2005... Just think of it as a mental exercise... To actually answer your question, yeah, there's a way to write a program to tell you a little about what's going on. I just don't see anyone going to the trouble for an emulator that is pretty much DOA. IIRC Kyle released the source code, so someone COULD fix Bliss, if they were so inclined. Quote Link to comment Share on other sites More sharing options...
Shannon Posted October 25, 2015 Author Share Posted October 25, 2015 Well that was kinda why I was asking... I already have the source code on my computer. No biggy.... I'm sure people have better things to do with their time if they don't want to be bothered with a no longer supported emulator. But I'd prefer they make that decision themselves. Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 25, 2015 Share Posted October 25, 2015 (edited) I had posted something awhile back on INTVPROG. Lemme see if I can find it. It tried to measure the interrupt period, the amount of time the STIC and GRAM were accessible, etc. EDIT: Found it! This will measure a number of parameters, giving you a couple screens that look like this: The first screen graphically illustrates how long GRAM is accessible by filling GRAM with a value that changes every frame. You should see a similar number of checkered squares filled. The last checker may only be partially filled. You can actually compute how many writes succeeded by counting up the filled checkers and multiplying by 8. The second screen measures the number of CPU cycles that are available between interrupts with the screen on (S-ON) and the screen off (SOFF), as well as the number of cycles the System RAM remains in bus-copy mode (COPY) and bus-isolation mode (ISOL). It measures these values 8 times, once for each of the 8 settings of the vertical delay register. irq_per.zip Edited October 25, 2015 by intvnut Quote Link to comment Share on other sites More sharing options...
Arnauld Posted October 26, 2015 Share Posted October 26, 2015 I had posted something awhile back on INTVPROG. Lemme see if I can find it. It tried to measure the interrupt period, the amount of time the STIC and GRAM were accessible, etc. EDIT: Found it! This will measure a number of parameters, giving you a couple screens that look like this: Unfortunately, it's not quite so easy to run such a ROM on Bliss. It has a built-in ROM database and simply ignores ROM files that are not included in there. At least, it was working this way the last time I checked. (A long, long time ago.) That means you have to edit 'intellivision/cartridge/IntellivisionRecognitionDatabase.cpp' and re-build it. Either that or apply a patch that would make it accept all ROM files. Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 26, 2015 Share Posted October 26, 2015 Unfortunately, it's not quite so easy to run such a ROM on Bliss. It has a built-in ROM database and simply ignores ROM files that are not included in there. At least, it was working this way the last time I checked. (A long, long time ago.) That means you have to edit 'intellivision/cartridge/IntellivisionRecognitionDatabase.cpp' and re-build it. Either that or apply a patch that would make it accept all ROM files. Is that true for .ROM files, or just .BIN files to avoid needing a .CFG parser? Quote Link to comment Share on other sites More sharing options...
Arnauld Posted October 26, 2015 Share Posted October 26, 2015 Is that true for .ROM files, or just .BIN files to avoid needing a .CFG parser? I don't think Bliss provides support for the .ROM format at all. Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 26, 2015 Share Posted October 26, 2015 I don't think Bliss provides support for the .ROM format at all. Ok, I believe that changed at some point, because I remember Kyle working with me on that. Later, he came up with yet another ROM format. I don't have a copy handy to fiddle around with, unfortunately. For some reason, my work laptop has suspiciously fewer personal files on it lately. Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 26, 2015 Share Posted October 26, 2015 Ok, I believe that changed at some point, because I remember Kyle working with me on that. Later, he came up with yet another ROM format. I don't have a copy handy to fiddle around with, unfortunately. For some reason, my work laptop has suspiciously fewer personal files on it lately. Ok, I found Bliss32 1.9c source out there on the web, and sure enough, no ROM support. Maybe one of the other incarnations of Bliss supported .ROM. It went through a few programming languages over time. Quote Link to comment Share on other sites More sharing options...
Shannon Posted October 26, 2015 Author Share Posted October 26, 2015 (edited) In the last Bliss32 v2.04 .bin and .int files rely on a text file named knowncarts.cfg in order to load properly. .rom files should load correctly (with some limitations). Look here... http://blissemu.cvs.sourceforge.net/viewvc/blissemu/bliss2/ On another note... I don't know how "up-to-date" nostalgia is. But it also has a similar issue with MotoCross. Edited October 26, 2015 by Shannon Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 26, 2015 Share Posted October 26, 2015 In the last Bliss32 v2.04 .bin and .int files rely on a text file named knowncarts.cfg in order to load properly. .rom files should load correctly (with some limitations). Look here... http://blissemu.cvs.sourceforge.net/viewvc/blissemu/bliss2/ On another note... I don't know how "up-to-date" nostalgia is. But it also has a similar issue with MotoCross. Gotcha. I didn't know what the latest version was; I just looked at the first couple hits for "bliss32 intellivision" in Google while bored in a meeting. Anyway, I think the irq_per.zip test I posted above is pretty much exactly what you need, at least for the first round of calibration. Quote Link to comment Share on other sites More sharing options...
+intvsteve Posted October 26, 2015 Share Posted October 26, 2015 (edited) Gotcha. I didn't know what the latest version was; I just looked at the first couple hits for "bliss32 intellivision" in Google while bored in a meeting. Anyway, I think the irq_per.zip test I posted above is pretty much exactly what you need, at least for the first round of calibration. Those meetings are probably getting even more boringer than usual now, too. Edited October 26, 2015 by intvsteve 1 Quote Link to comment Share on other sites More sharing options...
intvnut Posted October 26, 2015 Share Posted October 26, 2015 (edited) Those meetings are probably getting even more boringer than usual now, too. Most of them, yes. The notable exception was a meeting I had with my supervisor earlier this afternoon regarding the next 2 weeks. That one packed more excitement in 30 minutes than the rest of the meetings I'll have all week. (Thankfully, it remained polite and constructive.) Edited October 26, 2015 by intvnut Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.