Commit Graph

42 Commits

Author SHA1 Message Date
BlackPhoenix
b157610681 [FIXED] CPU interrupts locking bus even if IF=0
[FIXED] TPG opcode not disabling interrupts
[FIXED] Paths for stool
2009-03-07 11:43:05 +00:00
BlackPhoenix
5d8380b54b [FIXED] CPU stool now accepts any text filename to load (fixes file.Read, will be restored if filesystem is restored). This is clientside only, so it does not carry any security risk. 2009-03-02 23:21:08 +00:00
BlackPhoenix
c5fe245cc0 [ADDED] CPU & GPU code editors (early version, not fully integrated with stool) 2008-12-31 10:02:49 +00:00
BlackPhoenix
8cc375e536 [FIXED] Console screen cursor now works
[FIXED] Fixed character skipping in console screen (but increased network data volume)
[FIXED] ZASM bug in "alloc x,y,z" syntax
[ADDED] ZGPU X/Y scaling registers
[FIXED] Keyboard input bug when using more than one keyboard
[FIXED] "e" character getting captured when you turn on keyboard
[FIXED] Wrong keyboard buffer clear operation (now you write anything to zeroth byte to clear it, OR you write -1 to any other location in buffer to clear it)
[FIXED] Text bug in CPU stool
2008-12-30 08:15:59 +00:00
BlackPhoenix
9c1e7ec205 [FIXED] Probably fixed GPU
[ADDED] Added back ldump.txt & cdump.txt files generation to CPU Stool (wire_cpu_dump_enable 1 convar)
[FIXED] CPU debug mode mistake
2008-12-21 19:04:09 +00:00
Syranide
e9ab7a9f94 CPU: New skin (by Jat Goodwin) 2008-12-11 16:17:00 +00:00
BlackPhoenix
0b43bac3b5 [FIXED] Added proper hispeed support for RAM gates (and gates in general)
[FIXED] Removed obsolete code from some hispeed devices
[FIXED] Misc ZASM error
[ADDED] "Connected" outputs to data socket and data plug
[FIXED] Added a neater error display in GPU
[FIXED] Added small fix for when other player removes your keyboard and you cant get out
2008-10-25 12:10:59 +00:00
BlackPhoenix
555a80ed29 [FIXED] Small bug in CPU (rare nil error)
[FIXED] Bug in CPU & GPU stools that prevented files from being found, or properly loaded. NOTICE: You might need to set convar "wire_cpu_packet_bandwidth 300" and "wire_gpu_packet_bandwidth 300" manually if problem continues. Else just lower it even further.
2008-10-06 14:58:54 +00:00
BlackPhoenix
c62a7063e3 [FIXED] ZASM2 not writing to CPU rom (stool flag ignored) 2008-09-16 20:46:57 +00:00
BlackPhoenix
87104693a5 ZCPU K-Update, part 1
[ADDED] ZASM2
[ADDED] New ZASM2 GPU macros: float scalar vector vector1f vector2f vector3f vector4f uv color 
[ADDED] New ZASM2 macros: offset wipe_locals wipe_labels setvar asmfile asmend function return getarg
[ADDED] ZASM2 now supports local labels

[FIXED] Split ZCPU into several share-able files
[ADDED] CPUs now have serial numbers
[ADDED] Increased max frequency
[FIXED] Stool code. It's still a WIP, so this is only a temp placeholder

[FIXED] Bitwise functions are now confirmed to work under 48bit precision (settable)
[FIXED] Address bus requests must be 48-bit integers now 
[ADDED] Extended mode for CPU
[ADDED] 4-byte interrupt table [IP][CS][PARAM][0]
[ADDED] Interrupt parameter for error interrupts
[ADDED] New opcodes: NOP CPUSET CPUGET SPP CPP SRL GRL LEA
[ADDED] ZCPU now supports this kind of requests: <ANY REGISTER OR CONSTANT>:<ANYTHING> and <ANY REGISTER OR CONSTANT>:#<ANYTHING>

[FIXED] Explosives range is now clamped

[DELETED] Reduant files. BASIC is never gonna happen, sorry

