Создать ответ 
 
Рейтинг темы:
  • Голосов: 0 - Средняя оценка: 0
  • 1
  • 2
  • 3
  • 4
  • 5
DreamShell lua source code
Автор Сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #4
DreamShell lua source code
В связи с вынужденным обновлением DS, я решил воспользоваться возможностью и всетаки впихнуть нужные функции для CD-ROM.
И написал более автоматизированный скрипт по рипу GD-ROM'ов
Теперь не нужно указывать сектора, скрипт все треки сам рипанет и рипанет как надо :)

Работает он естественно только в v2.3.1

Код:
-- RIP GD-ROM with modem using v1.5
-- Created by SWAT
-- http://www.dc-swat.net.ru
-- dc-swat@nm.ru
-- Usage: lua gdrip.lua



function write_data(sbuf, sbyte)

return DS.modem_write_data(sbuf, sbyte);

end



function rip_sec(trak_num, first, nsec, type)

local secbyte, rerr, werr, istep, secbuf


if type == 4 then
  secbyte = 2048
end

if type ~= 4 then
  secbyte = 2352
end

rerr = 0
werr = 1

print("\nCerrent Sector | Total MBytes| Track number\n")

    for istep=0, nsec do

 
    rerr = DS.cdrom_read_sectors(secbuf,first+istep,1)
 
 if rerr ~= 0 then
      print("DS_ERROR: GD-ROM read error")
    return
 end

    werr = write_data(secbuf, secbyte)

 
   if werr == 0 then
       print("DS_ERROR: 0 bytes written, maybe modem not connected?")
         break
 end
 
       if istep == 0 then
          print(first+istep, "", secbyte/102400, "", trak_num)
       end
       
       if istep > 0 then
          print(first+istep, "", istep*secbyte/102400, "", trak_num)
       end
    end
end






print("DS_PROCESS: Ripping GD-ROM...")

local start, s_end, s_size, type, tn
toc = DS.CDROM_TOC_new();

for session=0, 1 do

local ret = DS.cdrom_read_toc(toc, session);
    if ret > 0 then
 print("DS_ERROR: Toc read error")
    return
    end

local first = DS.TOC_TRACK_(toc.first);
local last = DS.TOC_TRACK_(toc.last);

    print("DS_INF: Session ", session+1)

    for tn=first, last do

 type = DS.TOC_CTRL_(toc.entry[tn-1]);
 start = DS.TOC_LBA_(toc.entry[tn-1]);
 
 if tn == last then
   s_end = DS.TOC_LBA_(toc.dunno);
 end

 if tn ~= last then
   s_end = DS.TOC_LBA_(toc.entry[tn]);
 end

 s_size = s_end - start
 rip_sec(tn, start, s_size, type)
    end
end

print("DS_OK: End ripping.")

[Изображение: barbers.png]
06.09.2005 23:59
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ 


Сообщения в этой теме
DreamShell lua source code - SWAT - 02.09.2005, 00:12
DreamShell lua source code - SWAT - 05.09.2005, 00:42
DreamShell lua source code - SWAT - 06.09.2005, 02:29
DreamShell lua source code - SWAT - 06.09.2005 23:59
DreamShell lua source code - zaero - 01.10.2005, 18:48
DreamShell lua source code - SWAT - 02.10.2005, 20:18
DreamShell lua source code - SWAT - 02.10.2005, 20:48
DreamShell lua source code - alex - 12.11.2005, 22:18
DreamShell lua source code - zaero - 12.11.2005, 22:38
DreamShell lua source code - SWAT - 12.11.2005, 22:46
DreamShell lua source code - zaero - 20.11.2005, 22:56
DreamShell lua source code - SWAT - 21.11.2005, 18:31
DreamShell lua source code - zaero - 21.11.2005, 18:37
DreamShell lua source code - SWAT - 21.11.2005, 18:43
DreamShell lua source code - zaero - 21.11.2005, 22:05
DreamShell lua source code - SWAT - 22.11.2005, 15:28
DreamShell lua source code - zaero - 22.11.2005, 20:14
DreamShell lua source code - SWAT - 22.11.2005, 22:11
DreamShell lua source code - zaero - 22.11.2005, 22:19
DreamShell lua source code - SWAT - 23.11.2005, 20:09
DreamShell lua source code - zaero - 24.11.2005, 19:11
DreamShell lua source code - zaero - 24.11.2005, 22:26
DreamShell lua source code - zaero - 05.12.2005, 18:54
DreamShell lua source code - SWAT - 05.06.2006, 14:13
DreamShell lua source code - zaero - 06.06.2006, 01:59
DreamShell lua source code - SWAT - 10.08.2006, 17:06
DreamShell lua source code - SWAT - 10.08.2006, 19:16
DreamShell lua source code - SWAT - 12.08.2006, 18:37
DreamShell lua source code - zaero - 19.12.2006, 04:36
DreamShell lua source code - SWAT - 29.01.2007, 20:58

Похожие темы
Тема: Автор Ответов: Просмотров: Посл. сообщение
  Need help building Dreamshell Rio 10 3481 01.07.2024 09:11
Посл. сообщение: SWAT
  DreamShell dev environment setup on macOS VeraBecker 17 10915 19.09.2023 06:25
Посл. сообщение: SWAT
  Приложение для DreamShell SuperClaw 170 439594 01.05.2016 08:12
Посл. сообщение: SWAT
  DreamShell 4.0 - XML Doc SWAT 6 36673 06.04.2015 13:41
Посл. сообщение: SWAT
  DreamShell 4.0 - Module dev SWAT 8 33260 23.12.2013 13:20
Посл. сообщение: SWAT
  Dreamshell BETA3/BETA4 Direct Swap atreyu187 3 20794 09.09.2011 14:27
Посл. сообщение: SWAT
  DreamShell 4.0 - App dev SWAT 3 23339 22.06.2011 23:09
Посл. сообщение: Jirohn
  DreamShell 4.0 - Bug Report SWAT 54 176435 28.03.2011 07:24
Посл. сообщение: SWAT
  Разработка блокнота для DreamShell zaero 28 93854 31.01.2011 16:02
Посл. сообщение: SWAT
  DreamShell 4.0 - Beta Testing SWAT 76 243862 14.07.2010 20:58
Посл. сообщение: SWAT

Переход:


Пользователи просматривают эту тему: 12 Гость(ей)