Commit Graph

  • 212431a9f2 bitrot: no trailing ';' in macros when eval'd in expr position master jrd 2021-10-27 17:36:30 -07:00
  • 054d40aa95 emu: comment remaining opcodes as todo/unimplemented jrd 2021-04-27 02:51:48 -07:00
  • 27aa49e249 emu: CBW/CWD sign extension operations jrd 2021-04-27 02:21:04 -07:00
  • d42603501f emu: formatting jrd 2021-04-27 01:16:01 -07:00
  • bd00e9ca5f emu: ADD/ADC/SUB/SBB operations jrd 2021-04-27 01:15:30 -07:00
  • 940f2d1d1e emu: don't branch from each modrm calculation jrd 2021-04-20 01:24:31 -07:00
  • 19d686e7ad emu: make $name optional in step!-internal calls jrd 2021-04-18 00:26:50 -07:00
  • c66feda360 emu: RegHalf dispatcher to re-merge @r8 op directive jrd 2021-04-17 23:29:34 -07:00
  • 7b00a8e708 emu: don't macro recur on every @r8/r16 value jrd 2021-04-13 14:39:10 -07:00
  • 663fa40137 emu: AND/OR/XOR/TEST ops jrd 2021-04-09 00:38:21 -07:00
  • eca60fbe45 emu: LOOP/LOOPZ/LOOPNZ ops jrd 2021-04-08 01:17:00 -07:00
  • 96c869f711 emu: NOT/NEG ops jrd 2021-04-08 00:52:12 -07:00
  • 7c2ca230ff emu: XCHG op jrd 2021-04-07 02:06:03 -07:00
  • 49e0132b2e emu: PUSHF/POPF ops jrd 2021-04-07 00:38:10 -07:00
  • 4833b44074 emu: RCL/RCR ops. jrd 2021-04-06 00:53:58 -07:00
  • 647841469d emu: CMC/CLC/STC/CLD/STC instructions. POPF flags differ from Eager jrd 2021-04-04 00:53:05 -07:00
  • 67b5b7a615 emu: modrm8 r8 decode had HI/LO registers backwards jrd 2021-04-03 01:14:51 -07:00
  • e1c7370aa2 emu: MOV r/m, imm. Mark MOVs with [addr] as defaulting to data seg jrd 2021-04-03 00:52:02 -07:00
  • a4e5d03e22 emu: use mask, not mod for ROL/ROR CF calc. No flags when SHL/SHR=0 jrd 2021-03-30 23:27:55 -07:00
  • a789b7e87d emu: flags: make CF & OF always lazy. Remove Flags::update_of() jrd 2021-03-30 01:53:27 -07:00
  • 984ff891c0 emu: Make FlagOp enum algebraic to carry op-specific data jrd 2021-03-30 00:09:22 -07:00
  • d8600151d6 emu: ROL/ROR operations jrd 2021-03-29 22:56:16 -07:00
  • f5ab9cfad2 emu: terser names for form= directives jrd 2021-03-29 00:33:53 -07:00
  • 40fed58ecf emu: remove unsafe from {push,pop}_modrm operations jrd 2021-03-29 00:20:42 -07:00
  • 7c7f74a65b emu: make string ops generic over operand size jrd 2021-03-28 14:46:35 -07:00
  • a183a5ad38 emu: SHL/SHR/SAR opcodes (BARELY TESTED!), const Op Directive jrd 2021-03-28 02:08:23 -07:00
  • 874fc6adbc emu: Make flags lazy, implement parity flag & JPE/JPO ops jrd 2021-03-27 00:53:37 -07:00
  • e15fb6ae27 Squelch warning about intersperse() entering stdlib. jrd 2021-03-26 01:08:46 -07:00
  • 4b5d85352a emu: move cpu Flags into own module jrd 2021-03-25 01:52:10 -07:00
  • 5d2fbcd01d emu: Remove LValue implementation for u16 jrd 2021-03-24 20:37:55 -07:00
  • 8c359d2c70 emu: Use type arguments instead of PhantomData to disambiguate jrd 2021-03-24 20:34:08 -07:00
  • 88166c5a85 emu: remove duplicate @rep arg decoder rule jrd 2021-03-24 01:37:29 -07:00
  • 017eaf2955 emu: Hack in push/pop support for ModR/M. UNSAFE, and maybe UNSOUND. jrd 2021-03-24 01:12:32 -07:00
  • cf9d2dd15d emu: Pass [LR]Values by value instead of by &mut jrd 2021-03-22 22:21:03 -07:00
  • 9b0b4efc40 emu: update si in cmps[bw] string loop [bugfix] jrd 2021-03-22 22:19:48 -07:00
  • ff7e8a7fb9 emu: INC/DEC opcodes. width={byte,word} argtypes for disambig jrd 2021-03-19 00:07:49 -07:00
  • c8d6a3312a emu: near/short JUMP instructions. Use u16+wrapping_add for all rels jrd 2021-03-18 02:09:46 -07:00
  • d6e645cae7 emu: use wrapping_add in displacement address as operand can be neg jrd 2021-03-18 01:43:22 -07:00
  • 73c537183e emu: Rename "Addr" to "FarPtr" jrd 2021-03-18 00:38:06 -07:00
  • 3b746b75ec emu: PUSH/POP opcodes, reimpl RET as just "POP IP" jrd 2021-03-18 00:32:08 -07:00
  • dcf96ec5b3 emu: Operand trait over u8/u16, d8_as_d16 argtype jrd 2021-03-17 21:38:13 -07:00
  • ae1f3da4b2 emu: UNTESTED string ops, CMP instruction jrd 2021-03-15 04:08:25 -07:00
  • 04348a816e emu: Fake opcode ASSERT for testing jrd 2021-03-12 22:19:25 -08:00
  • 0c55ff9b36 emu: modrm displacement, LEA instruction jrd 2021-03-12 08:01:28 -08:00
  • adb7e672d9 emu: accept cycle cost for modrm spec (and ignore for now) jrd 2021-03-12 04:10:15 -08:00
  • c372a96b7c emu: all MOV opcodes (no modrm base/index/displacement modes yet) jrd 2021-03-12 04:02:27 -08:00
  • 0a4b240974 emu: fix copypasta where write_lo actually did write_hi jrd 2021-03-12 02:54:44 -08:00
  • ac7b3b16a1 emu: factor out utils into own module jrd 2021-03-12 02:27:00 -08:00
  • 27bc36f9d2 emu: factor out operations and operands into own module jrd 2021-03-11 22:55:51 -08:00
  • b950a56d26 emu: segment prefix, addr Arg decoder, Addr arg trait, NOP opcode jrd 2021-03-11 01:09:17 -08:00
  • 71bcec1574 emu: wrap cpu regs in Cell. r16 addr mode. jrd 2021-03-10 07:09:59 -08:00
  • 49789c74f9 emu: show/peek debug instructions jrd 2021-03-09 06:42:12 -08:00
  • 20bfc45dae emu: modrm16 arg decoder jrd 2021-03-08 06:10:39 -08:00
  • 3f2c12a83c emu: machinery for ModRM propegation jrd 2021-03-07 07:02:04 -08:00
  • eeaf713470 emu: dos exit service. jrd 2021-03-06 23:46:14 -08:00
  • e1a6feb6f5 emu: Factor out hi/lo register access jrd 2021-03-06 07:02:57 -08:00
  • 1e32036bf7 emu: INT instruction, standalone dos function for now jrd 2021-03-06 05:26:40 -08:00
  • 0f4e52697a emu: reghi & d8 address modes. make next_ip assoc instead of member jrd 2021-03-06 04:52:09 -08:00
  • b2aa3fd0e0 emu: MOV generic. Drop Reg16 register wrapper type jrd 2021-03-06 04:18:48 -08:00
  • be7e926842 emu: dump register file on unimplemented opcode jrd 2021-03-06 02:10:13 -08:00
  • fa49d19ae0 emu: arg=rhs parsing. d16, reg, regval argtypes. non-generic MOV. jrd 2021-03-06 01:01:53 -08:00
  • 5c39f3b5af emu ops can get multiple args, mem no longer implicit, implement RET jrd 2021-03-05 05:06:15 -08:00
  • 639e05edac basic emu skeleton and loop, CALL instruction & rel16 addr mode jrd 2021-02-11 06:29:57 -08:00
  • 1c15695c4b Explicitly name window size constant jrd 2021-02-11 06:25:38 -08:00
  • a91ee62190 cleanup warnings/weird code jrd 2021-02-04 07:33:23 -08:00
  • ede85ecb5d bitrot: update for nalgebra deprecations jrd 2021-02-04 07:25:20 -08:00
  • 82c53bb761 bitrot: update for lang/stdlib deprecations jrd 2021-02-04 07:15:35 -08:00
  • 9dd48d359c bitrot: replace bare traits object syntax with dyn traits jrd 2021-02-04 06:24:35 -08:00
  • dea54e4883 update bitrotted dep jrd 2021-02-04 06:18:26 -08:00
  • bc0e916179 feature(iterator_flatten) is now stable jrd 2018-09-13 14:46:50 -07:00
  • 5e18d452cb mouselook jrd 2016-12-26 12:46:59 -08:00
  • f40786931e Return local error type on VR init jrd 2018-08-14 15:25:44 -07:00
  • 7ac96862eb remove bitrot, update and set versions of all deps, notably gfx & nalgebra jrd 2018-08-14 15:25:44 -07:00
  • 81d01f55a1 commiting year-stale working dir for backup wip3 jrd 2018-04-05 15:42:59 -07:00
  • 2aa64060b6 wip zzz jrd 2017-02-17 17:02:14 -08:00
  • 493563b7cc lto/no-unwind in release builds jrd 2016-11-03 15:29:45 -07:00
  • b955d7f1b6 update to gfx 0.13 jrd 2016-12-26 15:42:03 -08:00
  • 3a8c0148c8 read rle .EGA files jrd 2016-11-01 04:08:55 -07:00
  • ddc135e09a read lzw .EGA files jrd 2016-11-01 03:14:49 -07:00
  • da0d5a26a3 slightly bump up tile anim speed jrd 2016-10-28 00:33:10 -07:00
  • 9db44c212c consolidate imports jrd 2016-10-26 22:52:42 -07:00
  • f6b0068ec2 haze jrd 2016-10-26 19:42:22 -07:00
  • d71967565d no supersampling for now jrd 2016-10-21 19:02:26 -07:00
  • 11a16e092f hotkeys for torus radius, camera reset jrd 2016-10-21 18:59:34 -07:00
  • 73ac584ca4 try! -> ? jrd 2016-10-20 12:45:15 -07:00
  • a66cd3ae64 parse NO_VR=0 jrd 2016-10-19 17:34:12 -07:00
  • 2583de70b3 walk around reorienting world torus jrd 2016-10-19 15:14:57 -07:00
  • 5e0a514aa5 wip: walk along torus ridge wip2 jrd 2016-10-18 11:14:39 -07:00
  • f2a645730c NO_VR env var for monitor only mode jrd 2016-10-13 01:46:47 -07:00
  • 381157c8e2 no all caps for enum variants mip2 jrd 2016-10-10 19:08:21 -07:00
  • f795c73ed8 mark _unused fields as such, don't bind unused vars in match jrd 2016-10-10 18:47:33 -07:00
  • 8eb9ab2d63 use upscaled mipmaps for tiles jrd 2016-10-10 18:43:09 -07:00
  • 3d834c1ff2 use image crate for tiles instead of custom type wip jrd 2016-10-07 15:10:38 -07:00
  • 0275d01b96 use texture array instead of atlas for tiles jrd 2016-10-06 18:20:08 -07:00
  • 931bc1b0a8 place vertical tiles on flat copies instead of blackness jrd 2016-10-05 14:51:40 -07:00
  • 31ab07f615 animate lava tiles jrd 2016-10-05 14:50:55 -07:00
  • 708e0b4a16 formatting cleanup jrd 2016-10-05 14:24:30 -07:00
  • 193e807b6a simple tile heights jrd 2016-10-05 14:15:16 -07:00
  • d69223ef13 properly parameterize world torus radii jrd 2016-10-01 00:29:00 -07:00
  • 8faa60b921 show headset view in monitor window jrd 2016-09-30 23:51:48 -07:00