Please wait for documentation update for all the new feature description. Or look in lua files, they are neat now. ZASM2 is unretarded now, and approx 10 times faster.
2008-09-16 17:05:56 +00:00
BlackPhoenix
2e2810e401 [FIXED] ZASM feature: label called "programsize", which is equal to compiled program size 2008-07-21 19:15:14 +00:00
BlackPhoenix
394f32aa63 [FIXED] Dynamic recompile VM now allows self-modifying code
[FIXED] Changed max multiplayer frequency from 20000 to 30000
[FIXED] Proper SHIFT key support in wired keyboard
[FIXED?] Possibly fixed bug with more than one keyboard
[FIXED] Some issues with ZASM (ROM and Memory are now not zeroed out before compile)
2008-07-03 12:58:27 +00:00
BlackPhoenix
facda4f7bc [ADDED] NMIINT opcode (similar to inputting value into NMI input)
[ADDED] IDLE opcode (makes CPU skip some cycles, causes less lag, but also a small delay)
[ADDED] Better debugger. It shows code flow now. To enable it, change line 16 of init.lua
[FIXED] Critical bug with DB compiler macro
[FIXED] Faster compile
[FIXED] One-byte opcodes not precompiled

[CHANGED] Internal change, PF and IF are now values rather than booleans
[CHANGED] Interrupts #0 and #1 will not be handled by interrupt handler if interrupt #1 has property magic value set to "96"
[FIXED] CPU ignoring IF flag
[CHANGED] STI now does not affect next opcode (interrupts will be enabled after next executed opcode, not right after STI was executed)
[ADDED] Missing bitwise operations (BXOR, BOR, BAND, BSHL, BSHR). Still missing BNOT.
[ADDED] Missing TBIT opcode
[FIXED] SBIT, CBIT, BIT operations now use new bitwise logic
[FIXED] XCHG opcode now works (I think)
[FIXED] NMIRET now pops 2 values off stack, to simulate IRET opcode behaviour
[FIXED] Limited input value to 32..255 range on NMI input

[FIXED] CPU internal VM state was not completly reset inbetween ZASM compiles
2008-07-02 21:01:29 +00:00
BlackPhoenix
1590f998d6 Warning: possible unstable update. Please report bugs to Black Phoenix.
[CHANGED] ZCPU virtual machine was replaced with new, much faster dynamic recompile VM. It's now approx 150% faster

