gmod-lcpu/lua/autorun/lcpu_load.lua

66 lines
1.3 KiB
Lua
Raw Normal View History

2023-07-19 03:18:34 -04:00
AddCSLuaFile()
-- prime the native lua module & add clientside files to send
-- if running on the server
2023-07-24 06:50:18 -04:00
if SERVER then
require("lcpu_native")
if LCPUNative.ModuleVersion ~= 1 then
2023-07-24 06:50:18 -04:00
print("Your LCPU native module is somehow lagging behind the Lua code. Please rebuild it.")
LCPUNative = nil
2023-07-24 06:50:18 -04:00
return
end
-- rapid iteration requires rapid solutions
2023-07-27 16:30:59 -04:00
--[[
device = LCPUNative.CreateDevice(0x100000f0, 0x10)
device.a = 12
device.apple = {}
--print(device)
--print(device.a)
--print(device.apple)
2023-07-27 16:30:59 -04:00
print("name property is " .. device.Name)
print("base property is " .. device.Base)
print("size property is " .. device.Size)
function device:Clock()
2023-07-27 16:55:29 -04:00
print(self.Base)
end
function device:Peek(address)
print("peek @ " .. address)
if address == 0x100000f0 then return 0x1010 end -- it a test!
return 0x10000
end
function device:Poke(address, value)
if address == 0x100000f0 then
print("What you doing?")
end
end
function device:Reset()
print("device was reset")
end
cpu = LCPUNative.CreateCPU(64*1024)
cpu:AttachDevice(device)
print(device.Clock)
print(cpu)
-- unrolled test loops ftw
cpu:Cycle();cpu:Cycle();cpu:Cycle();cpu:Cycle();
cpu:Cycle();cpu:Cycle();cpu:Cycle();cpu:Cycle();
cpu:Cycle();cpu:Cycle();cpu:Cycle();cpu:Cycle();
cpu:Cycle();cpu:Cycle();cpu:Cycle();cpu:Cycle();
2023-07-27 16:55:29 -04:00
--]]
2023-07-27 16:30:59 -04:00
2023-07-24 06:50:18 -04:00
AddCSLuaFile("entities/gmod_lcpu_cpu.lua")
end