Commit Graph

42 Commits

Author SHA1 Message Date
Adrian Conlon
72932cf462 Correct a few more style/correctness issues.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-06 11:02:20 +01:00
Adrian Conlon
3d0e4250a0 Update nuget packages.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-06 10:03:11 +01:00
Adrian Conlon
efbd576624 Resurrect the concept of pin level matching. Allows for easier device wiring.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-06 09:58:50 +01:00
Adrian Conlon
99a4cfaa88 Correct small warning in the EightBit library.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-04 15:19:55 +01:00
Adrian Conlon
81cfadfe32 Correct byte array load issue: Ensure maximum number of bytes to read is set correctly.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-01 22:47:40 +01:00
Adrian Conlon
835703080d Correct Intel hex file loader issue: Incorrect use of "List<>"
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-01 22:46:37 +01:00
Adrian Conlon
32731dc706 Add MC6809 disassembler (untested!)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-04-28 20:59:31 +01:00
Adrian Conlon
1d976e811d Introduce a little consistency with regards to pin naming and usage.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2019-04-23 00:58:33 +01:00
Adrian Conlon
2a4a067fe4 Add an (untested) implementation of an Intel hex file parser to the EightBit project. Ported directly from the C++ implementation.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2019-04-21 16:53:55 +01:00
Adrian Conlon
0ab5da10ef add unit tests (not complete) for 6809 processor. Fix matters arising.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2019-04-21 04:47:36 +01:00
Adrian Conlon
6b33d2b5a5 Add a initial port of the MC6809 processor to the .Net collection
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2019-04-10 19:51:39 +01:00
Adrian Conlon
4a0d466171 Merge branch 'master' of https://github.com/MoleskiCoder/EightBitNet 2019-03-10 11:34:40 +00:00
Adrian Conlon
00fe5eb0b2 Overloaded MemoryMapping constructor, to make life a little easier...
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-03-10 11:34:29 +00:00
Adrian Conlon
e80963260d Try to avoid copying around Register16 references, if possible.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-03-07 01:21:00 +00:00
Adrian Conlon
3d2b861b56 Tidy the processor object a little.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-03-03 10:44:52 +00:00
Adrian Conlon
22cb8b142b Tidy the path to nuget packages, such that they can be used as git submodules.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-03-03 10:35:18 +00:00
Adrian Conlon
4799e097de Update stylecop (plus add stylecop packages to the Intel 8080 set).
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-03-02 08:59:20 +00:00
Adrian Conlon
03caba99dc Follow most of the guideline suggestions from VS2019 preview. Pretty good suggestions!
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-22 22:33:51 +00:00
Adrian Conlon
28b7a88f0f Use the correct virtual methods: BusRead and BusWrite to control bus access for Z80 a la M6502 implementation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-22 19:59:42 +00:00
Adrian Conlon
726c3fe4cc More work on minimising the effect of creating garbage collected objects.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-21 22:52:46 +00:00
Adrian Conlon
27e1c5c9f8 Make Register16 a class, rather than struct. Tricky, but a bit faster than before.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-21 19:58:49 +00:00
Adrian Conlon
c400f37201 Improve the debugging visibility of the Register16 class.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-20 22:17:54 +00:00
Adrian Conlon
01ce926574 Start adding Z80 test harness and update package configurations.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-19 00:58:17 +00:00
Adrian Conlon
5714798756 Lots of stylecop encouraged changes.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-19 00:56:16 +00:00
Adrian Conlon
23489b7127 Interesting, makes pretty much no difference to just calculate 16 bit values, rather than relying on byte layout.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-18 22:28:20 +00:00
Adrian Conlon
a144cf19a1 Whoops: missed bus read/write clock ticks in the 6502 emulator.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-18 00:52:45 +00:00
Adrian Conlon
ea82c58777 Add Z80 processor (untested, but complete)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-16 21:32:34 +00:00
Adrian Conlon
219d65a57a No need to use LowByte/HighByte methods in Register16 construction: that's what it's layout is for.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-15 09:08:44 +00:00
Adrian Conlon
c6a7003b8d Help out callers using Register16 arguments a little: Don't always require the ".Word" property to be passed.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-15 00:26:01 +00:00
Adrian Conlon
cf4e633034 Implement some suggestions from the code analysis.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-14 23:51:32 +00:00
Adrian Conlon
63db46a7bc Resurrect the Register16 class. This (or something *very* much like it) is going to be necessary to add a Z80 emulator (reference access to the high/low parts of 16-bit registers).
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-14 23:01:31 +00:00
Adrian Conlon
b61d884679 Correct unit test project configuration (due to movement of project...)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-07 00:34:21 +00:00
Adrian Conlon
0e8a530573 More analysis suggested tidy ups.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-06 23:41:56 +00:00
Adrian Conlon
d6d8c4e13c Move the EightBit (.Net) test projects to better locations.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-06 22:58:26 +00:00
Adrian Conlon
224000c4c7 Not sure if this was a really good idea, but integrated StyleCop rules into the builds. Corrected all except documentation problems.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-04 23:52:21 +00:00
Adrian Conlon
30aa1b70bf Tidy up some layout issues.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-03 21:13:06 +00:00
Adrian Conlon
c4e613065b A few minor consistency corrections.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-03 20:49:07 +00:00
Adrian Conlon
d4a35c402c A few small consistency updates:
1) Drop Get/SetPagedByte in favour of normal BusRead/Write
2) Tidy some "using" statements
3) More "expression body" usage, if possible
4) Use field initialisation, rather than construction, if possible
5) Correct IntelProcessor register set/get methods (there were remnants of "copy pasta" code)

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-03 20:29:52 +00:00
Adrian Conlon
0ca57d8641 Correct some stuff spotted by the .net analysis tools (where I agree with them!)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-03 10:23:41 +00:00
Adrian Conlon
0564ee3d86 Correct a couple of build issues (C# 7.2 required)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-03 09:46:32 +00:00
Adrian Conlon
3c5e292eae Drop Register16 support (replaced with explicit ushort), add some unit tests (Chip class only at present)
Now runs some instructions before going wrong...

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-03 00:42:55 +00:00
Adrian Conlon
9a06b1743f Port of EightBit library to .Net (unworking!)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-02-02 15:12:51 +00:00