Welcome, Guest. Please login or register.


Author Topic: SIDBasic (Read 1231 times)

Offline geco

  • EP addict
  • *
  • Posts: 5014
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
SIDBasic
« on: 2017.May.09. 16:17:53 »
SIDBasic by IstvanV, and me ( rest of work and ideas by Istvanv), software SID music player, it plays converted SID music on a pure Enterprise 128KB machine without any hardware addon.
The software is EXOS compatible. If your config has any file handling device ( floppy disk controller, SD Card ) then after pressing ESC file selection menu appears, if you have tape config just load the chosen M64 file.
It decompress 8KB data blocks during playing music, this was the key to be able playing full musics on a 128 KB machine.
Limitations: maximum M64 file length is 24320 bytes which can be loaded (5f00h), SYNC, High Pass, Low Pass filters are not implemented, digi effects can not be played back.
Combined waveforms are not working correctly: in this case the conversion is done with priority noise > sawtooth > triangle > square wave.

Controls:
1 - play music with internal Dave chip
2 - play music with external 8bit DAC card if exist
3 - raster bar on (it works only 50Hz playback speed musics)
4 - raster bar off
Esc - file selection

Music control speed is done by machine code cycles in this way control frequency is much more flexible than using Nick interrupts for this purpose.
Playback speed on 4MHz machine:
12500 Hz playback speed up to 50 Hz music control speed
11905 Hz playback speed 50 - 120 Hz music control speed
11364 Hz playback speed above 120 Hz music control speed

Youtube

17877-0

Offline geco

  • EP addict
  • *
  • Posts: 5014
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: SIDBasic
« Reply #1 on: 2017.May.10. 08:53:24 »

Offline RockRiver

  • Newbie
  • Posts: 1
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 59.0.3071.125 Chrome 59.0.3071.125
    • View Profile
Re: SIDBasic
« Reply #2 on: 2018.July.08. 12:41:45 »
Hi!! Regards from your 8bit  CPC cousins at cpc-wiki forum....
on CPC system we are users of your old SIDplayer...
Nowadays I read about this new M64 files AY soundchip player on speccy side...

What about a CPC version ???? You think port it is complicated???

Thanks a lot for your great work and research.

Long live to 8bit. Z80 cpu power forever!!!

Offline geco

  • EP addict
  • *
  • Posts: 5014
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 61.0 Firefox 61.0
    • View Profile
Re: SIDBasic
« Reply #3 on: 2018.July.08. 19:48:49 »
Hello RockRiver
Welcome here :)
Speccy has quite fast AY access, CPC has a bit complicated, if you can help with a faster AY volume register access than what I know (the official way) - 3 volume registers should be written -  then I would try to make it to CPC, or probably I can check in new programs, for example in Star Sabre.
« Last Edit: 2018.July.11. 21:04:26 by szipucsu, Reason: Unnecessary quotation deleted »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4674
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: SIDBasic
« Reply #4 on: 2018.July.09. 16:14:18 »
It could be fast enough with some loss of resolution, perhaps with only 2 AY channels instead of 3. But this may still be slower than the Spectrum version, the official method would require 12 port writes. One channel can be written fast, however, the resolution would be worse than on the Plus/4. Another idea is to use one channel, but write it multiple times per sample to increase the effective resolution, this may or may not work in practice.
« Last Edit: 2018.July.09. 16:32:59 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 5014
  • Country: hu
  • OS:
  • Linux / Sony Ericsson SK17i Linux / Sony Ericsson SK17i
  • Browser:
  • Safari 4.0 Safari 4.0
    • View Profile
Re: SIDBasic
« Reply #5 on: 2018.July.09. 18:47:56 »
Could one channel write for 3 channels give back a good quality ? or do you mean to write 3 channels, just 1 channel multiple times ? What happens if one channel is written in equal time periods ?
I would like to check 1st the 3 channel write with the fastest ay port write algorythm. Just i would like to finish modplayer 1st.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4674
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: SIDBasic
« Reply #6 on: 2018.July.09. 19:18:14 »
What happens if one channel is written in equal time periods ?

If done frequently enough, it is similar to writing separate channels, but not as loud. However, if the time period of the whole loop is too long, it produces an audible frequency. Three channels multiplexed at 1/30000 second intervals can be heard as 10 kHz.

Offline geco

  • EP addict
  • *
  • Posts: 5014
  • Country: hu
  • OS:
  • Linux / Sony Ericsson SK17i Linux / Sony Ericsson SK17i
  • Browser:
  • Safari 4.0 Safari 4.0
    • View Profile
Re: SIDBasic
« Reply #7 on: 2018.July.09. 19:55:30 »
If done frequently enough, it is similar to writing separate channels, but not as loud. However, if the time period of the whole loop is too long, it produces an audible frequency. Three channels multiplexed at 1/30000 second intervals can be heard as 10 kHz.
it sounds good.