Commit Graph

186 Commits

Author SHA1 Message Date
David Banks
3b90dc82fc Firmware: allow multiple transient breakpoints
Change-Id: I7a6e929698ec395eff6e22e2aeb507b3c3146dca
2019-10-31 11:49:49 +00:00
David Banks
768863fb85 Z80: show halted state when single stepping
Change-Id: Iefe132a98f6b476d9ab7252f0ce551bf0435b3cd
2019-10-30 17:31:49 +00:00
David Banks
71aa78ac76 Comment only
Change-Id: Ie75175b6ea1842bf2020149770e7572b2d944ec4
2019-10-29 16:56:49 +00:00
David Banks
8e31fac53e Update firmware version to 0.85
Change-Id: I19ca5204257434e806915831a388194e9c68f5b3
2019-10-29 16:31:19 +00:00
David Banks
ae62114b32 Firmware: better implementation of next command
Change-Id: I4643649a152987d8921af30a71d88aed48c06d0d
2019-10-29 16:30:58 +00:00
David Banks
3a5b0e46e2 Firmware: added next command (transient breakpoint)
Change-Id: Id4c04097b6021f369e9bea0d427b770d4294a125
2019-10-29 16:17:36 +00:00
David Banks
c6bc245b3d Z80: indicate NMI and INT cycles when single stepping
Change-Id: Iafef4059bd136dd9f3aebf2b03ab5ac186e035a6
2019-10-29 15:48:43 +00:00
David Banks
4818f026b2 Removed unused h44780 support (free AVR PortA)
Change-Id: Iadde3718cfd6e8be08b680796d8c9cd01016e694
2019-10-29 14:56:16 +00:00
David Banks
0f061da391 Firmware: fix build error when CPU_EMBEDDED undefined
Change-Id: I559a658cfd814fc45a5afd69150683131f155862
2019-10-27 18:49:52 +00:00
David Banks
87bf4b869b Update firmware version to 0.84
Change-Id: I50ae466b95b84bcacda58180e037c3e90de636b8
2019-10-27 17:33:19 +00:00
David Banks
b6abb6964a Z80: Update all builds to 8 comparators and 16KB code
Change-Id: I8adc986caab323de395301ba397f4c7874e50d49
2019-10-27 17:32:29 +00:00
David Banks
7bf7e9726d white space only
Change-Id: I11a30f7963f9a5c610910f5f9755e42802d0e73d
2019-10-25 11:04:08 +01:00
David Banks
58e445e10b Firmware: remove manual step in cmdContinue (no longer needed on 6502 or Z80)
Change-Id: I75cdb43b782f8a016ea8e1009cbdac1ecd67169e
2019-10-24 19:29:28 +01:00
David Banks
b80bade3f8 Firmware: rd/wr cmds now use global memAddr
Change-Id: Ia345095fa4dbc6c3d700bf5704aa20cf5bcd911b
2019-10-24 15:54:58 +01:00
David Banks
fbb611ca73 Firware: show ascii value in single location rd/wr
Change-Id: Ie927f677040fc833d43bb598399116e201983023
2019-10-24 15:25:21 +01:00
David Banks
bee6a8cd87 All: Update version to 0.82
Change-Id: I590f0962a7591300747328507ba3b57524d5b3ab
2019-10-18 10:48:15 +01:00
David Banks
9d0e74b94e 6502/65C02: Add power up reset generation (AlanD 65C02 core needs this)
Change-Id: I8e24d0f724dc353be296546815462feba8dffc4b
2019-10-17 11:25:32 +01:00
David Banks
12338bffc9 Use #if defined() everywhere for consistency
Change-Id: Ie291a7cb155b0a2244bdb4d31e91d03d29006157
2019-10-16 20:44:36 +01:00
David Banks
f4bff7757c Use CPU_65C02 for defined as CPU == 65C02 doesn't work
Change-Id: Ibedbac5941ab897f0d530dfa3d73cc516d62bd8f
2019-10-16 20:41:08 +01:00
David Banks
1c44718f91 Seperate 6502 and 65c02 builds
Change-Id: I41af27c62e61a6490bda4da01da6e4f8740121fb
2019-10-16 20:40:15 +01:00
David Banks
833471b31f z80: version now 0.80
Change-Id: I9b2b81f5f38fbc1da1eb5d61321512e7d7772d61
2019-10-15 18:03:43 +01:00
David Banks
f710f7a20f z80: updated T80 to version 350
Copyright (c) 2018 Sorgelig

