Link to videoLink to videoLink to videoLink to video
The analog controls - on a gamepad - can only be assigned to the right joystick.
The video dump only works in uncompressed.
Pac-Man does not work (Pac-Man (1983) (Atarisoft).int, Pac-Man (1983) (Intv Corp).int)
When I load Pole Position
System.ArgumentException: HLT is an unexpected behavior; Intellivision should run so long as the power is on.
à BizHawk.Emulation.Cores.Components.CP1610.CP1610.Execute()
à BizHawk.Emulation.Cores.Intellivision.Intellivision.FrameAdvance(Boolean render, Boolean rendersound)
à BizHawk.Client.EmuHawk.MainForm.StepRunLoop_Core(Boolean force)
à BizHawk.Client.EmuHawk.MainForm.ProgramRunLoop()
à BizHawk.Client.EmuHawk.Program.SubMain(String[] args)
Otherwise, again, excellent work, Alyosha
Edit: Is the Intellivoice emulated? (B-17 Bomber, Bomb Squad, Space Spartans, Tron Solar Sailer & World Series Baseball x)
Thanks for the testing!
Some games require mappers that aren't implemented yet. I just implemented Pac Man now as the first test of mapper support and it worked fine, so in a couple more days I should have all the mappers in there.
Controls and video dump will need adelikat to fix them.
Intellivoice is not implemented currently, and I don't know if it will be.
EDIT: ok, I fixed Pole Position and added many games to the gamedb. At this point all games should be playable.
I also noticed that pacman passes right through ghosts, so that's a bit of a problem. :)
I'll try to sort that out soon.
With mapping done I now have access to the test cartridge too which should help.
Alright! I added in the last bits of code and cleaned up some stuff and now TAS tools are available in Intellivision!
You should be able to play and TAS any game you want by now without bugs (except for Pac Man where I don't have any idea what is wrong yet.) In my testing so far everything seems to work without desyncs.
Note that for TASing purposes you'll want to pick the standard controller from the Intellivision menu.
There is still a long way to go to clean up the core and get things in proper shape and improve accuracy on edge cases, but as a whole its basically a working intellivision emulator. Have fun!
Thanks for the continued testing!
Lady Bug reminds me that the STIC does output a border that is part of the screen, I'll have to make sure to add that.
Some of the music sounds like it pops a bit, maybe I can look into that too.
For pacman, I posted in AtariAge so maybe I can get a response there, but what do you mean by z-order? All the collision detection seems to be working. PacMan and the ghosts do collide in the sense that their respective bits in the collision registers are set, but nothing happens. I must be missing some detail somewhere.
Ok! After a lot of debugging I finally fixed Pac Man!
As a bonus I also managed to get the homebrew Ms. PacMan working as well.
On top of that I made a lot of accuracy improvements that really make the emulator a lot closer to the hardware. It's not quite cycle accurate but close enough that only edge cases (like timing code to change background tiles midframe) would reveal any errors.
The only remaining challenge is the MTE201 test cart, which I htink should be pretty easy to pass with a few more tweaks.
Alright!
After some debugging and code cleanup, I added the border and I managed to pass the intellivision MTE test cart!
With this I am not aware of any bugs in the intellivision core and am pretty confident in declaring it ready for TASing.
As always I'll be available to fix bugs as they pop up, but I'm not sure I'll put too much more effort into this core. So, things like intellivoice, Intellivision II, ECS, keyboard, system changer will not be actively worked on (at least not by me, anyone else is welcome to try!)
Joined: 7/18/2016
Posts: 106
Location: United States
Just randomly decided to check this thread again, and you really finished this core quick! I've already started work on an Advanced Dungeons & Dragons TAS, so this is awesome stuff.
As far as any bugs I can pinpoint, I have noticed some problems with sound emulation. With all the games I try, all sounds seem to be slightly higher pitched than normal. Jzintv's sounds overall seem to be nearly identical to how they are on console so that emulator is a good reference. Some AD&D specific sound problems include no audio for when trying to move to an impassable area on the overworld map, the sound that the rat makes when on-screen is far different than what it should sound like, and the audio for collecting the crown at the end fades out way too quickly.
Additionally, the default aspect ratio should be changed to reflect the console's original aspect ratio, which is 318x192.
Other things I'd be interested in seeing are:
A Power/Reset button in tastudio, like there is for other consoles. Interested in this because there's a glitch that can be done which requires a soft reset.
The Intellivision console framerate added to this page (if the value is known):
http://tasvideos.org/PlatformFramerates.html
Would be useful to know for TASing purposes, and listing it there makes it easy to look up.
Thank you for reading, and I hope some of the things I brought up are addressed. Fantastic work on this core once again, Alyosha.
Oops I don't know how that bug got by me, working on sound fixes should be done when I have a bit more time .
At first I didn't anticipate a need for power/reset but knowing a glitch is possible will motivate me to add it. I'll work on it at the same time I add PAL support.
Thanks for the feedback!
EDIT: Sound is now fixed, please try the dev build.
Ok, so aside from fixing the sound I also fixed Intellivision aspect ratio, and added a power and reset button.
@TheWinslinator: I'm not sure what the glitch you are reffering to is, nor do I know the specifics about how reset is different from Power to cause it. For now I just assumed that reset didn't clear RAM, but let me know the details of the glitch you want to do and I can adjust it as needed.
Joined: 7/18/2016
Posts: 106
Location: United States
Yeah, I don't know what the specifics of it are either, but you must've done something right regardless, as I was able to successfully pull off what I wanted!
So I actually did some extra research about this glitch, and unfortunately, it appears to be more of a cheat than anything really:
http://www.intellivisionworld.com/english/faq/#_Toc140592042
As you can see, most of the games in the Intellivision library have some type of weird combination of buttons involving the reset button that can either bring up an alternate title screen, credits, a special screen, or in the AD&D case I was talking about earlier, an INSTANT WIN!!! (probably not some crazy weird game-end glitch like I once thought lol)
Thanks for fixing the sound and aspect ratio, man. While the rat still sounds kinda wrong, I can live with that as my TAS won't even see any. I'm really pleased with how collecting the crown sounds now, it's an AWESOME sound and it can't be butchered for the TAS :)
Joined: 7/18/2016
Posts: 106
Location: United States
By the way, what is the correct aspect ratio for the system? I've seen differing values from the one I wrote two posts ago, 318x192. I've also seen 320x192 and 192x160, and I can't find the exact value you put in for the current aspect ratio, but it looks different from these as well.
I actually went out of my way to do some careful measurements of my own and physically count the number of pixels on the screen. I can say with a very high degree of certainty there's 176x104 pixels after counting. So to me, this value would make sense as the proper one.
I'm just curious as to which one is correct and how would we know?
Is there a high enough quality photo that could be used to independently verify the number of pixels?
EDIT: Spikestuff wants me to post this:
https://en.wikipedia.org/wiki/Intellivision#Technical_specifications
> 159 pixels wide by 96 pixels high (159x192 display on a TV screen, scanlines being doubled)
^ That is the playfield output but not the complete video output.
This is what is programmed into the core:
public int BufferWidth { get { return 176; } }
public int BufferHeight { get { return 208; } }
public int VirtualWidth { get { return 277; } }
public int VirtualHeight { get { return 208; } }
The 'Buffer' is the physical video signal output, it is 176x208 after accounting for the display border (this corresponds to the 176x104 that Winslinator had with scanline doubling that the console does.)
The Aspect ratio (the 'virtual' part) depends on the TV but I stretched it to be 4x3 which is mostly what was around at the time.
Joined: 7/18/2016
Posts: 106
Location: United States
Ok that makes pretty good sense. I went ahead and booted up my Intellivision with a CRT, and the image dimensions seem to match up perfectly, so you've got me convinced!
I just want to make sure - have all the sound bugs been ironed out yet? I can still detect many sounds being slightly different than how they are on console. Since jzintv sounds nearly identical to how the sound is on console, I decided to do a short comparison video of some sounds between Bizhawk (current dev build) and jzintv, so it's easier to show what differences I'm hearing:
https://www.youtube.com/watch?v=SI6IcnOjqXs
Hope this helps!
Ah thank you that helps immensely.
I guess I don't have a good ear for audio so having them side by side like that really makes it easier to pick out the differences.
Hopefully it will help me track down the remaining bugs.
I've looked over the sound generation code several times, and as far as I can tell samples are being generated correctly in the PSG. Jzintv and BizHawk seem to be doing a fair bit of post processing beyond this point though (I'm not really sure of the details) so it's possible the relative dullness of BizHawk is due to that. I won't be looking much more into it, if someone else wants to try I'll be happy to help though.
@PikachuMan: I won't be doing intellivoice, mainly out of disinterest.
Joined: 7/18/2016
Posts: 106
Location: United States
Hey, I was trying to record an AVI of some of my intellivision TASing work thus far now that Bizhawk 1.12.1 has been released. Only one problem, the AVI files all play back in that squished 176x208 frame. Do you know what settings I would need to apply in order to get the normal 277x208 frame? Thanks!