1
0
mirror of https://github.com/pevans/erc-c.git synced 2025-02-19 21:30:46 +00:00

390 Commits

Author SHA1 Message Date
Peter Evans
09017aa171 Use DI to obtain the reflect struct 2018-02-07 00:01:27 -06:00
Peter Evans
5e7492abdf Allow mutability if in testing 2018-02-06 23:37:20 -06:00
Peter Evans
4e0892dc86 Add dependency injection container for vm 2018-02-06 23:24:48 -06:00
Peter Evans
524412039a Implement a dumb stub for cpu_info 2018-02-06 21:10:08 -06:00
Peter Evans
608b2259e5 Break keyboard event logic out into normal/special 2018-02-06 16:29:15 -06:00
Peter Evans
fa5bfe09ae Add better handling if selected_drive is NULL
(Discovered from static analysis)
2018-02-06 14:58:00 -06:00
Peter Evans
0dce7dbc58 Remove unnecessary assignment 2018-02-06 14:37:04 -06:00
Peter Evans
fbee851daf Add apple2 reflect code 2018-02-06 00:30:46 -06:00
Peter Evans
318107d18f Change macro name to REFLECT_HANDLER 2018-02-05 21:54:38 -06:00
Peter Evans
8c0b69668c Add docblocks for vm_event functions 2018-02-05 21:43:02 -06:00
Peter Evans
c6bbb46dfe Add ignores for docblocks 2018-02-05 20:44:11 -06:00
Peter Evans
c1c42834ed Add reflect system to virtual machine 2018-02-05 20:31:05 -06:00
Peter Evans
4ce79c785c Only read or write if a disk is in the drive 2018-02-05 12:42:19 -06:00
Peter Evans
a13be6c413 Disable opcode output 2018-02-05 12:29:00 -06:00
Peter Evans
92ee67c8d8 Allow us to signal that we should exit 2018-02-05 00:35:04 -06:00
Peter Evans
72c4111458 Add event system; move event code into vm_event.c 2018-02-05 00:28:22 -06:00
Peter Evans
247bafbcce We also need to move beyond the sector header 2018-02-04 15:44:41 -06:00
Peter Evans
e23a3e4b63 Use macro definitions for track/sector length 2018-02-04 14:19:40 -06:00
Peter Evans
64364d91ad Remove unnecessary for loop 2018-02-04 14:15:24 -06:00
Peter Evans
463a9ba268 Handle all phase cases (zero and non-zero) 2018-02-04 01:11:30 -06:00
Peter Evans
1245ddec55 Make encode/decode more testable with return codes 2018-02-04 00:21:39 -06:00
Peter Evans
8009a33bd4 Use int return for error code 2018-02-04 00:06:22 -06:00
Peter Evans
2bdc921b76 Add missing docblocks 2018-02-03 21:56:27 -06:00
Peter Evans
67f943d891 When encoded, the track size is larger than 4k 2018-02-03 21:18:07 -06:00
Peter Evans
a6c1564747 Add fwrite function, support for streams and types 2018-02-03 20:50:08 -06:00
Peter Evans
2dd21f1487 Add image type, image segment 2018-02-03 18:10:29 -06:00
Peter Evans
c010c10ce2 Add missing docblocks 2018-02-03 17:46:56 -06:00
Peter Evans
10d13f755c Document the pseudo-instruction "bad" 2018-02-03 17:44:41 -06:00
Peter Evans
5ac2fbdbee Add new decode functions, flesh out sector code 2018-02-03 00:23:57 -06:00
Peter Evans
d2e21b55c4 Implement the sector decode function
This was a bear to do, and the product being committed is probably my
third (or fourth?) try.
2018-02-02 17:19:38 -06:00
Peter Evans
fadf5a9782 Add decode...code 2018-02-01 18:41:01 -06:00
Peter Evans
323803866a Include better documentation of otherwise grumpy functions 2018-01-31 15:58:32 -06:00
Peter Evans
98c2ef16cc Add encode function for nib 2018-01-31 15:40:39 -06:00
Peter Evans
4943d66e8c Correct typo so it's clear this is a get OOB 2018-01-31 15:40:06 -06:00
Peter Evans
c031822063 Use nibbilized size for dest; allow offset to overflow 2018-01-31 14:28:29 -06:00
Peter Evans
8a53e02f00 Rename to enc.c, add header file 2018-01-31 00:09:07 -06:00
Peter Evans
b09ca2dae5 Reword comment 2018-01-30 18:55:23 -06:00
Peter Evans
5c7dbb4cfe My first crack at some code for nibblization 2018-01-30 16:30:23 -06:00
Peter Evans
b2bfee7f96 The SLOTCXROM switch seems to work opposite
Which seems weird, but I've verified this in some other places.
2018-01-29 00:30:12 -06:00
Peter Evans
418688cd15 Lock disk drives during disassembly 2018-01-28 18:06:14 -06:00
Peter Evans
33b44d1a70 selected_drive will now have a default value (of drive1) 2018-01-27 21:53:12 -06:00
Peter Evans
2c3d6a4dfa Reimplement idx and idy to use 16-bit addresses
While I have found some conflicting details on how this should be done,
it seems pretty clear to me that IDX and IDY work with 16-bit addresses,
not 8-bit. The inability to do so was preventing us from probing
peripheral ROM (e.g. at $C705, for the disk controller).
2018-01-27 19:54:55 -06:00
Peter Evans
4165c1cefc Make idx, idy clearer
I'm still not confident this is how it _should_ work, but I have found
conflicting accounts online for the behavior of these two modes. The
current code is what allows the Apple II to bootstrap as it should.
2018-01-27 13:04:19 -06:00
Peter Evans
76e4d3797f By default SLOTCXROM should be high 2018-01-26 22:01:46 -06:00
Peter Evans
ca5276cb6b It turns out we don't use carry for addr modes.
This fix actually corrects a rather irritating bug where the Apple ][
logo was displaying one-off--e.g., as "pple ][D".
2018-01-26 21:18:42 -06:00
Peter Evans
9c0e01ecd2 Add drive phases, switches for control and i/o 2018-01-26 19:49:19 -06:00
Peter Evans
e901bcf54d Add docblock comments 2018-01-25 14:12:49 -06:00
Peter Evans
217b27b040 Handle inversed text 2018-01-24 20:05:47 -06:00
Peter Evans
2ae272af3a Stop flickering issue by clearing before drawing 2018-01-24 20:04:53 -06:00
Peter Evans
d581194bbc Add apple text functions and refactor draw logic for text 2018-01-24 16:11:08 -06:00