[FIXED] ZCPU internal RAM is now not pre-allocated (faster memory operations)
[FIXED] Renewed optional debug mode (change line 16 in ZCPU init.lua)
[FIXED] ZASM now can write outside ZCPU 64KB ROM
[FIXED] Small bugs with RD/WD opcodes (yes, they serve purpose)
[CHANGED] Error in opcode will result in internal error (5). This includes wrong RM byte, or error during read (this way interrupt will be called twice)
[FIXED] CPU now runs very smoothly.
[FIXED] Lowered CPU bandwidth (due to precompile stage during compile process). Temporary fix, compile process will be sped up later
[FIXED] Console spam when CPU entity is removed in middle of compile process.
2008-06-26 18:35:36 +00:00
BlackPhoenix
7d2fea3e55 [FIXED] RETF opcode in CPU
[ADDED] Debug trap switch - this will be explained on forums later
2008-06-18 09:16:54 +00:00
Admin
3f815efe45 Updating SVN properties 2008-06-14 00:55:20 +00:00
BlackPhoenix
4ca10e3c15 [FIXED] Most of cleanup button captions for wire (not finished - some are missing) 2008-06-13 16:12:12 +00:00
BlackPhoenix
b6181f46d8 [FIXED] Included shared.lua into CPU entity init.lua (it was not downloaded for clients with no wire, making it invisible)
[FIXED] Temp workaround for error when uploading empty CPU program
2008-04-05 14:25:50 +00:00
tad2020
328793307b [Begun STool cleanup] report bugs for rev. 540 here > http://www.wiremod.com/index.php?showforum=35 2007-12-15 10:04:12 +00:00
BlackPhoenix
17e38c0677 [FIXED] CPU giving server-side errors when client who is uploading a program disconnects 2007-12-14 19:44:09 +00:00
BlackPhoenix
3fedd838cf [FIXED] Prob. mixed something up with SVN revision version numbers 2007-12-04 23:20:22 +00:00
BlackPhoenix
713a26e2c0 [FIXED] NMI not working in CPU (trigger lua error)
[ADD] ZASM now shows revisions of its main files
[ADD] ZCPU now returns its SVN revision number instead of version on CPUID. Useful for checking for working version of CPU
2007-12-04 23:18:02 +00:00
tad2020
ac9337600f This should fix some errors with the gmod2007 beta
[added] height option to wire model selection control
2007-12-03 16:50:43 +00:00
BlackPhoenix
7b58fd7575 THIS IS LAST STEP TO STABLE CPU RELEASE. SEVERAL BAD COMPILER BUGS FIXED
[FIXED] Compiler representing labels as "labelname:", not "labelname"
[FIXED] Compiler writing 2 values in memory instead of 1 when label is not yet defined. This corrupted label/pointer table, and led to Unknown Opcode (4), End of execution (2), Internal error (5) errors randomly, because it jumped to wrong data.
[FIXED] Compiler did not reset write pointer after second pass, therefore when ORG 0 was not present in program it wrote junk, resulting in usually Internal Error (5).
2007-12-02 14:57:15 +00:00
BlackPhoenix
d3bd4e30a5 [FIXED] TOTALLY REWRITTEN EEPROM FLASH. MUCH MUCH FASTER NOW. Upload & download coming soon.
Previous eeprom flash data will not be compatible with new one.
[ADDED] Address bus outputs data rate via it's memory output (for regular wire)
[FIXED] Address bus wrong undo message
[FIXED] CPU compiler erroring on empty program
2007-11-25 16:19:50 +00:00
BlackPhoenix
a8c307d8cd [FIXED] Rare NIL bug in CPU compiler
[FIXED] MCOPY opcode in CPU
[FIXED] Internal error not handled in 1 place
[FIXED] Timing system being buggy (triggering inf loops all the time)
[FIXED] Wired keyboard outputting bad values
2007-11-25 12:43:32 +00:00
BlackPhoenix
f09a6c3865 [FIXED] Address bus bug (when connecting to non-RAM, my bad)
[FIXED] CPU shows correct number of lines for program now (was count of lines + 1)
2007-11-12 21:18:36 +00:00
BlackPhoenix
1efbafdb3a [FIXED] Lua errors when compiling CPU program without previously vising zyelios editor 2007-11-04 21:05:16 +00:00
BlackPhoenix
b7c644585d [ADDED] IN-GAME CPU EDITOR (BETA VERSION). It has some bugs, and I know most of them. But it works. It's purely clientside.
[FIXED] CPU no longer floods lua errors on internal error, but resets and reports error.
2007-11-03 16:44:17 +00:00
BlackPhoenix
d118a076c1 [FIXED] PCall error
[FIXED] Compile bandwidth set to 100 lines. Set it back to 500 if you wanna, but it lags less with 100.
[ADD] Support for long lines
[ADD] VGUI Progress indicators, showing percent, lines processed, and time left (for compiling and uploading)
[BETA] Beta preview of ZyeliosEditor
[FIXED] Changed "Load" to "Quick Load" (because of ZE)

[ADD] File support for EEPROM (BETA)
2007-10-24 14:11:05 +00:00
BlackPhoenix
35e7204e9a [FIXED] >>>>> WIRE CPU IS NO LONGER AFFECTED BY INFINITE LOOP PROTECTION <<<<<<
You can compile long programs now.
There is extra verbose mode for now, expect it to be removed soon.
[ADD] CPU shows how average upload speed, percent, and how much time left till upload finishes
[ADD] In singleplayer progress is done into chat window, in MP its in console (till VGUI)
[ANNOUNCE] Coming up: CPU extended protection, multitasking (native support!), and some more stuff.
2007-10-22 16:54:28 +00:00
BlackPhoenix
5936a3588f [FIX] Random fixes
[FIX] Compiler error (not accepting first letter after #, etc)
2007-07-08 19:36:08 +00:00
BlackPhoenix
644bde5b68 Wrong files 2007-06-12 10:36:58 +00:00
BlackPhoenix
87be54da14 [FIX] Quickfix for random CPU problem (file not found when in MP), it should seek files only on client now 2007-06-11 17:06:29 +00:00
BlackPhoenix
18e2a093bc [ADD] 128KB RAM (remove if causes problems, works fine for me)
[ADD] Temporary binary opcodes

[FIX] Reading and writing to non-existing port does not cause interrupt now
[FIX] Port bus failure is interrupt #8 now (instead of #10)
[FIX] Reading from non-existing port is now #10 instead of #8
[FIX] Increased max CPU frequency
[FIX] Fixed bug when setting frequency over limit does not set it to maximum allowed value
[FIX] Removed debug message in constant gate
[FIX] CPU now sends packets with more bandwidth and speed in SP (bandwidth only in MP). Uploading 70KB now takes 3-5 seconds
[TEMP FIX] Multiply "CPU Upload complete" messages
2007-05-18 20:08:04 +00:00
BlackPhoenix
36de8e0903 [ADD] Hi-speed in constant value gate
[ADD] Presets in address bus
[ADD] wire_cpu_dumpcode convar, set it to "enable" to enable dumping some debug information (pointers to functions and variables, code listing with corresponding byte addresses, and raw bytes dump)
[ADD] Supports filenames without extension now
[ADD] More information for user about CPU upload status
[ADD] CVAR: wire_cpu_packet_bandwidth (size of each packet, def. 50). It seems that it's reliable to use bandwidth of 100, but not tested in MP (twice the less time needed for uploading program)
[ADD] CVAR: wire_cpu_packet_rate_sp (data rate in SP, def. 0.1)
[ADD] CVAR: wire_cpu_packet_rate_mp (data rate in MP, def. 0.4)

[FIX] Parameters handled as strings
[FIX] Precision fixed (at least floating point digits precision, 14-15 digits actual precision)
[FIX] TPG now sets CMPR to address of error instead of next page address (you cant read cmpr anyway)
[FIX] CPU upload status not displaying in MP
2007-05-17 21:30:52 +00:00
blackphoenix
3dfa71b86b Add:
CPU Compiler V1.1; New nice info plus some bugfixes soon;
Fixed:
Console screen bugs (negative char and scroll bug)
2007-04-23 20:20:48 +00:00
blackphoenix
1b097fab94 Added:
Virtual Keyboard (Hi-Speed link only)
FLASH support in digital screen
Fixed:
CPU Compiler bugs
Numpad hi-speed link mode
Digital screen & console screen (partially)
Known bugs:
Console screen special registers may not work
Keyboard wont accept shift with anything other then letter
2007-04-16 17:15:22 +00:00
blackphoenix
4f32b835f3 Added:
Console Screen (30x18 dos-like console)
Address Bus (To join up to 4 address spaces)
Data Port (Aka old ports in CPU, but external)
Data Plug (Connects address spaces)
32KB RAM module
CPU Protected Mode (Simple)
CPU Interrupts (in PM)
Strings supported in DB macro.
Lots more I forgot.
CPU Frequency limit to 5000Hz
Fixed:
CPU is now V2.00, added lots and lots of opcodes, around 100 (but 8 are disabled due to some reasons)
Digital Screen (new inputs)
Wired Numpad (Hi-Speed link added, acts as buffer)
New examples for CPU
CPU supports writing to ROM, i.e. program will be restored each reset.
ZCPU & ZASM bugs.

Known bugs:
Address Bus settings do not save when duping
Console screen does not dupe (duplications of it result in things connected to old copy)
Removed in-game editor, reworking it into VGUI. You can always use notepad, or my editor, it might be posted on forum
Some other misc little bugs.
2007-04-12 19:16:47 +00:00
tad2020
99ca8dead2 added ent freeze when making on to world
added WireLib.* of Wire_* functions
added WireLib.Weld function
fixed old sensor->finder link system
(this changes are untested)
2007-03-28 23:24:55 +00:00
tad2020
19e831f08e updates in preparations for beta
changed deleteonremove to use new system in welds instead
massive updates to adv duplicator. now separate module and addon
include modified weight stool that support duplication
lots of other shit
2007-03-22 03:27:52 +00:00
cyborgmatt
18addf9656 Added Black_Phoenix's CPUChip 2007-03-21 21:09:01 +00:00