Comments (20)
The SID of the TC64 core sounds exactly like the real thing to my ears.
While I'm not a musician the difference is pretty clear, for both SID
models.
Unfortunately it isn't open-source...
On Jan 14, 2016 7:00 PM, "sorgelig" [email protected] wrote:
The SID code in C64 core doesn't look accurate Sound in some tunes looks
strange or messed in some cases
For example, Intro with dancing girl (again dancing girl, haha!) in
Hollywood Poker Pro is very messed
And even tunes primarily considered OK, sound strange Turrican II Title
sound is too jerkyOne problem in SID code is noise generator The second is total filter
absence in codeI've found another, unfortunately unfinished, SID FPGA project in
fpgaarcade http://wwwfpgaarcadecom/punbb/viewtopicphp?id=256 forum That
project is based on chip decaping according to author I've made it work
with C64 core, it also has issues, but what is working, looks correct It
seems like one channel is not working, and i didn't find the source of
problem But noise does look correct It also has filters implementation, but
according to author the filter part hasn't finished yet I've imported noise
generator to existing SID code from fpgaarcade project Noise is better, but
not enough to be acceptableDoes anyone now other FPGA SID implementations? Or may be someone can help
to fix the problems by mixing these 2 SID implementations?—
Reply to this email directly or view it on GitHub
#18.
from mist-board.
Not open source is useless here.
And by the way, i've read on some German forum about TC64's SID, that is has many unfinished or non-working parts in code. Some tunes can sound ok, but some are not.
Did you try Hollywood Poker Pro Intro on TC64? https://www.youtube.com/watch?v=mn4pGa5nIR4
from mist-board.
May be i will tell crazy thought, but what if.... make some core with high enough CPU clock and run VICE inside it? Because VICE looks very polished and mature comparing to FPGA64. And it looks like nobody works on code anymore.
Perhaps can make CPU core for SID-only emulation, but reSID uses large tables and i'm afraid won't fit into FPGA RAM since FPGA64 already occupies 2/3 of available RAM.
from mist-board.
Does vice run fast and accurate enough on the amiga 500 or the Atari ST? That's about the fastest we have on the mist today.
It might be possible but instead of writing a whole c64 in hdl you'd write a complete system able to run the vice emulator. I'd assume that might even be more work.
from mist-board.
There is another c64 core which is also named fpga64: http://fpga64.blogspot.de
I once was in contact with him but haven't received in answer for over a year. That core is lacking floppy support which we now have. It would imho make much more sense to get in touch with him again.
from mist-board.
In the mean time i've got more ideas.
What about this one in FPGA? http://www.swinkels.tvtom.pl/swinsid/
It seems provides full replacement for SID in simple AVR chip.
I've checked opencores and it has couple AVR models. Atmega8515 has only 8kb ROM and 512b RAM.
from mist-board.
About that FPGA64 project: i've found the sources used in project here https://svn.pacedev.net/repos/pace/sw/src/component/sound/sid/ It uses the same SID model as MIST.
Found this info from following video: https://www.youtube.com/watch?v=4bhIrPKqFII
from mist-board.
Ah, indeed. Too bad. But the rest seems pretty cool and may be worth a look, anyway.
from mist-board.
On the subject of systems fast enough to run VICE, the f32c MIPS/RISCV core is interesting - in MIPS configuration the CPU is significantly smaller than the TG68 but it's ridiculously fast - it can turn in about 180DMIPS @ 100MHz.
from mist-board.
Hmm. Tried to register on fpgaarcade forum but got rejection (and it seems manual admin approval). It seems not everyone allowed to be there.
Just wanted to ask in SID topic about status...
from mist-board.
Be careful with code from fpgaarcade.com - AFAIKat least some code there is only allowed to be used on the fpga arcade board, so it's not really open-source, or at least not GPL - compatible.
As for running VICE on MiST, my guess is that this emulator is way too complex, so it would be really hard to run it full speed on any CPU architecture.
BTW, I have a Pentium 200 system with 133MHz SDRAM, which I guess is surely above the maximum performance one could get from a Cyclone III FPGA, I'll try to run Vice on it and see if it works normally.
from mist-board.
SID code doesn't limit usage on fpgaarcade board only. No GPL mention but free to use and redistribute. Anyway, the code is also not working well.
Actually both original SID code and from fpgarcade have problem with noise simulation or something relative to it.
It looks like AVR simulator is the best way to go. The only problem, is source code absence of latest nano-SwinSID firmware for ATmega88. They have source code for older version which is much older.
Also, AVR module is for ATmega103 and need to be tweaked for Atmega88 (because source code of firmware is absent).
I'm not sure if my experience will be enough to handle this implementation.
from mist-board.
Hi.
rkrajnc - There are some cores by other authors under different licensing. Some of the board specific libraries are under "only use here" license as they are written specifically for the replay board. All my stuff, including the cores, is fully open source. If in doubt read the license or ask a question.
This will be further relaxed shortly.
sorgelig, I have no idea why you got rejected, please email and I'll fix it. The forum is getting a huge amount of spammer registrations and this was a necessary step. I posted some comments apologizing for this and asking anybody who did not receive a mail to contact me.
I intend to look at the SID filters again shortly.
/Mike
from mist-board.
Mike: OK.
sorgelig: maybe it is a better idea to check the SwinSID code and see if we can fix the current SID implementation, instead of replacing it with a ATMega core and related code - it just seems simpler to do.
I can check the noise channel implementation - I guess this is a simple LFSR pseudo-random noise generator, so all that is required is figuring out what kind of polynomial is used, and the initial state.
from mist-board.
@fpgaaracde Mike, glad to see you here! My mailbox name is very suspicious, right :) It's because i've made it long time ago just for registering on boards and eventually receive the spam. When i registered on github i didn't expect to participate in development, but it turned out i'm in. My mailbox is pour.garbage_at_gmail.com I've tried to mail to admin of board without success.
That's good, you will continue your SID library. Additional to Noise, there is something strange with channels. Hollywood Poker Pro(HPP) Intro looks like one channel is missing. I have your SID library integrated into C64 code. If you want, i can send you the code for testing.
It seems HPP Intro uses some special tricks in music and it's good for testing.
@rkrajnc
yes, it's LFSR, and the code is seems correct, but it looks like not working. In original code the beginning of HPP Intro is always noisy, in Mike's library the noise sounds not like noise. At the same time in hacker's intro before original intro i hear good drums with noise.
I've learned how to implement true RNG using LFSR with cell ring oscillator while working on Menu core. So, may be it can be used in SID.
from mist-board.
@sorgelig,
The LSFR noise generator, taps and mux is correct (as far as we can
tell) from the layout. There are some additional complexity with
feedback when multiple waveforms are turned on at the same time which
isn't quite right.
Something else is going wrong, almost certainly in the "analog" stage.
Please send any changes you make back so I can merge into our SVN.
Which mail address did you sent to, I received nothing (which is
worrying). Please register again and I'll check the logs.
/Mike
On 18/01/2016 08:13, sorgelig wrote:
@fpgaaracde https://github.com/fpgaaracde Mike, glad to see you
here! My mailbox name is very suspicious, right :) It's because i've
made it long time ago just for registering on boards and eventually
receive the spam. When i registered on github i didn't expect to
participate in development, but it turned out i'm in. My mailbox is
pour.garbage_at_gmail.com I've tried to mail to admin of board without
success.That's good, you will continue your SID library. Additional to Noise,
there is something strange with channels. Hollywood Poker Pro(HPP)
Intro looks like one channel is missing. I have your SID library
integrated into C64 code. If you want, i can send you the code for
testing.
It seems HPP Intro uses some special tricks in music and it's good for
testing.@rkrajnc https://github.com/rkrajnc
yes, it's LFSR, and the code is seems correct, but it looks like not
working. In original code the beginning of HPP Intro is always noisy,
in Mike's library the noise sounds not like noise. At the same time in
hacker's intro before original intro i hear good drums with noise.I've learned how to implement true RNG using LFSR with cell ring
oscillator while working on Menu core. So, may be it can be used in SID.—
Reply to this email directly or view it on GitHub
#18 (comment).
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
from mist-board.
@fpgaaracde
I've just registered of forum finally. I've used other e-mail.
My changes aren't meaningful for SID code itself. I've just changed the code so, interface works at 32MHz while internal modules like voices, filters at original 1MHz frequency. I can give you the whole C64 source code with your SID module integrated, if it can help you to debug. Or may be just to check if i did it correctly.
Too bad, I cannot simply publish the source code on the github.
from mist-board.
Hi,
@fpgaaracde https://github.com/fpgaaracde
I've just registered of forum finally. I've used other e-mail.
Great.
My changes aren't meaningful for SID code itself. I've just changed
the code so, interface works at 32MHz while internal modules like
voices, filters at original 1MHz frequency. I can give you the whole
C64 source code with your SID module integrated, if it can help you to
debug. Or may be just to check if i did it correctly.Too bad, I cannot simply publish the source code on the github.
You can as long as the header is in place. Take the files as is, and add
a line at the top, something like
"modifed by XXX, original at svn.fpgaarcade.com"
and your changes. I'll merge back any fixes.
I do this when I take GPL code into my public SVN etc, although I double
check with the author.
Why wouldn't clocking the code at 32MHz with a 1M clock enable work with
the original code?
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
from mist-board.
Why don't you want to upload repository to github?
About clocking: for 32MHz i have to create 1MHz EN strobe. I've tried to make it but failed. So, to make task easier i've just made 2 clocks separate. Especially because of sound problems i wanted to minimize incompatibilities in clocking.
from mist-board.
This has been discussed on the forum. Several reasons, the main one is
we have dedicated servers running SVN that we control so there is no need.
The other is there is some code which is not public yet, either because
we haven't clarified the license or it cannot be released (some of the
ASIC stuff). Mirroring between dev and public SVN works for now for me.
On 18/01/2016 13:45, sorgelig wrote:
Why don't you want to upload repository to github?
—
Reply to this email directly or view it on GitHub
#18 (comment).
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
from mist-board.
Related Issues (20)
- MiST fails to powerup if other voltage sources are connected HOT 6
- Problems with keyboard on Minimig-AGA core
- Ploblem C64 Core HOT 2
- Problem ZX80/81 Core HOT 7
- Firmware: exFAT support HOT 6
- Amstrad CPC+ / GX-4000 HOT 4
- Is it a possible to boot using an ARC file instead of core.rbf? HOT 4
- Tile-mapped OSD? HOT 1
- [C64] strange issue with scandoubler and SD card HOT 14
- [BBC] Video problems with PVM and new core HOT 12
- [C64] EasyFlash .crt 1MB compilations not working now. HOT 9
- Add ability to avoid db9 joystick renumbering (per core option) HOT 6
- Where is the MSX core? HOT 1
- Ready-to-use USB-Rtc HOT 15
- Documentation on using pages on ARC files HOT 1
- Savestates in Firmware possible? HOT 1
- zx spectrum core HOT 4
- >4GB support for Amiga SD partitions HOT 13
- Change link on github.com/mist-devel HOT 2
- Suggest BOSSA instead of SAM.BA or Sam_I_Am HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mist-board.