I did a large update to the script API. New documentation here:
https://hack64.net/docs/pj64d/apidoc.php
Notable additions:
- expand events interface:
- onstatechange
- onpifread
- onsptask
- onpidma
- onmousedown
- onmouseup
- onmousemove
-expand debug interface:
- resume()
- step()
- skip()
- showmemory(address[, physical])
- showcommands(address)
- add console.listen(inputListener) for handling non-JS input from the script console
- add pj64 interface for high level control of the emulator (opening and closing roms, etc.)
- implement basic JS require() with native duktape module support
- add exec() function for shell command execution
- add remaining cop0 registers and fcr31
- add N64Image class for texture manipulation
- add local/remote address properties and more event listeners to Socket & Server
Breaking changes:
- change parameter(s) of events.on* callbacks to event objects
- rename fs.writeFile to fs.writefile
- rename fs.readFile to fs.readfile
- rename mem.float/mem.double to mem.f32/ mem.f64
- rename global float/double type IDs to f32/f64
- move gpr, ugpr, fpr, dfpr, cop0 interfaces into new cpu interface
- move gpr.pc to cpu.pc
- move gpr.hi/ugpr.hi to cpu.hi/cpu.uhi
- move gpr.lo/ugpr.lo to cpu.hi/cpu.ulo
- remove maskless variant of events.onopcode
- remove unstable screen interface and events.ondraw
- remove redundant rom interface because mem interface can access ROM
- remove GPR_ANY_ARG, GPR_ANY_TEMP, GPR_ANY_SAVE
- change parameter(s) of Server constructor
- change parameter(s) of socket.connect
---
There is also some work on a screen drawing interface similar to BizHawk's. It's a little unstable so I put it on a separate branch for now:
Source:
https://github.com/shygoo/project64/tree...s-unstable
Documentation:
https://hack64.net/docs/pj64d/apidoc-unstable.php
Download:
https://hack64.net/docs/pj64d/Project64-....09.03.exe (the nag popup is removed).
If you're on Windows 7 you'll probably need to use a Direct3D plugin (i.e. Jabo's).