Mist/Mistica FPGA
Moderator: Moderators
Mist/Mistica FPGA
I am playing with this nice FPGA board called "Mistica" which also implements a VIC-20
It's a clone of the "Mist" board, featuring a plexiglass case, onboard composite video output and MIC/EAR ports for loading from real tapes.
The VIC-20 core was not so accurate, but I learned some VHDL/Verilog and was able to fix some issues. The sources are on GitHub and the author welcomes pull requests
Attached some pictures and a video of the tape loading feature that I'm adding to the core.
It's a clone of the "Mist" board, featuring a plexiglass case, onboard composite video output and MIC/EAR ports for loading from real tapes.
The VIC-20 core was not so accurate, but I learned some VHDL/Verilog and was able to fix some issues. The sources are on GitHub and the author welcomes pull requests
Attached some pictures and a video of the tape loading feature that I'm adding to the core.
Re: Mist/Mistica FPGA
Very nice fpga box, I own one of those as well and it's fascinating how it is able to reproduce so many systems, computers, consoles and arcades.
The Vic core is quite good and I hope that by the time I'm writing the tape loading modification has been received and implemented by the core developers.
Very nice job, @nippur72. I also would like to have a go at that gomoku game, if still available. Thx.
The Vic core is quite good and I hope that by the time I'm writing the tape loading modification has been received and implemented by the core developers.
Very nice job, @nippur72. I also would like to have a go at that gomoku game, if still available. Thx.
Re: Mist/Mistica FPGA
Nice.
I have a MiSTer which is derived from MIST.
Perhaps your core can also be ported across to MiSTer?
I have a MiSTer which is derived from MIST.
Perhaps your core can also be ported across to MiSTer?
Re: Mist/Mistica FPGA
the VIC20 core has also the noise generator reverse-engineered by Lance Ewing (there's a long thread about that here on Denial), and the pwp/viznut waveforms. I coded them for the MiST but I'm not sure they propagated to the Mister. But as I'm going to get a Mister as well, I'll check it myself sometime in the future.
Regarding the game GOMOKU, you can find it here. As It beats me all the times, I think I'll add an option for giving an handicap, not sure how. Perhaps letting the human player play with one piece already on the board.
Regarding the game GOMOKU, you can find it here. As It beats me all the times, I think I'll add an option for giving an handicap, not sure how. Perhaps letting the human player play with one piece already on the board.
Re: Mist/Mistica FPGA
I think the Vic-20 core on MiSTer is perhaps a little neglected. The inter channel distortion is much exaggerated rendering it useless to my ears.
Re: Mist/Mistica FPGA
for the same reason on the MiST I added a toggle for turning off the 6KHz audio filter. It made the sound too muffled, not as brilliant as in the real VIC-20.
- eslapion
- ultimate expander
- Posts: 5037
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
Re: Mist/Mistica FPGA
Does anyone know the order of that filter ?
On the real VIC-20, there are 2 filters in series on the audio output of the 6560/61. They are both simple RC filters, the first one having a cut-off frequency of 15.92 kHz (and it uses the 1kOhm output impedance of the VIC-I to function) and another with a cut-off at 1.592 kHz. However, they both are 1st order filters so the effect on frequencies between 1.592 kHz and 15.92 kHz increases very gradually with frequency - 10dB/decade.
On frequencies above 15.92kHz, the effect increases at 20dB/decade.
Two capacitors of 0.1uF and 0.01uF as well as a resistor of 1kOhm are the involved components here.
Be normal.
Re: Mist/Mistica FPGA
Slightly OT, but I would have thought there would have been an option by now within MAME to eliminate this distortion by amplifying each channel separately and mixing them together in the output buffer.
Re: Mist/Mistica FPGA
Nippur,
Does your Mist/ Mistica core for the Vic20 play the speech in Berzerk MMX+?
MiSTer does not
Does your Mist/ Mistica core for the Vic20 play the speech in Berzerk MMX+?
MiSTer does not
Vic20-Ian
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
Re: Mist/Mistica FPGA
Yes it does, I wrote the fix myself
And it's a very quick fix, the problem is that when the voice is turned off it should output 50% amplitude and not 0%. The 50% value is what makes POKE 36878,15 emit a "pop" sound.
I don't know the Mister VIC 20 codebase, I think it was forked from MiST at a certain point in time and from then only occasionally reconciled.
I don't have a Mister to try, but I can look at the code, and if I manage to compile it perhaps I can send you a file to try.
Re: Mist/Mistica FPGA
Thank you Nippur, happy to test.
Link to my MiSTer thread here
https://misterfpga.org/viewtopic.php?f=12&t=264
Link to my MiSTer thread here
https://misterfpga.org/viewtopic.php?f=12&t=264
Vic20-Ian
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
Re: Mist/Mistica FPGA
@Ian - do you find the MiSTer distortion bearable?
To me it makes the Vic core useless. I've tried several different monitors, all with the same result.
It's only the Vic-20 core, all the others are fine so don't think it's my hardware.
To me it makes the Vic core useless. I've tried several different monitors, all with the same result.
It's only the Vic-20 core, all the others are fine so don't think it's my hardware.
Re: Mist/Mistica FPGA
I have not done a great deal with it but did play a few of my favourite games like Star Defence and Myriad and did not have an issue that made it unusable.
The missing voice on Berzerk MMX+ was a disappointment.
The missing voice on Berzerk MMX+ was a disappointment.
Vic20-Ian
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
Re: Mist/Mistica FPGA
I was able to setup the IDE and compile for the Mister.
I merged the the audio section of the 6561 I wrote for the MiST last year, indeed the Mister code was very old dating back to my intervention, so it also lacks all the improvements on the video section that have been written for the MiST in the while. It's a pity there there is no central repository with just one single implementation always kept update.
I've put the resulting .RBF file here if you want to give it a try. Consider that I don't own a Mister yet, so it was a completely "blind" build. It's the first ever Mister core that I compile, so I don't know if it starts at all.
Anyway, if everything is ok, you should be able to hear the voice in Berzerk MMX+. Please let me know.
Regarding the audio distortion you mentioned, I guess it's something that has to do with "audio mixing" outside of the VIC20 emulation. I don't know much of the Mister yet, the code looks foreign to me, also because it's a much more complex machine than the MiST. Apparently there is a HDMI audio, a SPDIF audio and normal audio. And also a "linux audio"!
The issue I supect might be here, but I'm totally clueless:
I merged the the audio section of the 6561 I wrote for the MiST last year, indeed the Mister code was very old dating back to my intervention, so it also lacks all the improvements on the video section that have been written for the MiST in the while. It's a pity there there is no central repository with just one single implementation always kept update.
I've put the resulting .RBF file here if you want to give it a try. Consider that I don't own a Mister yet, so it was a completely "blind" build. It's the first ever Mister core that I compile, so I don't know if it starts at all.
Anyway, if everything is ok, you should be able to hear the voice in Berzerk MMX+. Please let me know.
Regarding the audio distortion you mentioned, I guess it's something that has to do with "audio mixing" outside of the VIC20 emulation. I don't know much of the Mister yet, the code looks foreign to me, also because it's a much more complex machine than the MiST. Apparently there is a HDMI audio, a SPDIF audio and normal audio. And also a "linux audio"!
The issue I supect might be here, but I'm totally clueless:
Code: Select all
always @(posedge clk) begin
reg signed [16:0] a1, a2, a3, a4;
a1 <= is_signed ? {ca[15],ca} : {2'b00,ca[15:1]};
a2 <= a1 + {linux_audio[15],linux_audio};
pre_out <= a2[16:1];
case(mix)
0: a3 <= a2;
1: a3 <= $signed(a2) - $signed(a2[16:3]) + $signed(pre_in[15:2]);
2: a3 <= $signed(a2) - $signed(a2[16:2]) + $signed(pre_in[15:1]);
3: a3 <= {a2[16],a2[16:1]} + {pre_in[15],pre_in};
endcase
if(att[4]) a4 <= 0;
else a4 <= a3 >>> att[3:0];
//clamping
out <= ^a4[16:15] ? {a4[16],{15{a4[15]}}} : a4[15:0];
end
Re: Mist/Mistica FPGA
Thanks, for this.
Will take a look as soon as can, currently in the middle of decorating the home/office, so MiSTer not set up.
Will take a look as soon as can, currently in the middle of decorating the home/office, so MiSTer not set up.