Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.52 KB | None | 0 0
  1. cx = 0
  2.  
  3. retrocore = 'fuse'
  4. --contents = {'merlin.z80','manicminer.z80','elite.z80'}
  5.  
  6. contentnum = 1
  7.  
  8. function corescreen(rcore, content)
  9.   emu.core(rcore)
  10.   vsimcorecfg.fuse.vsim_audio = "mute"
  11.   vsimcorecfg.fuse.vsim_everyxframes = "1"
  12.   print("Loading "..content)
  13.   local id = emu.emulate(-1, content,vsimcorecfg.fuse)
  14.   sleep(0.2)
  15.   local node = emuscreen(id, 1.33)
  16.   model.sel(node)
  17.   return node
  18. end
  19.  
  20. x = 0
  21. y = 0
  22.  
  23. screens = {}
  24.  
  25. function addCore()
  26.   local p = "lua\\coretest\\"
  27.   local p_ = p .. "zxprogs\\"
  28.   local ran = math.random(#zxprogs)
  29.   local content = zxprogs[ran]
  30.   local screen = corescreen(p..retrocore, p_..content)
  31.   screens[x..'_'..y] = screen
  32.   contentnum = contentnum + 1
  33.   model.sel(screen)
  34.   model.pos(x*6.7, -5+(y*6), 0)
  35.   x = x + 1
  36.   if x == cols_ then
  37.     y = y + 1
  38.     x = 0
  39.   end
  40.  
  41. end
  42.  
  43. cols_ = 0
  44. rows_ = 0
  45.  
  46. function grid(cols,rows)
  47.   cols_ = cols
  48.   rows_ = rows
  49.   print("Creating emulator grid")
  50.   print("Rows: "..rows.." columns: "..cols.." total emulators: "..rows*cols)
  51.   print("Retrocore: "..retrocore)
  52.   --print("Content to load: "..table.concat(contents,","))
  53.   for y_ = 0, rows-1 do
  54.     for x_ = 0, cols-1 do
  55.       flow.wait(450*(y_*cols+x_), 'addCore()')
  56.     end
  57.   end
  58. end
  59.  
  60. function printFPS()
  61.   print('Grid emulation FPS report:')
  62.   for b = 0, rows_-1 do
  63.     local out = ""
  64.     for a = 0, cols_-1 do
  65.       local nn = b*cols_+a
  66.       local fps = round(model.get('fps_'..nn+1))
  67.       out = out .. fps .. ' '
  68.     end
  69.     print(out)
  70.   end
  71. end
  72.  
  73. function flyin(x,y)
  74.   model.sel(screens[x..'_'..y])
  75.   model.fly(x*6.7, -5+(y*6), 0, 4, -5, -10-x/2, 500, "false", "false")
  76. end
  77.  
  78. function flyout(x,y)
  79.   model.sel(screens[x..'_'..y])
  80.   model.fly(4, -5, -10-x/2,x*6.7, -5+(y*6), 0, 500, "false", "false")
  81. end
  82.  
  83. function collect()
  84.   for y = 0, rows_-1 do
  85.     for x = 0, cols_-1 do
  86.       flow.wait((y*cols_+x)*80, 'flyin('..x..','..y..')')
  87.     end
  88.   end
  89. end
  90.  
  91. function disperse()
  92.   for y = 0, rows_-1 do
  93.     for x = 0, cols_-1 do
  94.       flow.wait((y*cols_+x)*80, 'flyout('..x..','..y..')')
  95.     end
  96.   end
  97. end
  98.  
  99. function readprogs()
  100.   zxprogs = net.dirtable('lua/coretest/zxprogs')
  101. end
  102.  
  103. readprogs()
  104.  
  105. function flycam()
  106.   model.sel(vsim.fpscam)
  107.   flow.waitui()
  108.   local pos = model.get('pos')
  109.   pos = pos:split(' ')
  110.   local x1=pos[1]
  111.   local y1=pos[2]
  112.   local z1=pos[3]
  113.   local xx = cols_/2
  114.   local yy = rows_/2
  115.   model.fly(x1,y1,z1, x*6.7, -5+(y*6), z1, 1000, 'false', 'false' )
  116. end
  117.  
  118. print("Coretest init.")
  119.  
  120. local coretest = {}
  121. return coretest
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement