C64Power Forum

Hardware => Hardware => Wątek zaczęty przez: aldarn w 17 Stycznia 2008, 19:10

Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: aldarn w 17 Stycznia 2008, 19:10
 witam,  
  chcialbym  zrobic  uklad  odgrywajacy  sid`y,  cos  na  wzor  playera  mp3.  potrzebuje  informacji  na  temat  mos6581,  a  mianowicie,  czy  dane  z  pliku  sid  od  offsetu  7C  moglbym  poprostu  wpisywac  na  wejscie  tego  ukladu  z  czestotliwoscia  50Hz?  czy  te  dane  wymagaja  jakiejs  konwersji?
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Kisiel w 17 Stycznia 2008, 20:43
 no  cóż  robisz  to  samo  co  zwykły  player  na  komciu  wstawiwasz  co  50hz  (lub  więcej)  wartości  do  komórek  i  gra  tylko  jeszcze  musisz  rozpoznać  co  to  za  player  i  co  oznaczają  wartości,  patern  czy  nutka...  itd...  najłatwiej  jest  zaemulować  6502  i  poprostu  puścić  to  w  normalnych  wywołaniach.
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: aldarn w 17 Stycznia 2008, 21:28
 no  tak,  wlasnie  czytam  o  tym  od  kilku  godzin  i  nachodza  mnie  kolejne  pytania.  wczesniej  sadzilem,  ze  wystarczy  jedynie  zaprogramowac  mikrokontroler  by  wysylal  dane  do  sid`a,  ale  teraz  widze,  ze  sid  posiada  kilkadziesiat  rejestrow,  ktore  zapewne  musza  byc  jakos  wykorzystane.  
  czy  ktos  posiada  moze  do  tego  jakas  dokumentacje?  na  necie  jest  o  tym  tylko  wspomniane  pobierznie,  nie  ma  nic  o  znaczeniu  danych  wysylanych  do  sid`a  i  o  funkcji  rejestrow.
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Kisiel w 18 Stycznia 2008, 08:16
 to  akurat  jest  zbędna  informacja..  wystarczy  ze  zobaczysz  kod  dowolnego  playera  oraz  obejrzysz  sobie  pdf  z  danymi  technicznymi  sid`a.  
  Jak  chcesz  coś  zrobić  to  musisz  opanować  assembler  6502  a  nie  jakiegoś  pic`a
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: aldarn w 18 Stycznia 2008, 09:54
 chcialbym  zrobic  to  poza  6502  tylko  na  zwyczajnym  mikrokontrolerze  avr.  
  wiem  juz  jak  wysterowac  sid`a  ale  ciagle  nie  wiem  w  jaki  sposob  przetworzyc  informacje  w  pliku  muzycznym  .sid  na  postac  zrozumiala  dla  6581.  
   
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Raf w 18 Stycznia 2008, 10:35
 Kisiel  Ci  juz  powiedzial  ze  potrzebujesz  _emulowac_  6502  zeby  odtwarzac  ta  muzyke  ;-)  czytanie  ze  zrozumieniem  nie  boli  :)  
   
  zeby  nie  emulowac  6502  moznaby  jeszcze  wykorzystac  opcje  ktora  umozliwia  ktoryz  z  playerow  na  PC  pray  czym  nie  pameitam  jego  nazwy  -  wpisy  do  rejestrow  SIDa  byly  tam  zapisywane  i  kompresowane  do  formatu  .gz,  wiec  na  mikrokontrolereze  trzeba  by  dekompresowac  ten  plik  po  czesci  w  locie  (oile  jest  wystarczajaco  szybki)  i  wpisywac  dane  do  sida  z  odpowiednia  czestotliwoscia...
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: TuMe64 w 18 Stycznia 2008, 11:02
 Jeśli  chcesz  to  rzuć  okiem  na  to  :  http://www.swinkels.tvtom.pl/swinsid/ kliknij  tam  SID  PLAYER  .  z  tego  co  tam  pisze  to  jest  tam  emulacje  6502...ale  może  ktoś  ci  tam  pomoże  w  czymś...  a  tu  coś  innego  :  http://www.tripoint.org/kevtris/Projects/sid/sidplayer.html
   
  Chciał  bym  mieć  sid  palyera...więc  życzę  powodzenia  !!
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: aldarn w 18 Stycznia 2008, 11:07
 szczerze  mowiac,  nie  wiem  co  kisiel  mial  na  mysli  piszac  o  emulacji  6502...  czy  rzeczywiscie  jest  to  latwiejsze  to  nie  sadze.  dzieki  za  informacje  o  tym  playerze,  sprobuje  zrobic  to  wykorzystujac  wlasnie  bezposredni  zapis  rejestrow,  z  czestotliwoscia  PAL.  powinno  chyba  zadzialac  ;)  
   
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Kisiel w 18 Stycznia 2008, 11:31
 problem  będzie  w  tym,  że  każdy  utwór  będziesz  musiał  przerabiać..  a  emulacja  6502  jest  prosta  i  nie  musi  być  pełna...  zaletą  jest  prostota  i  elastyczność,  na  takim  sprzęcie  pójdzie  każda  muza  z  c64  nawet  ta  z  greystorm`a.
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: KB777 w 18 Stycznia 2008, 13:42
 1.  SID  to  nie  przetwornik  C/A  ;)  
  2.  Co  jest  w  pliku  .sid  ?    Otóż  nie  tylko  same  dane  o  muzyce.  Jest  tam  też  kod  na  6502,  który  steruje  SIDem.  
  Gdybyś  chciał  odtwarzać  sid-y  na  jakimś  AVRku  czy  PICu  z  podłączonym  6581  to...  musiałbyś  sobie  napisać  emulator  6502.  
  No,  chyba  że  \'zgrasz\'  odwołania  do  rejestrów  SIDa  ;)  
   
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Raf w 18 Stycznia 2008, 14:33
 szczrze  mowiac  to  skoro  nei  wiesz  nawet  tego  to  najpierw  poczytaj  w  ogole  co  to  plik  SID,  bo  to  nie  jest  MIDI,  MP3  albo  XM,  a  tak  jak  napisal  KB777..    
   
  jest  to  po  prostu  program  dla  procesora  6502  -    zrzut  kawalka  RAM  z  c64  ktory  jest  podprogramem  (najczescej  wywolywanym  w  przerwaniu)  odpowiadajacym  za  wpisywanie  odpowiednich  wartosci  do  SIDa...  
   
  Nie  chce  byc  nieuprzejmy,  ale  jesli  nadal  tego  nie  rozumiesz  to  lepiej  odpusc  taki  projekt.
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Kisiel w 18 Stycznia 2008, 15:00
 ojeja  raf  a  ja  kiedyś  nie  wiedziałem  jak  wstawić  na  ekranie  znak...  a  teraz  napisałem  playera  adpcm  do  komcia  z  512kB  ram..  kiedyś  ma  szanse  sie  nauczyć.
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Raf w 18 Stycznia 2008, 15:03
 ...odpusc  dopoki  nie  zrozumiesz  jak  dzialaja  rzeczy  ktore  chcesz  zaimplementowac  ;-)
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Raf w 18 Stycznia 2008, 15:05
 anyway  znalazlem  dzieki  Anderas`owi  Varga`dze  to  o  czym  mowilem  -  zwie  sie  to  littlesid  /  nanosid.  problem  tylko  taki  ze  nie  ma  tego  juz  w  necie  a  ja  niestety  mam  tylko  kopie  playera  oraz  muzyczek  w  formacie  ZSID  :)  zrodlo  nanosida  by  sie  przydalo  ;-)
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: aldarn w 18 Stycznia 2008, 15:11
 ok,  zakladajac  ze  wykorzystalbym  6502  jako  kontroler,  to  czy  konieczne  byloby  wgrywanie  mu  kernal`a?  czy  tylko  innym  mikrokontrolerem  wpisac  mu  player`a  i  muzyke  i  puscic  w  ruch?
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Kisiel w 18 Stycznia 2008, 15:34
 a  jak  chcesz  wysyłac  dane  do  tego  \'kontrolera\'  ?  USB,  RS232  IRDA?
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: aldarn w 18 Stycznia 2008, 15:38
 kontroler  bedzie  czytal  z  eeprom`a,  na  koncu  zajme  sie  dopiero  interfejsem  LPT.
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Kisiel w 18 Stycznia 2008, 15:48
 interfrace  szeregowy  czy  równoległy?  
  Obczaj  może  lepiej  SAM7  ze  stajni  atmela,  ma  USB1.1  SAMBA  (boot  przez  usb)  jest  dość  sporo  zródełek  łacznie  z  fat32  więc  można  podpiąć  SD/mmc,  koszt  niewielki  bo  raptem  ze  20  zyla  a  przy  70MIPS-ach  to  on  całego  komcia  zaemuluje  ;)
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: fenek_ars w 19 Stycznia 2008, 14:15
 Tak  się  tylko  wtrące,  nawet  jeżeli  
  zrobiłbyś  wersję  bez  emulacji  6502,  tylko  
  wpisywał  dane  do  SIDa,  to  musisz  wiedzieć  
  o  tym  że  ważna  jest  kolejność  odświeżania  
  rejestrów!!!.  Już  nie  wspomnę  że  ważne  są  też  czasy  (ilość  cykli)  przy  odświeżaniu  
  kolejnych  rejestrów  -  np.  przy  muzyczkach  
  odgrywanych  kilka  razy  na  ramkę,  z  długim  rastertimem.  
   
  Nie  możesz  sobie  od  tak  wpisać  danych  od  rejestru  $d400  do  $d418,  bo  w  najlepszym  wypadku  SID  będzie  pierdzieć.  
  Z  tego  co  pamiętam  to  NanoSid  zapamiętywał  
  dane  oraz  właśnie  kolejność  rejestrów.  
  I  dało  się  tego  słuchać.
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: aldarn w 19 Stycznia 2008, 18:32
 nanoSID,  wszedzie  na  necie  jest  to  program  do  odtwarzania  Zsid`ow.  ktos  moze  podac  linka  do  tego  nanoSid`a,  ktory  moze  konwertowac  sid`y  na  stany  rejestrow?
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: fenek_ars w 19 Stycznia 2008, 19:21
 http://www.c64.no/nanosidplay/
   
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: TuMe64 w 19 Stycznia 2008, 21:42
 niewiem  czy  to  złudzenie  ale  ten  nanosid  chyba  lepiej  (od  sidplaya)  muzyczki  odgrywa.  :)  
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: TuMe64 w 19 Stycznia 2008, 21:42
 niewiem  czy  to  złudzenie  ale  ten  nanosid  chyba  lepiej  (od  sidplaya)  muzyczki  odgrywa.  :)  
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: chateau w 19 Stycznia 2008, 23:41
 sidplay2  to  przestarzaly  emulator  ktory  nie  wykorzystuje  nawet  wszystkich  mozliwosci  resida  wiec  nie  dziwne.
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: aldarn w 20 Stycznia 2008, 10:19
 jak  za  pomoca  nanoSidPlay  otrzymac  stany  rejestrow  i  czasy  podawania  ich  do  SID`a?
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: Raf w 20 Stycznia 2008, 17:20
 nanosidplay  ma  bardzo  dobra  jakosc  ,  a  stosunek  wydajnosc/jakosc  jest  nie  do  pobicia.  szkoda  ze  strona  autora  gdzies  zaginela  oraz  ze  nie  udostepnil  on  kodu  zrodlowego.  ja  sciagnalem  tylko  prekompilowane  bibliteki  oraz  pliki  naglowkowe  (da  sie  to  possac  z  the  wayback  machine  ale  jako  ze  to  nie  archwiuzje  plikow  zip  to  konwertera  sid2zsid  juz  sie  nie  da  pociagnac)  
   
  ta  strona  ktora  zapodal  Fenek  niestety  nie  obejmuje  tez  samego  nanosida  
   
  natoamist  z  nanosidplaya  i  niemu  podobnych  nie  da  sie  uzyskac  wpisow  do  rejestrow  sida  bo  (bynajmniej  z  tego  co  przejarzlem  w  pliku  naglowkowym)  biblioteka  dziala  transparentnie...
Tytuł: mos6581 - wejscie danych
Wiadomość wysłana przez: TuMe64 w 22 Stycznia 2008, 19:49
 nie  wiem  czy  ci  coś  to  w  czymś  pomoże  ale  program  SID2MIDI  który  oprócz  przerabiania  sidów  do  midi  może  generować  plik  TXT  z  danymi  utworu.  
  w  nagłówku  są  wyszczególnione:  
  time  note  freq  pw  wf  adsr  i  vl.  prz  każdej  nutce  jest  podany  czas(chyba  czas  grania  tej  nutki)  no  i  kolejne  w/w  dane.masz  tu  link  tego  programu  zaobacz  :  http://home.arcor.de/ms2002sep/bak/SID2MIDIw.exe może  nauczysz  procesorek  dowądzący  interpretować  i  wysyłać  te  dane  sidowi  :)