Ariejan de Vroom
15fa43282e
Merge branch 'marcopeereboom-broken_range'
2015-04-09 09:27:47 +02:00
Ariejan de Vroom
a0f722e9ee
Merge branch 'broken_range' of https://github.com/marcopeereboom/i6502 into marcopeereboom-broken_range
2015-04-09 09:25:43 +02:00
Ariejan de Vroom
36197e2ba8
Merge pull request #12 from ariejan/go-1.4
...
Support go 1.4
2015-04-09 09:24:52 +02:00
Ariejan de Vroom
8bf1e629e6
Update testify assert methods
...
`assert.Equal` now tests for type equality as well, which means
256 != 0xff. The alternative is to use `assert.EqualValues`
2015-04-09 09:20:04 +02:00
Ariejan de Vroom
343f99deeb
Use Godep to manage dependencies properly
2015-04-09 09:19:49 +02:00
Ariejan de Vroom
821bff0922
Update travis config
2015-04-09 09:11:50 +02:00
Marco Peereboom
43f3d06988
Iterate over pointers instead of copies.
...
Modify addressable to become a pointer because Go's range does not
provide a pointer to the element but a copy of the element (urgh).
Go's range operator really can be considered broken. In this case it
copies the addressable all the time which significantly slows things
down. To boot, it isn't writing in the memory you think it is (it ends
up in the copy of memory).
Before the change:
$ go test -v -test.run Klaus
=== RUN TestKlausDormann6502
Running Klaus Dormann' 6502 functional tests. This may take some time...
Klaus Dormann's 6502 functional tests passed.
--- PASS: TestKlausDormann6502 (13.51s)
PASS
ok github.com/ariejan/i6502 13.522s
After the change:
$ go test -v -test.run Klaus
=== RUN TestKlausDormann6502
Running Klaus Dormann' 6502 functional tests. This may take some time...
Klaus Dormann's 6502 functional tests passed.
--- PASS: TestKlausDormann6502 (4.87s)
PASS
ok github.com/ariejan/i6502 4.877s
2015-04-08 16:56:35 -05:00
Ariejan de Vroom
21a7136dd6
Add link to go docs
...
[ci skip]
2014-08-29 14:22:39 +02:00
Ariejan de Vroom
00030d9d45
Properly test ACIA 6551 output channel
2014-08-29 13:49:08 +02:00
Ariejan de Vroom
96f9605ce4
Test and implement Memory interface explicitly.
2014-08-21 10:02:38 +02:00
Ariejan de Vroom
3747d8ce41
Acia Tx return nothing when there is no new data
2014-08-21 10:02:04 +02:00
Ariejan de Vroom
f934c5cdf6
Update README
...
[ci skip]
2014-08-19 22:19:41 +02:00
Ariejan de Vroom
4764cb24ca
Merge pull request #3 from ariejan/issue_3_acia6551
...
Add support for 6551 Asynchronous Communications Interface Adapter (ACIA)
2014-08-19 22:09:46 +02:00
Ariejan de Vroom
3ab4323f3b
Add tests for cpu/acia integration
2014-08-19 22:01:41 +02:00
Ariejan de Vroom
da43c2bca1
Update Memory interface
...
Because io.Reader and io.Writer already claim the functions Read and
Write it was necessary to rename the Memory interface methods Read and
Write to ReadByte and WriteByte.
2014-08-19 16:49:48 +02:00
Ariejan de Vroom
099d6c11bd
Implement acia 6551
2014-08-19 16:40:31 +02:00
Ariejan de Vroom
432119f507
Add failing spec with chanels.
2014-08-18 16:37:51 +02:00
Ariejan de Vroom
5789d4d657
Update README.md
2014-08-18 16:13:51 +02:00
Ariejan de Vroom
44738e191f
WIP
2014-08-17 22:36:01 +02:00
Ariejan de Vroom
856ff00573
Add ACIA Reset()
2014-08-17 17:18:14 +02:00
Ariejan de Vroom
90e248e745
Add basics for ACIA 6551:w
2014-08-17 16:49:22 +02:00
Ariejan de Vroom
7e5984cd6f
Merge pull request #8 from ariejan/issue_8_roms
...
Add Rom support
2014-08-17 16:22:23 +02:00
Ariejan de Vroom
0e1d9eaa8f
Add ROM Memory
2014-08-17 16:20:30 +02:00
Ariejan de Vroom
91a55fd823
Update README.md
2014-08-17 16:01:00 +02:00
Ariejan de Vroom
b4bbadd369
Merge pull request #5 from ariejan/issue_5_documentation
...
Update Godoc documentation
2014-08-17 15:59:03 +02:00
Ariejan de Vroom
c361eedc46
Fix OpType attribute ordering
2014-08-17 15:57:12 +02:00
Ariejan de Vroom
e77a599b10
Add more documentation
2014-08-17 15:53:35 +02:00
Ariejan de Vroom
22432de785
Add docs for AddressBus; minor refactorings
2014-08-17 13:07:22 +02:00
Ariejan de Vroom
4eeba4d940
Add package documentation
2014-08-17 10:31:28 +02:00
Ariejan de Vroom
36e18e5730
Merge pull request #4 from ariejan/issue_4_code_cleanup
...
Proper Golang packaging
2014-08-16 22:04:53 +02:00
Ariejan de Vroom
9ee72dc145
Clean up code / Refactorings
2014-08-16 21:54:06 +02:00
Ariejan de Vroom
6207a06423
Update README
...
[ci skip]
2014-08-16 11:43:55 +02:00
Ariejan de Vroom
955e7db2dc
Reorder tests for faster feedback.
2014-08-16 10:47:03 +02:00
Ariejan de Vroom
f607b92430
Add 6502 functional test listing
2014-08-16 10:39:51 +02:00
Ariejan de Vroom
33ca177f90
Implement remaining opcodes; tests
2014-08-16 10:37:56 +02:00
Ariejan de Vroom
f3f95dda39
Implement more opcodes, minor improvements
2014-08-14 21:31:04 +02:00
Ariejan de Vroom
9c8f47abbc
Implement ADC, including Carry, Overflow, Decimal
2014-08-13 22:42:26 +02:00
Ariejan de Vroom
c3ffb2e87b
Implement NOP instruction
2014-08-13 13:51:53 +02:00
Ariejan de Vroom
0fe91268ad
Add Cpu program loading
2014-08-13 11:49:49 +02:00
Ariejan de Vroom
c8d2f31a65
Add Guardfile for continuious testing
2014-08-13 11:49:33 +02:00
Ariejan de Vroom
e96ce1e84a
Add basic Cpu/Bus/Ram architecture.
2014-08-13 09:26:33 +02:00
Ariejan de Vroom
f88946a622
Use testify for cleaner tests
2014-08-13 06:19:44 +02:00
Ariejan de Vroom
1f7867cfb6
Add CI badge to README
...
[ci skip]
2014-08-12 21:50:52 +02:00
Ariejan de Vroom
57b940dce1
Add NewCpu()
2014-08-12 21:28:30 +02:00
Ariejan de Vroom
0eaa592103
Remove old prototype code.
...
This code can still be found in the `prototype` branch.
https://github.com/ariejan/i6502/tree/prototype
2014-08-12 20:58:07 +02:00
Ariejan de Vroom
afa7d0d3f6
Wip
2014-08-12 20:46:41 +02:00
Ariejan de Vroom
9e3c9454e8
Working Rx/Tx for serial/websockets
2014-08-11 14:40:21 +02:00
Ariejan de Vroom
b692c8a7b1
Working websockets
2014-08-11 12:04:55 +02:00
Ariejan de Vroom
12f64bf7d3
WIP
2014-08-11 10:15:56 +02:00
Ariejan de Vroom
fdb6f81bc8
Support indirect memory addressing mode
2014-08-09 10:38:49 +02:00