Taken from https://github.com/EisernSchild/t80/commit/cbaa6450b

Changes I needed to make afterwards:
1. Fixup T80_Pack.vhd (missing params)
2. Replace T80a.vhd with my own version

Change-Id: I275153ffbddb0d9d5b2d8b1fdc2109468cafb256
2019-10-15 15:47:55 +01:00
David Banks
2a79bc6819 6809: Added special command to inhibit IRQ/FIRQ/NMI
Change-Id: I9b94fec5f464ecdb6bb0a4cd2a430401a182c929
2019-10-01 15:21:28 +01:00
David Banks
e66b0b51c2 Z80: remove special command as it caused code overflow
Change-Id: If3a71ea55503ac0edb8d476c05f4f909f0e3c605
2019-08-20 09:39:49 +01:00
David Banks
efdd41a239 6502: Added special command to inhibit IRQ/NMI
Change-Id: I6ba8a1b3b92e5852382d35eee7a59b6a9d7e63e8
2019-06-15 17:50:29 +01:00
David Banks
7453cf4f9f LX9 support: massive refactor of the build system
Change-Id: I75ff141a0d3b2c30a37d8f0e497f4f923e302b8b
2017-07-26 14:59:20 +01:00
David Banks
f64641f99c Added build scripts for xc3s500e
Change-Id: Icc7990c3ee257d1511fa478fd0d2b3575362eb29
2016-10-24 14:24:18 +01:00
David Banks
1d60e683b6 v0.73 - added srecord upload command
Change-Id: I6b7f9c2a43794c7a6b8f7abd65fac33eb691dbf4
2016-09-09 11:31:50 +01:00
David Banks
ceaeb932a7 Clean up white space
Change-Id: I126fff11794dbd3d47c4dd87b9410b49212199ca
2016-09-08 14:16:10 +01:00
David Banks
d70c378245 Only return will interrupt continue; version now 0.72
Change-Id: I6fc1fb0b268facf1fe80dd9f45f1790a53dd33e9
2015-11-15 13:42:47 +00:00
David Banks
ffdd038a8b ICE-T65 - ignore control characters on serial input; version now 0.71
Change-Id: If18267cb8436637ab04ee792e4f454cac6ecb70e
2015-11-15 11:38:01 +00:00
David Banks
6aeb0c7b8a Refactor: 2nd stage - bug fixes
Change-Id: Ic3bd520d0cc8b74f33068c53085229506d6968b2
2015-10-31 18:31:41 +00:00
David Banks
8a857ae45e Experimental AtomFast6502 adding bus mon function
Change-Id: Ib5115d9e7b736c45bb46a0a063325a0173b6f823
2015-10-31 11:46:40 +00:00
David Banks
3c31e9e875 ICT T65: Fixed an issue the caused an immediate NMI on a Beeb Model B
Change-Id: I5f0e00fc5e4f647c81778821282316e812215cb8
2015-10-27 18:03:45 +00:00
David Banks
344e03185d Reworked the 6502 single stepping to hide the fact that register writes are pipelined
Change-Id: I6d9157e3d9ade9af72e11d255b224cc7f210f376
2015-10-26 16:44:25 +00:00
David Banks
d44d3a889e Updated 6809 clocking scheme; tested on Dragon 32 and Simple 6809; fixed 6809 reset command bug; version now 0.64
Change-Id: Id772f50d3676b057ed31c001b211fdf92a9f49f8
2015-08-08 13:49:13 +01:00
David Banks
aeed6c1a65 Further improvements to the clocking of the 6809 for Roland to try
Change-Id: Ida0384c65ca405f50652a3c26665d1c5adac0748
2015-07-19 18:04:22 +01:00
David Banks
66b65f1bd6 Changed 6809 timing to provide bags of write address setup and hold time, version now 0.62
Change-Id: I1da33ddd81253f123e231e3cfad7e086bd3de08d
2015-07-16 18:16:07 +01:00
David Banks
318f7678a3 Further optimization of static data in disassemlers, data memory usage < 1K, version now 0.61
Change-Id: Ibcb5fd3e9141022cb940ebc70ca5369bdeb738c4
2015-07-07 16:20:32 +01:00
David Banks
d6c9287067 Changed to 18K ROM/2K RAM, version now 0.60, bitfiles published for all three designs
Change-Id: I2dd2b203e68d3ddde7d8bbb9052d4d46b802fbbb
2015-07-06 18:49:57 +01:00
David Banks
2677a945aa Corrected the function of EXTAL and XTAL; version now 0.53
Change-Id: Ib9c329b06827a83c8d9d307db12f16a91e2cb977
2015-07-04 17:50:03 +01:00
David Banks
3afc09c07d Added a jumper to select between 6809 and 6809E clocking; increased breakpoints to 8; version now 0.52
Change-Id: If17d2d0ff336fde2aafd9613eba47bbe7392ad8c
2015-07-04 16:51:08 +01:00
David Banks
5dad7cf788 Some small bug fixes
Change-Id: I2119c57f24be5675b4530fda9dc3b971935706c7
2015-07-04 14:50:55 +01:00
David Banks
7bcea43c68 Shrunk the 6809 disassembler; version now 0.50; silly mistake
Change-Id: I49f59501559778d501284857d8afe5feca0bc6c0
2015-07-02 18:02:06 +01:00
David Banks
1e76d0d980 Shrunk the 6809 disassembler; version now 0.50
Change-Id: I2776857e2b080ac90d45e79a20ad530f16abfd46
2015-07-02 18:00:40 +01:00
David Banks
20269623ea Initial checkin of ICE-6809; version now 0.49
Change-Id: I502840a0be0fa58adfc9ddb27c4e2a35a7c2849c
2015-07-02 15:35:05 +01:00
David Banks
10be34c618 Cleaned up/commented the C code base; version now 0.48
Change-Id: I415c97b579e247f7f3d4fdc476b9e5ed6b1e7e70
2015-07-01 12:08:30 +01:00
David Banks
727a1c0f2a Implemented IO watches/breakpoints; fixed a bug with stepping through CB/DD/ED/FD prefixed opcodes which have 2 M1 cycles; version not 0.47
Change-Id: Iad5cb406bd96a8020ccb65be5cd440bebec20481
2015-06-30 14:19:19 +01:00
David Banks
caec07483d Fixed a problem with breakpoints running on one instruction on the Z80, version now 0.46
Change-Id: I597087a8ed7d4da211c706e0c4972f5d037706ee
2015-06-29 17:16:23 +01:00
David Banks
6d0ec41db0 Added commands to read/write/dump Z80 IO space; version now 0.45
Change-Id: I85e99f8c19bd285f2dd69ea46b0e662499a5d9e2
2015-06-29 14:43:20 +01:00
David Banks
b55ee9789e Started work on IO access code
Change-Id: Ib644d8aada47f04594fc6b9c6f6734e02066593b
2015-06-29 13:03:32 +01:00
David Banks
0c0fde6a32 Working Z80 memory access and disassembler in the small GODIL, incremented version to 0.44
Change-Id: I718be7476ec330743c206e737389856fc4b41fc8
2015-06-28 19:42:25 +01:00
David Banks
e4e0f864df Switched to Timing-Driven Packing, fixed a bug with instr wait states that meant single stepping executed RST 38 because FF was read off databus; increased comparators to 8; incremented version to 0.43. Works with 100pF capgit add -u!
Change-Id: Ie6c8c8fc610599516eb1baf957d001079713e462
2015-06-27 18:40:12 +01:00
David Banks
401af8253a Simplified down to a single clear command that remove all watches/breakpoints at a given address; updated version to 0.42
Change-Id: I1a1f931a6d39f913610e4b58d54f102b264902e7
2015-06-27 11:20:49 +01:00
David Banks
9a68d96233 Initial checking of Z80 work; slight refactor of BusMonCore; version updated to 0.41
Change-Id: I95f574abb93e84ffb5ca44c45b4c9aa8304e2e58
2015-06-27 11:07:58 +01:00
David Banks
eec6e10440 Added option to do repeat a read/write command n times (where n can be large), incremented version to 0.37
Change-Id: I4b1b02e8d67a581acbf4d5b044e86ffb2bc7e27e
2015-06-22 18:11:11 +01:00
David Banks
3c7fb3429e Updated AtomBusMon pinout to match 6502, would allow piggy-backing in principle
Change-Id: Ib2c8b2c3fd55f7fbba9b7aecc3d2289ff3114305
2015-06-20 22:36:10 +01:00
David Banks
2ec8488190 Saved ~350 bytes of code memory by further optimizing the disassembler, incremented version to 0.36
Change-Id: Icd551c83acbc07f80af7e4ed426a6da062d7da9c
2015-06-20 18:18:05 +01:00
David Banks
5322c18443 Fixed a bug in the logging of memory errors; incremented version to 0.35
Change-Id: I6cc34881abe359bfe2cc8ae5e84fb2296c49096a
2015-06-20 16:56:56 +01:00
David Banks
68f6dccf89 Added crc and memory test commands, incremented version to 0.34
Change-Id: Ib259fcfce3f10b109d6b9606da3c28cb47230196
2015-06-20 16:41:40 +01:00
David Banks
14e4adda94 Implemented cycle counter and data bus monitoring during read/write watches/breakpoints, incremented version to 0.32
Change-Id: I408f57e66800ea58a56896ec4af5d815d1f12c34
2015-06-20 12:30:18 +01:00
David Banks
643c9b2231 Fixed a bug where I had broken watches by doing memory reads while the 6502 was running
Change-Id: I25e446e9574590111fcda4b19de3ff1f31c299e6
2015-06-19 16:59:15 +01:00
David Banks
993f04e395 Added mask to breakpoint/watches; improved disassembly of breakpoints; incremented version to 0.31
Change-Id: If2a68ba1597d8be5479302f15110602614cc25e1
2015-06-19 16:10:07 +01:00
David Banks
60317b002b Mimimised the number of memory reads during disassembly, incremented version to 0.30
Change-Id: I2102acd009b6fc2de62d93571d96b5468905b442
2015-06-18 13:14:10 +01:00
David Banks
824c40f31e Added fill command, memory address reg now auto-increments, version 0.29
Change-Id: I685da6a14cea3dd343dde28c4316bb06ab924bc9
2015-06-18 12:58:37 +01:00
David Banks
35ad735420 Added a jumper enabled fakeTube register at 0xFEE0 with value 0xFE to work around a beeb issue with pullups, incremented version to 0.28
Change-Id: I6b7b79cb01aa350b0caca27e75fb9c689558bcec
2015-06-18 11:01:06 +01:00
David Banks
a3cd8ceae4 Changed to timing of writes slightly as AtomMMC was occasionally failing on New Atom with 0.26. Verified on Beeb. Upped version to 0.27
Change-Id: Iad7639e2984236e9644c5db0331eeec5cd8a1a09
2015-06-17 17:47:04 +01:00
David Banks
2599920e75 Added a register for Din which resolved issue on Beeb, upped version to 0.26
Change-Id: Ic23e4a212675ca58a4e1ad1ea09a020f54b8fdc3
2015-06-17 14:35:25 +01:00
David Banks
6d732a01ec Improved output of regs and memory dumps
Change-Id: Ib0b7474a198b19a8aba0523f9351edf519941596
2015-06-17 11:40:59 +01:00
David Banks
e075d54924 Updated to later T65 core; added read command; tidied up register display; update version to 0.24
Change-Id: I932eb0caa8f800989346f98f038b9c43814abaef
2015-06-17 11:17:12 +01:00
David Banks
664c3194c4 Implemented memory read/write and disassembly functionality
Change-Id: I269d42bf5e2db0ae47c739c30d6d716cccf8d556
2015-06-16 18:41:46 +01:00
David Banks
2fc7485d9c Implemented 6502 register access functionality with the embedded core
Change-Id: I0edaa48ddfb4b7057e1dde25895513bcaf395b07
2015-06-16 11:57:32 +01:00
David Banks
2675a5a408 In AtomCpuMon generated Phi1 and Phi2 so the are non-overlapping by 40ns
Change-Id: Id6c3500c221a46d9c6af022a7c710776b22ca196
2015-06-14 22:24:46 +01:00
David Banks
ef3c791951 Implemented exteral triggers
Change-Id: If90a813d1358bdc4227f30fd855b2b5e64986ea4
2015-06-13 13:39:39 +01:00
David Banks
2d3ed88018 Added synchronous reset to FIFO
Change-Id: I77cfd9fd9930e8c5c2d2de5c83f52e1b87b30a67
2015-06-11 22:01:31 +01:00
David Banks
151fd2af82 Removed interrupt and address commands; update LCD display in continue loop
Change-Id: I3bc1b887a49f76c39ad8aeaeda4249808cc32228
2015-06-11 21:39:07 +01:00
David Banks
015dbac541 Improved generate relaibility; increased from 4 to 8 watches/breakpoint addresses
Change-Id: I7ce5b1fbd259cd20c11555cf774bbba2fce43821
2015-06-11 18:23:47 +01:00
David Banks
c9c6001332 Added watch functionality
Change-Id: I0510b12c8bc16c0ee6e23d6dd133a4b3b019d76c
2015-06-10 22:31:07 +01:00
David Banks
16a4769b47 Support for showing both access address on read/write breakpoints
Change-Id: Ieae38f00dcbb2fa7bc8908e27098550c03e18055
2015-06-10 16:35:38 +01:00
David Banks
d5854047d1 Redesigned interface between AVR and Bus Monitor to be command based
Change-Id: Ic14901856ad7d1ae0d053e6dd3c53047cd85b59a
2015-06-10 15:49:14 +01:00
David Banks
0ae10de5e5 Implemented seperate bclear/bclearr/bclearw commands
Change-Id: I6b3dde60121824c5bbfac3afb5e027e212667651
2015-06-10 12:53:53 +01:00
David Banks
41d7f9a5f1 Removed the use of sprintf to save a bit of code space
Change-Id: Idc67aca0f05b5c5c5317e9b6a31e0338e3ec5fdb
2015-06-10 12:09:56 +01:00
David Banks
85fd68e43b Added read and write breakpoints
Change-Id: Id528aed8058ad52d4d39cb9543dfc78d22dfd05d
2015-06-10 11:55:39 +01:00
David Banks
10afdff12c Added breakpoint functionality
Change-Id: I82b1162249a1bfed2d340361b205340dfbb70d86
2015-06-07 17:58:14 +01:00
David Banks
30d42b8bd0 Added 6502 reset functionality
Change-Id: I1ef8e8b0d618a53f19e1d48cea9ec58b20291edf
2015-06-07 11:45:34 +01:00
David Banks
43df61cd06 Single-stepping functionality complete
Change-Id: Ic21b05ae8ecb828d32e55fe36be501800cfb3407
2015-06-07 11:19:33 +01:00