RSS
Pages: 1 2
[>] old-games.ru, сайт старых игрушек
retro.talks
oldpc(51t, 2) — All
2022-05-17 19:54:00


Захотел скачать первую kings bounty. Пошёл на сайт old-games.ru. Это просто превосходно, никто не мог загрузить мой крутейший пентиум 450, а на этом сайте оно просит подтвердить 150 сертификатов и тормозит, как не в себя.

Кое-как добрался до страницы загрузки. И, конечно, там rar. В woody rar 2.80 и unrar 2.71, и, конечно, они этот формат не понимают. Не поиграл.... вот тебе и сайт старых досовских игр.

[>] windows 95 через pxe через memdisk
retro.talks
oldpc(51t, 2) — All
2022-05-19 10:53:00


Проприетарщине не место на HDD, конечно, но если одним глазком, да на посмотреть, то пусть лежит на pxe-сервере. Тем более, с hdd продолжаются глюки, теперь ibm не хотел грузиться вообще при наличии в компьютере hdd: пришлось стартовать без него а его подключать уже по ходу загрузки :)

В общем, про win95 помню то, что там в другую железку воткнёшь, она на него начнёт драйверы искать, перезагрузиться просить и всё такое прочее, мутно в общем.

А потом меня как током осенило про DriveSpace. Это же просто файл *.000, который можно туда сюда тягать.

В общем, поставил я win95, установил драйверы на видео, звук и сеть. Сжал её, попутно поставил минимальный plus! (проприетарщины мало не бывает) для ultrapack-перепаковки. В ie3 сайт не показывается, поэтому сделал сначала ie4, потом ie5.5. Поудалял ненужное, чтобы файл диска влез в 60 мб.

Для qemu-kvm создал файл диска на 63 мб (половина оперативной памяти), загрузился с win95-дискетки, установил загрузчкик. Потом методом mount -o loop,offset=32256 смонтировал hdd, и заменил там все файлы, кроме загрузчика io.sys.

Сделал эталонную копию, проверил в kvm - работает. Проверил сетевую загрузку - тоже работает :) Загружается мгновенно, все драйверы на месте, перезагрузиться не просит. Ну и пусть будет, 63 мб для проприетарщины не жалко :)

[>] dg: простейший dos games downloader
retro.talks
oldpc(51t, 2) — All
2022-05-20 15:41:00



import sys, os; k = sys.argv[1][0] #dgpy ver 0.0.1

if k=='u':
  print ('mv games.utf games.bak')
  print ('wget http://ii.blcat.ru/s/games.utf')
  exit()

def dl(p,u,f,d):
  if not os.path.exists('dl/%s' % f):
    print ('mkdir -p dl && wget -c %s -O dl/%s' % (u,f))
  if k=='i':
    print ('mkdir -p dos/%s' % p)
    print ('unzip -d dos/%s dl/%s' % (p,f))

db = open('games.utf').read().splitlines()
def gv(v): return [n for n in db if n.split(' ')[0] == v]

if k=='s':
  print ('cat << EOFSEARCH')
  for t in db:
    t = t.split(' ',3)
    t = ' '.join((t[0],t[2],t[3]))
    if any([s.lower() in t.lower() for s in sys.argv[2:]]):
      print ("%s" % t)
  print ('EOFSEARCH')
else:
  for t in sys.argv[2:]:
    if gv(t):
      dl(*gv(t)[0].split(' ',3))




Для использования требуется скрипт враппер. Сохранить данный python-код, как dg.py, и рядом создать файл dg следующего содержания:

python3 dg.py $* | sh

Где python3 - используемая версия. Умеет следующие команды (все команды распознаются по первой букве, команды d и download равнозначны)

sh dg u : обновить базу данных. её урл жёстко захаркожен во первЫх строках
сейчас там игры с сайта gamesindos.narod.ru, но я добавлю и другие

sh dg s str1 str2 : ищет в базе описания, где есть str1 или str2, например d s keen wolf найдёт все упоминания keen и wolf. Если нужно, наоборот, сужать критерии поиска (когда игр будет много), можно any( в скрипте заменить на all(

sh dg d game1 game2 : скачивает указанные игры (название игры это первый столбец в поиске) в подкаталог dl. Например sh dg d keen1 civ-rus

sh dg i game1 game2 : скачивает (если ещё не загружены) и устанавливает игры в подкаталог dos (этот подкаталог можно сделать симлинком на директорию с играми в dosemu, dosbox или real dos, типа ln -s /mnt/hda2/gamez dos)

Типичное использование:

* Сохранить в отдельную поддиректорию файл dg.py
* echo 'python3 dg.py $* | sh' > dg
* sh dg u
* sh dg i civ-rus bounty pole-sch

(upd: изменена ссылка на games.utf)

Pages: 1 2