2016-10-27 06:01 | NASM compatibility fix from Christopher Allen | Micah Elizabeth Scott | 1 | +2 | -2 |
2016-08-29 15:29 | Move propeller-usb-host out | Micah Elizabeth Scott | 23 | +4 | -1921 |
2014-07-25 22:20 | Create README.md | Micah Elizabeth Scott | 1 | +14 | -0 |
2014-07-25 21:41 | No need for multiple levels of obsolescense. Move 'abandoned' back to trunk. | Micah Elizabeth Scott | 3548 | +1631054 | -0 |
2012-11-05 16:40 | Moving to GitHub | Micah Elizabeth Scott | 96 | +5 | -19248 |
2012-05-26 20:22 | Convert to curve | Micah Elizabeth Scott | 1 | +22 | -12 |
2012-05-26 20:17 | Mr. Pink | Micah Elizabeth Scott | 1 | +85 | -0 |
2012-05-26 20:17 | Fix cleanup path in the event of an init error before opening the socket | Micah Elizabeth Scott | 1 | +2 | -1 |
2012-05-26 20:17 | Add a little support for relative svg paths | Micah Elizabeth Scott | 1 | +15 | -0 |
2011-05-15 22:42 | Test... | Micah Elizabeth Scott | 1 | +4 | -0 |
2011-05-02 17:40 | Name and email address update | Micah Elizabeth Scott | 12 | +0 | -0 |
2011-05-02 02:05 | Version 1.1: Make it easier to run the USB host on any pin from P0 to P7. Testing: I didn't have hardware handy to test this on, but I verified that this change (with default settings) produces the same binary image. Concept was already verified by M.K. Borri (spiritplumber). | Micah Elizabeth Scott | 1 | +0 | -0 |
2011-03-24 06:02 | Interrupt inlining size optimizations. This inlines a few functions which are very much smaller if we know the arguments at compile-time. | Micah Elizabeth Scott | 2 | +75 | -80 |
2011-03-23 22:31 | Keyboard size optimizations | Micah Elizabeth Scott | 2 | +57 | -64 |
2011-02-15 08:26 | Source code for a quick color sensor test | Micah Elizabeth Scott | 4 | +158 | -0 |
2011-01-04 21:13 | Simple fix from Walter T. Mosscrop, sign-extend temperatures to 32-bit before converting to float. | Micah Elizabeth Scott | 1 | +0 | -0 |
2011-01-04 21:12 | whitespace | Micah Elizabeth Scott | 1 | +0 | -0 |
2011-01-04 21:11 | whitespace | Micah Elizabeth Scott | 3 | +2 | -2 |
2010-11-30 21:03 | Adding a simple Bluetooth flow control test, which can be used to gauge the throughput and the flow control ability of a PC bluetooth stack. | Micah Elizabeth Scott | 1 | +55 | -0 |
2010-10-04 06:16 | Debugging notes and utilities | Micah Elizabeth Scott | 2 | +12 | -0 |
2010-10-04 05:40 | Add some cuteness~ | Micah Elizabeth Scott | 10 | +0 | -0 |
2010-10-04 05:40 | Version 0.6, bugfix for hang with image() that is perfectly aligned. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-10-04 03:15 | Minor bugfix: Clear all state variables to zero, so we don't see tachometer readings like 65535 RPM right after init. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-10-04 02:44 | New interactive front-end with LCD and encoder wheel | Micah Elizabeth Scott | 4 | +0 | -0 |
2010-10-04 00:02 | Minor cleanup, new hardware docs. | Micah Elizabeth Scott | 6 | +19 | -0 |
2010-10-03 20:20 | Add a URL for the latest version of the driver source | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-10-03 20:14 | Awesome hotness. This version is super-fast, includes filtered text, image and sprite support. Added an image converter tool and a better demo. | Micah Elizabeth Scott | 12 | +3516 | -0 |
2010-10-03 16:21 | New 10 Mbit SPI engine, based on the one I wrote for etherCog a while back. Rewrite in assembly. Now it's fast, yay! | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-10-03 04:42 | Working (but depressingly slow) driver for the Nokia 6100 LCD. Next step: write my own SPI code instead of using the slow SPI_Asm library. | Micah Elizabeth Scott | 3 | +0 | -0 |
2010-08-05 19:29 | Patch from Kurt Daverman: Mask off the low bits of PCI BARs correctly when requesting the address. | Micah Elizabeth Scott | 2 | +12 | -2 |
2010-07-31 23:49 | Bump to version 1.0 | Micah Elizabeth Scott | 8 | +0 | -0 |
2010-07-26 01:24 | Add a simplified SPP object and a cute little demo for it. | Micah Elizabeth Scott | 2 | +57 | -0 |
2010-07-26 00:44 | Disable debug by default | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-07-26 00:08 | Fixed several subtle L2CAP and RFCOMM bugs. Now the Bluetooth serial port is working properly with Windows 7 clients. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-07-22 20:06 | Matching IOHook code for IOH_SVC_INIT | Micah Elizabeth Scott | 1 | +5 | -0 |
2010-07-22 20:05 | Committing patch from neimod to add IOH_SVC_INIT to memhost. | Micah Elizabeth Scott | 3 | +15 | -4 |
2010-07-19 05:50 | Enable persistent link key storage | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-07-19 05:42 | Transmit buffering bugfixes. Now the BluetoothChat app is working well with the demo | Micah Elizabeth Scott | 3 | +2 | -1 |
2010-07-19 05:41 | Tinygram prevention using explicit TX flush | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-07-19 04:44 | Include two service records: a standard Bluetooth serial port, and a UUID for the BluetoothChat example from the Android SDK | Micah Elizabeth Scott | 1 | +43 | -4 |
2010-07-19 02:15 | Test transmit and receive rings | Micah Elizabeth Scott | 1 | +14 | -3 |
2010-07-18 20:19 | A handful of bugfixes, mostly related to RX tokens and MSC packets. Now I can connect to the Propeller's RFCOMM server from a Mac OS client successfully. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-07-18 18:27 | Adding a new debug layer which does some basic decoding of Bluetooth HCI, ACL, L2CAP, and RFCOMM headers. I'm tired of decoding this stuff by hand :P | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-06-20 22:09 | Fix multi-packet control writes, remove CB_CreateNewUnitKey command. Now pairing *seems* to work... or at least I'm getting different errors now in Mac OS :( | Micah Elizabeth Scott | 3 | +0 | -0 |
2010-06-20 21:37 | Hook up the keystore, and enable authentication and encryption by default. Looks like the 'only' remaining problem with Pairing is due to a USB stack bug in multi-packet control transfers. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-06-20 20:40 | Minor cleanup, remove Debug function. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-06-20 20:37 | A basic keystore for Bluetooth link keys. Stores the 8 most recently used keys in EEPROM. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-06-15 07:44 | Some kind of date and version number | Micah Elizabeth Scott | 1 | +2 | -0 |
2010-06-15 06:28 | Fix one warning that Cesar pointed out. He also verified that this code actually works. Yay. | Micah Elizabeth Scott | 1 | +2 | -0 |
2010-06-13 21:09 | Updated the HID modulator with changes from Luke Koops and Cesar Fernandez. | Micah Elizabeth Scott | 1 | +85 | -43 |
2010-05-05 02:12 | Fixed buggy PIN code support, implemented a more efficient table-driven HCI initialization. | Micah Elizabeth Scott | 3 | +1 | -1 |
2010-05-04 22:20 | Fix corrupted timestamps caused by CNT rollover. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-30 17:30 | Ribbotson on the Parallax forums was kind enough to give me some Ellisys traces that demonstrated the havok that "Deferred ACKs" were causing in control transfers with some devices. This change disables deferred ACKs for control transfers (enabled only for Bulk and Interrupt now). Also fixed control reads, by adding the missing OUT status stage. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-26 03:03 | Fixed a nasty deadlock: We'd block while reading the remaining parts of a fragmented ACL packet, but the Bluetooth controller would also be waiting on us to pick up a flow control event. Solved this with another rewrite of the fragmented ACL packet support. So far this seems really robust, and not even that slow. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-04-26 02:10 | Document the root cause of the one remaining apparent source of hangs. Fixing it is going to be a bit nontrivial, so saving that for an isolated patch. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-04-26 01:29 | Cleanups/tweaks for token retry | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-26 01:00 | Clean up some async errors that were occurring at RFCOMM connect time but going unnoticed. Increased throughput to about 8 kB/s mostly by tweaking buffer sizes. | Micah Elizabeth Scott | 4 | +19 | -3 |
2010-04-25 23:24 | Still seeing a few remaining protocol errors, but RFCOMM receive is now much more reliable. | Micah Elizabeth Scott | 4 | +35 | -18 |
2010-04-25 19:35 | Implement a crazy 'deferred ACK' idea I had in the shower this morning. Now the USB host should no longer be dropping packets. test-ft232-loopback reports 0% packet loss. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-25 11:12 | Implement enough of sockets and flow control to get mostly-working support for receiving data on incoming RFCOMM connections. | Micah Elizabeth Scott | 4 | +29 | -10 |
2010-04-25 08:18 | RFCOMM connection negotiation seems to work. Credit-based flow control isn't implemented, so our peer stops transmitting after 7 packets :( | Micah Elizabeth Scott | 3 | +12 | -19 |
2010-04-24 23:12 | Implement RFCOMM's CRC. (Used pycrc to generate the table. What a useful tool!) | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-24 21:47 | Basic support for PIN codes | Micah Elizabeth Scott | 3 | +1 | -0 |
2010-04-24 21:24 | USB debugging improvements: - Timestamp each log entry (seconds/milliseconds since enumeration) - Hide duplicate FrameWaits and Interrupt Read timeouts by default, to make the logs more readable - Prettify the output a bit - Fixed buggy hex dump - Refactored the logging implementation - Increased baud rate to 1 Mb/s | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-21 06:33 | Second rewrite of the SDP server.. this time it's even smaller and simpler, and (most importantly) new services can be provided at runtime by the parent object. | Micah Elizabeth Scott | 4 | +62 | -0 |
2010-04-20 06:46 | A minimal but still useful SDP server. Currently it includes only a minimal Serial Port service, with some commented-out examples for an SDP service and the service name. | Micah Elizabeth Scott | 4 | +0 | -0 |
2010-04-20 05:05 | Checking in what I have so far on the SDP server before I throw most of it away. Turns out that the amount of protocol I actually *need* to implement is ludicrously small. So I'll just keep this simple, and keep the memory footprint low by cutting some corners. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-18 22:01 | More progress on the SDP server. UUID searches work, and there's some scaffolding in place for continuations and attribute searches/responses. | Micah Elizabeth Scott | 2 | +6 | -6 |
2010-04-18 22:00 | Use higher L2CAP channel IDs. Microsoft's stack doesn't like 0x0010.. it's probably reserved in the spec or something :P | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-18 08:47 | Implement a skeleton SDP server which responds to Search/Attribute requests with an empty packet. | Micah Elizabeth Scott | 3 | +0 | -0 |
2010-04-18 05:13 | Implement L2CAP Echo Request support. Now I can ping the Propeller with BlueZ's 'l2ping' tool. | Micah Elizabeth Scott | 3 | +14 | -1 |
2010-04-18 03:19 | Big refactoring/rewrite of the Bluetooth stack so far. To properly support protocols like RFCOMM and SDP, there is now a separate cog that acts as an event dispatcher and SDP server for Bluetooth. That cog is now an event-driven state machine. | Micah Elizabeth Scott | 5 | +38 | -97 |
2010-04-17 23:15 | Set up interlaced page scans. Now it's successfully accepting incoming connections, though it ignores any received ACL packets. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-04-17 22:55 | More debugging for the tiny Bluetooth stack. Have the demo use TV output so we can use the serial port for USB logging, and improve the USB logging format. | Micah Elizabeth Scott | 3 | +47 | -38 |
2010-04-16 07:59 | Implement support for HCI Inquiry commands. The test app now looks for a Wiimote, and prints its BDADDR when we find it. | Micah Elizabeth Scott | 2 | +25 | -24 |
2010-04-16 04:55 | Add performance counters, for debugging and profiling the bluetooth driver. Fixed a very silly bug that could drop commands on the floor. Now the test seems to be running reliably. | Micah Elizabeth Scott | 2 | +23 | -2 |
2010-04-12 04:12 | Started work on a Bluetooth HCI driver. So far it includes a low-level command/reply layer (similar to the SCSI layer in usb-storage) and a few high-level functions for setting up the Bluetooth device. 'Propeller' now shows up on my Mac's Bluetooth device list :) | Micah Elizabeth Scott | 2 | +94 | -0 |
2010-04-12 04:11 | Control OUT support | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-11 23:53 | Mount disk properly prior to the directory listing | Micah Elizabeth Scott | 1 | +3 | -2 |
2010-04-11 23:18 | Add a directory listing to the test. | Micah Elizabeth Scott | 1 | +17 | -0 |
2010-04-11 23:17 | Small timing tweaks, decreases the CRC error rate substantially in the FT232 loopback test. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-11 22:18 | Add more doodads to the loopback test: A chart of error rate by burst size, and debug settings for showing the contents of packets that failed the CRC test. | Micah Elizabeth Scott | 2 | +35 | -5 |
2010-04-11 20:20 | Adding an interactive loopback test | Micah Elizabeth Scott | 1 | +191 | -0 |
2010-04-11 19:05 | Add a simple USB Modem (CDC Data) driver. Now I can talk to my cell phone :) | Micah Elizabeth Scott | 2 | +64 | -0 |
2010-04-11 04:39 | Adding a new device driver for FT232 UART chips. These are really popular chips, simple to write a driver for, and overall they should be a good way to put the host controller through its paces without the complexity of USB storage or (gasp) Bluetooth. | Micah Elizabeth Scott | 2 | +64 | -0 |
2010-04-11 04:38 | SVN property cleanup | Micah Elizabeth Scott | 5 | +0 | -0 |
2010-04-11 04:38 | Port debouncing in Enumerate | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-11 02:35 | Minor usb-storage reliability fixes. | Micah Elizabeth Scott | 2 | +2 | -2 |
2010-04-11 02:35 | - Minor cleanup - New TX bus drive/release debug flag - New lower-latency and more reliable bus release implementation. Fixes occasional hangs during transmit. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-07 18:08 | typo | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-07 16:40 | Test both reads and writes in test-storage. Now it shows two problems which make it pretty obvious why FSRW was failing: - Block writes seem to work *except* that the first byte is always 0x33 (?) - A read immediately after a write seems to hang. | Micah Elizabeth Scott | 1 | +26 | -6 |
2010-04-07 11:17 | Updated USB Storage driver, now with filesystem support (using the FSRW library) | Micah Elizabeth Scott | 4 | +976 | -11 |
2010-04-07 11:17 | New packet length detector, using SOP/EOP timestamps. Fixes CRC errors with pakets whose CRCs end in several '1' bits. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-06 06:23 | The short-packet errors I'm seeing are data-dependent. If I have the test app read a different disk sector, it works fine. Do this for now, as a proof of concept. | Micah Elizabeth Scott | 2 | +10 | -5 |
2010-04-06 06:15 | Initial checkin of a USB mass storage driver. It's basically feature-complete, and it's *almost* working... the host controller is returning 511 bytes for our first 512-byte read. | Micah Elizabeth Scott | 4 | +70 | -68 |
2010-04-06 05:03 | A little exception handling cleanup, and a new public FrameWait() function. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-05 06:47 | Add a proxy object that can sit in place of usb-fs-host and log everything to the debug terminal. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-05 06:46 | Add some convenience functions for endpoints. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-05 02:25 | More cleanup and optimization: - Overlay all data buffers on the hub memory that was originally used for cog code. This saves lots of RAM, and brings the whole host controller's RAM footprint down to about 4kB. - Use Spin exceptions to propagate errors. This is a great language feature I always forget about. - Minor bug fixes | Micah Elizabeth Scott | 4 | +10 | -13 |
2010-04-05 00:51 | More cleanup and optimization: - Remove command lists: they're no longer necessary. - Move the command jump table from cog memory to hub memory. Now the command register takes cog memory pointers, not command indices. - Instead of breaking reads/writes into 255-byte chunks, use an out-of-band 32-bit byte count for encode/decode - Refactor control transfers a bit so the SETUP packet can use our generic OUT code. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-04 21:16 | One round of size optimization and cleanup: - Wait for PORTC to be ready if necessary. Prevents the first Enumerate after Start from failing with a 'device not connected' error. - Use byte rather than long for a few small state variables - Update docs to indicate that the host controller is a singleton object - Use pre-cognew DAT patching instead of par-relative addressing, to save cog memory. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-04 20:23 | Rewrite the ACK transmitter to use some stupid video generator tricks so it can live on the TX cog instead of a dedicated cog. Now the USB controller only needs 3 cogs rather than 4. Yay. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-02 03:55 | Fix a missing 'else' that had this spewing timeout errors even when everything was actually fine. | Micah Elizabeth Scott | 1 | +1 | -1 |
2010-04-01 07:23 | Show nicer blinkenlights: 6 LEDs for buttons, two for scroll wheel | Micah Elizabeth Scott | 1 | +23 | -8 |
2010-04-01 07:06 | Bump to ver 0.2. Fixes two nasty bugs from the first release: - I forgot to disable a debug feature that wrote ACK trigger pulses to pin P2 - Use UWORD() instead of WORD[] to read VID/PID. Fixes garbled device IDs when the devdesc buffer isn't word-aligned. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-04-01 05:49 | Go go gadget basketball bot | Micah Elizabeth Scott | 2 | +124 | -1 |
2010-03-31 07:41 | Replace the 'XXX REALLY BROKEN' with some actual documentation. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-31 07:07 | USB descriptor parsing. Now the tests can stop hardcoding device-specific endpoint addresses and max packet sizes. | Micah Elizabeth Scott | 5 | +165 | -103 |
2010-03-31 05:04 | Bulk transfers work. How do I know this? My USB SD card reader just responded to a SCSI INQUIRY command. Yay. | Micah Elizabeth Scott | 2 | +39 | -16 |
2010-03-30 07:47 | Bulk OUT transfers seem to be working, but not totally sure yet. Testing Bulk I/O using USB Storage, but I haven't successfully received a CSW from the device yet. | Micah Elizabeth Scott | 2 | +68 | -0 |
2010-03-30 06:03 | Split up the single test apps into separate tests for enumeration and Interrupt IN. Add some blinkenlights to the Interrupt IN test. | Micah Elizabeth Scott | 4 | +102 | -0 |
2010-03-30 05:45 | Documentation cleanup | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-30 05:32 | Fix the pseudo-EOP masks to properly test every possible combination of CRC-16 bit stuffing lengths. The demo is now receiving properly with no CRC errors. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-30 05:17 | Fix a subtle bug in the decoder that was causing bit-unstuffing errors. Also tweak the pseudo-EOP timing some more. Now the demo is getting correct CRCs more often than not. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-30 04:51 | If I make the debug output pretty, you won't notice the CRC errors. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-30 04:48 | Interrupt IN transfers implemented. The demo is now reading packets from my Logitech MX1100 mouse (a full-speed HID device) | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-30 03:54 | Minor bug workaround to fix control transfers on some devices with a max packet length of 8 | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-30 03:11 | Device presence and speed detection | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-30 02:48 | Fix the bizarre PID errors during DeviceAddress. They were caused by a bad maxPacketLen, which caused DataIN to keep receiving even after the transfer had finished. Since the device just switched addresses, these requests are never answered, and the malformed PID is actaully the SE1 we use to abort RX1/RX2. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-29 06:45 | This should fix the general-purpose DataIN to work with zero-length packets. Should fix some of the control transfer problems, and DataIN is now used for no-data control transfers too. Sounds great in theory, but I'm getting E_PID during enumeration. Grr. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-29 05:28 | ACK cleanup, wider psuedo-EOP detector window. Now I'm starting to see successful multi-packet IN transfers. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-29 01:56 | Implement low-latency ACK responses using a fourth cog. The ACKs themselves work, but the rest of the stack needs some adjustments to use them. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-28 23:10 | Implemented a cleaner and more robust version of DataIN. But unfortunately this now exposes data toggle errors caused by our hacky ACK support. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-28 22:23 | Add a schematic showing how to hook the USB host port up to the Propeller | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-28 08:31 | Support for multi-packet IN transfers | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-28 07:46 | Separated control transfers into distinct phases with proper retry. Implemented device enumeration. Still only supports one DATA packet per transfer. Next step: pseudo-EOP detection and support for multiple DATA packets. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-28 05:34 | Temporary timing hacks for control transfers. These work, but I'm replacing them ASAP with something less ugly. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-28 00:51 | Control transfers (no-data and read) mostly work! Still getting CRC errors in some cases, but I can successfully retrieve and decode configuration and string descriptors. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-27 10:41 | RX CRC16 checks, and define hub-memory transmit/receive commands. Zzzzzz.... | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-27 10:30 | Automatic SOF generation. The timing is kinda fake, but it works as a keep-alive packet at least. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-27 09:12 | Successfully receiving and decoding the SYNC and DATA1 PID from a GET_DESCRIPTOR response | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-27 08:04 | Implement pseudo-EOP detection on the RX2 cog, and signal this 'done' state back to the TX/control and RX1 cogs. Now we don't have to wait 500+ us to fill up the receive buffer even when receiving short packets. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-03-26 07:59 | Initial checkin of a work-in-progress USB Host Controller for the Propeller microcontroller. It's implemented entirely in software (bit-banging) and it supports full-speed (12 Mb/s) USB. Currently has medium-level (Chapter 9) support for transmit, and very low-level (NRZI encoded) receive support. | Micah Elizabeth Scott | 2 | +0 | -0 |
2010-03-26 07:57 | This is an old change I forgot to check in... Prevent the needle from spuriously moving when the pedal is idle in up-down mode. | Micah Elizabeth Scott | 2 | +7 | -6 |
2010-03-06 09:51 | This time we're cheating at Final Fantasy VII mini-games | Micah Elizabeth Scott | 2 | +97 | -0 |
2010-02-05 22:18 | remove debug code, on Linux (when my bluetooth isn't super-slow) this is actually slowing it down a bit. | Micah Elizabeth Scott | 1 | +0 | -2 |
2010-02-04 05:40 | Ugly dirty port to Mac OS | Micah Elizabeth Scott | 1 | +39 | -15 |
2010-01-20 10:12 | Implemented closed-loop servo speed control. There's no UI at all, but othewise this thing is feature complete :) | Micah Elizabeth Scott | 3 | +31 | -1 |
2010-01-19 10:19 | Stop trying to use the motor brake in the open-loop motion controller. It just ends up making the motor vibrate annoyingly, and it doesn't seem to help at all. | Micah Elizabeth Scott | 1 | +0 | -0 |
2010-01-19 10:12 | Initial checkin of firmware for my sewing machine. Includes a library which provides pedal input, sensor sampling, shaft angle/speed estimation, and motion control. Including a couple examples of top-level firmware that implements different sewing modes: open-loop speed control, needle up/down, and stop with needle down. To do: Closed-loop speed control :) | Micah Elizabeth Scott | 6 | +69 | -0 |
2010-01-08 08:30 | Gitaroo Man + DDR = Awesome | Micah Elizabeth Scott | 2 | +254 | -17 |
2010-01-04 06:54 | Closed-loop control. Sorta. It kinda sucks. | Micah Elizabeth Scott | 7 | +277 | -41 |
2010-01-04 02:49 | Initial checkin for a sewing machine speed controller based on a modified AVR Butterfly board. Current version is an ugly proof-of-concept open loop controller. The plan is to have closed-loop speed control and needle up/down control. | Micah Elizabeth Scott | 10 | +1071 | -0 |
2009-12-06 20:34 | 'Stable' bitstream for the twlfpga board. (Capture is totally untested.. but the LEDs, sysclk, and battery control work. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-12-06 20:29 | Basic support for the new twlfpga hardware: Turn on the LEDs, added placeholders for several peripherals in the UCF file, fixed clk50, and added software control over the battery power supply. | Micah Elizabeth Scott | 9 | +372 | -37 |
2009-12-06 19:20 | Archiving the last stable bitstream for the prototype board. Future bitstreams will be for the twlfpga board, unless otherwise marked. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-12-06 02:35 | There's a firmware bug which causes control reads to fail on some USB controllers (incuding VMware's virtual controller). Work around this by making these failures non-fatal in the software. | Micah Elizabeth Scott | 1 | +3 | -1 |
2009-12-04 07:27 | Add support for the twlfpga VID/PID | Micah Elizabeth Scott | 2 | +13 | -3 |
2009-12-04 07:21 | Adding an XML template for use with FT_PROG, to initialize the EEPROM on the new twlfpga board. | Micah Elizabeth Scott | 1 | +79 | -0 |
2009-12-04 07:00 | Allocate a fake USB PID for twlfpga | Micah Elizabeth Scott | 1 | +2 | -0 |
2009-12-04 05:25 | Basic changes to get memhost building on Mac OS | Micah Elizabeth Scott | 2 | +21 | -8 |
2009-11-01 23:06 | Fix crashes on exit. | Micah Elizabeth Scott | 6 | +33 | -22 |
2009-11-01 08:26 | Build improvements for Mac OS hosts. Also added a Mac icon. | Micah Elizabeth Scott | 5 | +71 | -50 |
2009-10-30 07:00 | Make it possible to open memory traces by dragging or double-clicking on Mac OS, and use one main window per document. | Micah Elizabeth Scott | 4 | +50 | -11 |
2009-10-30 02:13 | More bug fixes: Fix crashes on startup with no file open. | Micah Elizabeth Scott | 3 | +38 | -35 |
2009-10-29 07:43 | Get it building from XCode in Mac OS 10.6 | Micah Elizabeth Scott | 14 | +411 | -12 |
2009-10-24 01:14 | Remove extra debugging code. | Micah Elizabeth Scott | 1 | +0 | -3 |
2009-10-23 23:58 | fixes to build on os x | bushing | 3 | +84 | -2 |
2009-10-23 23:55 | Disable interrupts after returning from a BIOS call, since some BIOS calls may re-enable interrupts and leave them on. Naughty BIOS! I tested this with a simple app that enables a PIT timer and runs APM BIOS calls in a tight loop. Without this change, VMware Workstation would detect a triple-fault almost immediately. With this change, it runs correctly. | Micah Elizabeth Scott | 1 | +8 | -0 |
2009-10-20 07:36 | Type cleanup, and some new data types for block indexing. | Micah Elizabeth Scott | 10 | +120 | -100 |
2009-10-19 06:58 | Started work on the content viewer table. Some of the architecture is in place, and it displays useless junk. | Micah Elizabeth Scott | 10 | +538 | -10 |
2009-10-19 04:58 | Several bug and performance fixes. Most notably, another caching layer to reduce the time spent re-rendering slices from the slice cache onto the buffer bitmap, and some edge case fixes which eliminate bugs that caused transfers to be cut off from the beginning and end of the log. | Micah Elizabeth Scott | 9 | +129 | -21 |
2009-10-19 01:28 | Document the UI shortcuts | Micah Elizabeth Scott | 1 | +15 | -7 |
2009-10-18 22:38 | Limit how far you can zoom out. The display starts to get very odd once the 64-bit integer math starts overflowing :P | Micah Elizabeth Scott | 1 | +6 | -0 |
2009-10-18 22:20 | Keyboard navigation and bi-directional selection linkage | Micah Elizabeth Scott | 8 | +235 | -39 |
2009-10-18 20:16 | New edge emphasis algorithm. This looks much better, and it does a better job of preserving distinctions in pixel intensity. | Micah Elizabeth Scott | 2 | +73 | -19 |
2009-10-18 19:53 | Hilight transfers on the timeline when they're selected in the transfer table. This linkage will eventually be bidirectional, but first I need index primitives for efficiently looking up the closest transfer to the cursor in 2D. | Micah Elizabeth Scott | 8 | +317 | -55 |
2009-10-18 10:41 | Tweak the timestep size again, and add a note about making it more dynamic. | Micah Elizabeth Scott | 1 | +9 | -1 |
2009-10-18 10:26 | Overlays for THDTimeline implemented, added a THDModel which tracks shared mutable data, like the clock frequency and information about the cursor. | Micah Elizabeth Scott | 11 | +323 | -131 |
2009-10-18 08:05 | Don't update the table continuously while indexing. It totally jams up the UI while indexing... | Micah Elizabeth Scott | 1 | +6 | -2 |
2009-10-18 08:02 | Bigger timesteps, to keep the index size down. | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-10-18 07:57 | Condition vars are overkill, and seem buggy on wxMac. Use a semaphore instead. | Micah Elizabeth Scott | 1 | +4 | -6 |
2009-10-18 07:42 | Revert my ColorRGB fix, I like bushing's better. | Micah Elizabeth Scott | 1 | +5 | -5 |
2009-10-18 07:37 | Use wxColour instead of ColorRGB, for compatibility with bushing's Mac gcc. | Micah Elizabeth Scott | 1 | +5 | -5 |
2009-10-18 07:20 | Progress on the overlay label, and added a SetBackgroundStyle() to help portability and performance. | Micah Elizabeth Scott | 3 | +235 | -8 |
2009-10-18 05:06 | More efficient drawing, and maybe a fix for the bug Bushing was hitting. | Micah Elizabeth Scott | 2 | +50 | -22 |
2009-10-18 04:31 | Tweak timestamp precision | Micah Elizabeth Scott | 2 | +3 | -2 |
2009-10-18 04:10 | Sizing and selection improvements for the transfer table. | Micah Elizabeth Scott | 4 | +40 | -20 |
2009-10-18 03:37 | Custom table formatting for read, write, and error rows. | Micah Elizabeth Scott | 4 | +142 | -21 |
2009-10-18 02:15 | Custom cell attribute handling. So far this doesn't do anything you couldn't do with per-column attributes in wxGrid, but the plan is to use this to format transfers differently based on type. | Micah Elizabeth Scott | 6 | +111 | -16 |
2009-10-17 23:59 | Friendlier labels for MemTransfer types | Micah Elizabeth Scott | 1 | +10 | -8 |
2009-10-17 23:18 | Initial support for a table showing summary information for every transfer in the log. This is a wxGrid widget backed by a custom table class which uses LogIndex. So far it's very fast at browsing logs with millions of transactions. | Micah Elizabeth Scott | 8 | +474 | -26 |
2009-10-16 07:47 | Fix a thread safety bug in the log reader. The indexer thread and the slice cache thread were sharing a reader buffer, and it wasn't protected by the database lock. This patch clones the LogReader in the indexer thread, so it gets its own buffer. | Micah Elizabeth Scott | 2 | +22 | -4 |
2009-10-16 07:27 | More awesome interactivity- when you zoom or pan the view, we now immediately scale/pan the existing view (at the bitmap layer, rather than the slice layer), to give a low-quality preview instantaneously before the high-quality slices render asynchronously. | Micah Elizabeth Scott | 3 | +127 | -7 |
2009-10-16 06:19 | More antialiazing! | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-10-16 06:06 | Fixed several indexing bugs. Added optional debug checks in LogIndex to catch future indexer errors. Implemented supersampled antialiasing in the timeline widget. Added some kinda ugly edge emphasis, to make the graphs easier to read (but not prettier). | Micah Elizabeth Scott | 7 | +333 | -79 |
2009-10-06 22:22 | New color scheme, and proper vertical scaling | Micah Elizabeth Scott | 6 | +226 | -110 |
2009-10-06 04:56 | Early work on a bandwidth graph, and some code cleanup. The timeline view needs a better color scheme... | Micah Elizabeth Scott | 4 | +268 | -39 |
2009-10-05 23:05 | The instant cache is now a new 'fuzzy cache' data type, which has LRU eviction. No more giant memory leak. | Micah Elizabeth Scott | 4 | +109 | -75 |
2009-10-05 22:14 | The timeline shouldn't get stuck with out-of-date slices during indexing- keep enqueueing slices if the index is building. | Micah Elizabeth Scott | 1 | +10 | -3 |
2009-10-05 22:09 | Fix an sqlite crash just after indexing. We need to delete any cached commands after committing a transaction with ANALYZE in it. | Micah Elizabeth Scott | 2 | +18 | -1 |
2009-10-05 21:58 | Adding an inline assembly version of MemPacket_FromBytes() for x86 or x86-64 systems with GCC. | Micah Elizabeth Scott | 1 | +10 | -1 |
2009-10-05 21:57 | Checking in several patchkit changes I forgot about... this fixes the core dumper uninitialized ELF headers bug, and adds an iohook command to set the system clock frequency. | Micah Elizabeth Scott | 6 | +28 | -3 |
2009-10-05 21:56 | Fix several bugs: the work queue is no longer bogosorted continuously, which means redraws occur in a more natural order and they're more efficient. Fixed the reverse-iteration bug, so the timeline view should be correct again. Made some performance improvements. | Micah Elizabeth Scott | 8 | +105 | -71 |
2009-10-05 08:07 | Add a few bugs to the list | Micah Elizabeth Scott | 1 | +5 | -0 |
2009-10-05 02:51 | Add another giant cache. It's fast, yay. | Micah Elizabeth Scott | 4 | +296 | -115 |
2009-10-05 01:21 | Keep track of each slice's age, and display the checkerboard placehol;der pattern only if the slice is older than a fixed limit. | Micah Elizabeth Scott | 4 | +48 | -17 |
2009-10-04 07:43 | Fixed a subtle bug in the varint code which was causing discontinuities at timestep boundaries. | Micah Elizabeth Scott | 3 | +48 | -27 |
2009-10-04 06:38 | More efficient and responsive work queue implementation for LazyCache | Micah Elizabeth Scott | 4 | +278 | -68 |
2009-10-04 04:51 | Use a new 'lazy cache' object to manage the asynchronous rendering of slice data. Now the slice retreival and rendering happens asynchronously, and the UI remains responsive even when the complete image isn't available. The UI will use a placeholder (checkerboard pattern) to represent data that hasn't loaded yet, and it will progressively render until the image is complete. | Micah Elizabeth Scott | 4 | +284 | -43 |
2009-10-04 02:37 | Implement support for replaying transfers from the original log file while querying for strata. There is no cache for this yet, so it's significantly slower, but now the timeline display has unlimited zoom resolution. | Micah Elizabeth Scott | 3 | +149 | -77 |
2009-10-04 00:59 | Kinda almost useful implementation of the timeline view. The coloration is a total hack, it isn't generating data asynchronously yet, and it is limited to 1-timestep resolution.. but it kinda works. | Micah Elizabeth Scott | 4 | +84 | -17 |
2009-10-04 00:12 | First crude but kinda-functional timeline rendering. Rendered timeline slices are stored in a huge LRU cache, copied to the display via wxPixelData and wxBitmap, and they're rendered by querying the index for LogInstants. Rendering is a total hack right now, so the rendered data is totally meaningless, but is unique for each slice. | Micah Elizabeth Scott | 6 | +322 | -68 |
2009-10-03 19:32 | Project layout and whitespace cleanup | Micah Elizabeth Scott | 38 | +2189 | -2105 |
2009-10-03 19:10 | Switch build system from make to scons | Micah Elizabeth Scott | 3 | +31 | -49 |
2009-10-03 09:16 | Yet another indexing idea- but this one seems to be working. This stores coarse-grained 'strata' in BLOBs of packed variable-width integers, and fine-grained 'blocks' as a larger indexed table. Strata retrieval seems to be fast enough now for interactive scrolling and zooming, while the block table should still give the detail necessary to do the actual hex dump timeline. | Micah Elizabeth Scott | 4 | +595 | -129 |
2009-09-29 09:30 | Added new data types and glue for tracking log 'instants', or summaries of block state at a particular timestamp. Improved log indexing, but there still isn't any working query code. | Micah Elizabeth Scott | 8 | +313 | -208 |
2009-09-28 02:52 | Add some more GUI bits: the early beginnings of a timeline widget. The next step is to add some actual query functionality to LogIndex, so we have some data to visualize. | Micah Elizabeth Scott | 4 | +109 | -2 |
2009-09-28 02:27 | Start some actual GUI bits. There is now a main window, with a custom statusbar that displays the indexing state, current log duration, and a progress bar. | Micah Elizabeth Scott | 13 | +465 | -105 |
2009-09-28 00:26 | The sqlite-based log indexer is now generating an index, and performance seems to be fairly good. Next step is to add UI widgetry to display indexing progress, and to display a timeline. | Micah Elizabeth Scott | 5 | +267 | -33 |
2009-09-27 20:37 | Starting work on the log indexer. This reads the log, segments it into manageable blocks (in both space and time), then creates an sqlite3 database as an index. | Micah Elizabeth Scott | 13 | +2229 | -22 |
2009-09-27 09:50 | Commit some initial work on Temporal Hex Dump (THD), a graphical analysis tool for memory access traces. So far, this includes some infrastructure for reading the log files efficiently and seeking forward/backwards in them. | Micah Elizabeth Scott | 7 | +529 | -0 |
2009-09-27 08:38 | Add a cast to make g++ happy. | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-09-26 20:38 | Fix uninitialized data bug in the core-dumper, add dynamic clock frequency to IOHook. | Micah Elizabeth Scott | 5 | +19 | -11 |
2009-09-26 20:01 | Cleanup: Move shared header files into a top-level 'include' directory. Testing: Clean rebuild of host, patchkit, and decoder. | Micah Elizabeth Scott | 5 | +4 | -7 |
2009-09-25 04:13 | Add 32-bit read command. | Micah Elizabeth Scott | 2 | +23 | -1 |
2009-09-25 03:51 | Checking in a stable version of the FPGA bitstream, compiled from top-of-tree. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-09-25 02:10 | Move the stub's infinite loops into WRAM. | Micah Elizabeth Scott | 1 | +11 | -1 |
2009-09-25 02:04 | Add a trivial patch that gets both CPUs stuck in infinite loops. | Micah Elizabeth Scott | 3 | +17 | -1 |
2009-09-25 02:03 | Flush the last burst at EOF. | Micah Elizabeth Scott | 1 | +8 | -0 |
2009-09-24 17:10 | Update TODO list with a suggestion and a bug report from segher. | Micah Elizabeth Scott | 1 | +2 | -0 |
2009-09-24 02:39 | Add configurable stop conditions (time, size, address) | Micah Elizabeth Scott | 4 | +108 | -8 |
2009-09-24 02:00 | Add sample output for the register-dump patch. | Micah Elizabeth Scott | 1 | +70 | -0 |
2009-09-23 10:02 | Adding a simple FUSE filesystem for mounting encrypted NAND flash images. | Micah Elizabeth Scott | 2 | +356 | -0 |
2009-09-22 09:40 | Cleanup and refactoring for patchkit. Added the first working version of a more complex patch. This one takes a live core dump (ELF32 ARM linux format) of all nonzero memory accessible by the CPU. Tested on hardware with a 5 MHz system clock. Runs nicely, and dumps about 80MB of data at about 1 MB/sec. | Micah Elizabeth Scott | 10 | +3218 | -273 |
2009-09-22 08:41 | Turn off the majority-detect filter, it has outlived its usefulness. Now the tracer/patcher can run much faster- we're limited by USB bandwidth far before the RAM sampler starts missing transfers. | Micah Elizabeth Scott | 2 | +119 | -7 |
2009-09-22 08:19 | sigh.. 3.5 MHz is pushing it. One of these days I'll fix the clock filter to work at higher frequencies, but for now go back down to 3.0 MHz. | Micah Elizabeth Scott | 2 | +2 | -2 |
2009-09-22 06:05 | Another simple patch- dump registers and top of stack. | Micah Elizabeth Scott | 2 | +41 | -0 |
2009-09-22 05:34 | Rename the 'slow' clock to 'default', and add a 1.0 MHz 'slow' clock. | Micah Elizabeth Scott | 1 | +12 | -4 |
2009-09-22 05:32 | System seems stable at 3.5 MHz. Increase default clock speed from 2.0 to 3.5. | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-09-22 05:28 | Search for the default FPGA bitstream in the same directory that the binary is located in. Now I can stick a symlink to memhost in my PATH. Yay. | Micah Elizabeth Scott | 2 | +49 | -5 |
2009-09-22 05:10 | Implement new meanings for ELF segment read/write flags. | Micah Elizabeth Scott | 1 | +26 | -9 |
2009-09-22 05:05 | Previous fix didn't work. This time a cleaner but slightly more complex solution- use the ELF segment flags to indicate whether a segment is part of the patch or not. No-access segments are excluded from the patch, read-only segments are patched, and read-write segments are not allowed. | Micah Elizabeth Scott | 1 | +16 | -15 |
2009-09-22 04:52 | Rearrange sections to get rid of harmless but annoying linker warning about .unp_scratch | Micah Elizabeth Scott | 1 | +12 | -10 |
2009-09-21 01:10 | There are some NVRAM pages we can't program. Make verify errors non-fatal. | Micah Elizabeth Scott | 1 | +3 | -4 |
2009-09-20 22:10 | Frob the magic numbers yet again. Seems like if I keep the transfer size low, the FTDI header never gets messed up. Maybe this is some quirk of libusb or Linux's EHCI driver? | Micah Elizabeth Scott | 1 | +1 | -6 |
2009-09-20 22:03 | Revert r12290. This change kinda helped, but now buffer overflows are happening much more frequently. | Micah Elizabeth Scott | 2 | +12 | -30 |
2009-09-20 21:58 | Add an extra cycle of latency to the USB engine when we need to wait for a FIFO full flag. This slows down the max transfer rate to 20 MB/s, which is kinda lame, but right now reliability is a bit more important. | Micah Elizabeth Scott | 2 | +30 | -12 |
2009-09-20 21:55 | Work around stupid FTDI packet header crap. | Micah Elizabeth Scott | 1 | +6 | -1 |
2009-09-20 21:55 | Trivial cleanup (actual_length -> local var) | Micah Elizabeth Scott | 1 | +1 | -2 |
2009-09-20 20:32 | Add patches for dumping and programming the NVRAM chip. | Micah Elizabeth Scott | 8 | +235 | -20 |
2009-09-20 20:31 | Until I can fix the USB errors (prolly caused by FT2232H oddities that I'm not handling properly), make them non-fatal. The IO hook still has yet another layer of verification, so we'll catch any errors that actually matter. | Micah Elizabeth Scott | 3 | +32 | -32 |
2009-09-20 19:37 | Minor cleanups to logging output, support byte-wide hex logging | Micah Elizabeth Scott | 2 | +11 | -3 |
2009-09-20 19:09 | Don't clear the status line unnecessarily. The flicker is annoying. | Micah Elizabeth Scott | 1 | +10 | -3 |
2009-09-20 19:06 | Be less chatty on read/write/seek operations. | Micah Elizabeth Scott | 1 | +0 | -4 |
2009-09-20 18:34 | Oops. | Micah Elizabeth Scott | 1 | +1 | -0 |
2009-09-20 18:33 | The VT100 codes aren't working so well. Just print a bunch of spaces to erase the status line when displaying log lines. | Micah Elizabeth Scott | 1 | +5 | -3 |
2009-09-20 18:30 | Another great laziness feature.. add some hardware and software bits that allow memhost to automatically reset the DSi's CPUs before running a patch or collecting a trace. | Micah Elizabeth Scott | 8 | +46 | -17 |
2009-09-20 10:48 | Improve size efficiency in patchkit, and fix string alignment bugs. | Micah Elizabeth Scott | 4 | +50 | -16 |
2009-09-20 10:40 | This is a pretty big change which adds a new "I/O Hook" system, a simple bidirectional RPC mechanism for using the PC's filesystem and console from a patch running on the DSi. This can be used to more easily and reliably load and dump memory which is arbitrarily large, since patches can read, write, and seek within a file. | Micah Elizabeth Scott | 20 | +1062 | -92 |
2009-09-20 00:35 | Refactoring: Add an even lower-level public interface to the memory trace file format, in the form of a header file that includes data types and inline functions for dealing with memory trace data. This will be used by memhost soon for some real-time processing on memory traffic. | Micah Elizabeth Scott | 3 | +201 | -86 |
2009-09-19 22:39 | Remove a debug printf I forgot to take out. | Micah Elizabeth Scott | 1 | +0 | -1 |
2009-09-19 22:24 | Adding my old tool to pack many flat binary files into an ELF | Micah Elizabeth Scott | 1 | +95 | -0 |
2009-09-19 22:11 | Working ELF file loader | Micah Elizabeth Scott | 2 | +90 | -4 |
2009-09-19 19:35 | Adding a really basic skeleton for a sample patch ELF file, which generates loadable segments at useful places in RAM. | Micah Elizabeth Scott | 3 | +51 | -0 |
2009-09-18 09:36 | New command line interface with spiffy patch-loading awesomeness. Loads flat binary files, and ascii/utf16/hex strings from the command line. ELF support coming soon... | Micah Elizabeth Scott | 3 | +318 | -23 |
2009-09-18 07:40 | More refactoring. Also implemented a higher-level interface for patching, which handles allocating space in the hardware registers and splitting regions into aligned blocks. | Micah Elizabeth Scott | 6 | +316 | -101 |
2009-09-16 08:30 | More refactoring- move trace capture to a separate file | Micah Elizabeth Scott | 5 | +213 | -135 |
2009-09-16 07:54 | Refactor system clock and config register code into a new hw_common module, and implement a faster multi-register write. | Micah Elizabeth Scott | 4 | +221 | -97 |
2009-09-16 05:47 | New stable bitstream from top-of-tree. Includes patching metastability fixes. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-09-16 05:42 | I think the patch injector corruption is actually fixed this time. Turns out that we were sampling the RAM enable signals without going through the synchronizer/filter. So, normally it would work, but sometimes it would cause nasty metastability conditions to propagate around the patcher logic. Awesome. Now we use the filtered and synchronized control signals, which have a little bit of latency but should be clean. Worst case, we get a tiny bit of bus contention at the end of a read burst, and I don't care. | Micah Elizabeth Scott | 2 | +16 | -15 |
2009-09-16 04:28 | Fix/workaround an awesome bug where patches that contained words with a lot of '1' bits would get corrupted. My best guess at the root cause is currently that all those simultaneous edges woudl capacitively couple some noise onto CE2, which may have been driven with a weak pull-up by the DSi. If CE2 bounces, we'll cancel the burst and stop driving the data bus, then it will settle at whatever level the FPGA's pin keepers hold it at. | Micah Elizabeth Scott | 2 | +11 | -4 |
2009-09-16 03:16 | Switch from inferred RAM for patch content to explicit blockram primitives. This doesn't fix the bug I was hoping it would, but it's a bit cleaner. | Micah Elizabeth Scott | 4 | +93 | -60 |
2009-09-16 02:35 | Clean up some warnings- remove an unused strobe line, set the width for our CAM enable const. | Micah Elizabeth Scott | 3 | +3 | -14 |
2009-09-16 02:01 | New stable bitstream. This includes patching support, as well as the 240 MHz to 200 MHz frequency synthesizer change. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-09-15 05:33 | Just for fun, try a longer patch to the main menu's strings. This one replaces a 2 kB region. | Micah Elizabeth Scott | 1 | +24 | -18 |
2009-09-15 05:19 | Heavily pipeline the patch store memory. This may fix some of the RAM flakiness, and registering the CAM will give me some peace of mind. | Micah Elizabeth Scott | 5 | +195 | -94 |
2009-09-14 16:43 | Remove obsolete files, so folks reading Bushing's blog post won't be confused by them. | Micah Elizabeth Scott | 2 | +0 | -98 |
2009-09-14 10:00 | Patch storage system implemented. Shows some signs of life, but needs a lot of debugging. | Micah Elizabeth Scott | 14 | +689 | -10 |
2009-09-14 07:42 | Cleaned up the RAM patcher in main.v, factored out the actual patch storage into a new patch_store module. Current patch_store is a proof-of-concept, but the next step is to make a real configurable patch storage system. | Micah Elizabeth Scott | 3 | +116 | -24 |
2009-09-14 05:16 | Run the system clock synthesizer off our onboard 50 MHz oscillator rather than the FT2232H's clock. This means our internal frequency is only 200 MHz instead of 240 MHz, and the clock no longer glitches as badly while reconfiguring the FPGA. | Micah Elizabeth Scott | 3 | +19 | -11 |
2009-09-13 22:33 | Add commented-out entries in the UCF file for on-board peripherals that we aren't using yet. | Micah Elizabeth Scott | 1 | +15 | -0 |
2009-09-13 22:14 | Better filename for the FT2232H EEPROM data. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-09-13 22:14 | Add pinout notes to a new 'hardware' directory, and move the EEPROM data there too. | Micah Elizabeth Scott | 2 | +0 | -0 |
2009-09-13 10:02 | A very simple proof-of-concept for RAM patching. Really all that's missing though is a proper mechanism for storing and retrieving patch data. This could be as simple as a few address registers plus a block-RAM, or it could be a full CAS array... | Micah Elizabeth Scott | 1 | +47 | -4 |
2009-09-13 05:04 | Checking in a stable version of the FPGA bitstream. This file will be updated periodically, but not necessarily after every change to the RTL. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-09-13 02:46 | Add config flags for enabling/disabling read and write traces. Fixed packet alignment at the start of a stream. | Micah Elizabeth Scott | 3 | +87 | -32 |
2009-09-13 02:04 | Fix a bug in the RAM state machine which was causing all reads to be off by 2 bytes. This may have been partially masked by timing problems earlier, but now the bug is pretty obvious. With this fixed, traces are relatively clean. | Micah Elizabeth Scott | 1 | +6 | -7 |
2009-09-13 01:28 | Re-add the diode hack for ram_ce1_out. It's cheesy, but it really does work better than the alternatives. | Micah Elizabeth Scott | 2 | +34 | -12 |
2009-09-13 01:08 | Implemented PC-controlled configuration registers in the USB core, and a new system clock frequency synthesizer. The synthesizer operates at 240 MHz internally, and generates 0-30 MHz output with 0.5 kHz resolution. | Micah Elizabeth Scott | 4 | +258 | -73 |
2009-09-12 21:21 | The tiniest bit of polish- a usage message, and a copyright header | Micah Elizabeth Scott | 1 | +33 | -3 |
2009-09-12 21:17 | Buffer overrun detection | Micah Elizabeth Scott | 2 | +40 | -6 |
2009-09-12 20:59 | Reimplemented USB FIFO and state machine. It's ready for bidirectional transfer now, and all of the USB-side data corruption is gone. Transferred a few hundred MB with no CRC errors. | Micah Elizabeth Scott | 5 | +233 | -133 |
2009-09-12 19:39 | Dumb FT2232H is giving us a junk header at the beginning of the stream. Add a hack that ignores it in software. | Micah Elizabeth Scott | 1 | +32 | -21 |
2009-09-12 17:05 | Remove unused modules | Micah Elizabeth Scott | 3 | +1 | -137 |
2009-09-12 10:53 | Two hardware modifications for improved RAM signal integrity. Now the DSi boots again, hooray. | Micah Elizabeth Scott | 2 | +16 | -1 |
2009-09-12 10:12 | Catch SIGINT so we can cleanly flush and close the output file when the user exits with ctrl-C. | Micah Elizabeth Scott | 1 | +16 | -3 |
2009-09-12 09:59 | Fix two more hardware bugs: CE1 was being ignored due to a misnamed wire, and ram_d[2] was stuck high due to sharing a pin with HSWAP. | Micah Elizabeth Scott | 2 | +2 | -3 |
2009-09-12 09:22 | Fix kernel module detaching. Now you no longer need to manually unload ftdi_sio on linux. | Micah Elizabeth Scott | 3 | +50 | -24 |
2009-09-12 09:02 | Design is mostly adapted for the new FPGA. Memory tracing is kinda working, but there are buffering glitches and several features are still unimplemented. | Micah Elizabeth Scott | 4 | +25 | -17 |
2009-09-12 05:42 | Successful high-bandwidth data streaming over the FT2232H from the FPGA. This test is receiving dummy packets from the FPGA at a little over 25 MB/s on my machine. | Micah Elizabeth Scott | 8 | +410 | -412 |
2009-09-12 02:37 | Prepared UCF file with all usable I/Os on banks 3 and 0. | Micah Elizabeth Scott | 1 | +106 | -81 |
2009-09-12 01:51 | Working FPGA configuration and clocking. Yay. | Micah Elizabeth Scott | 7 | +462 | -74 |
2009-09-11 10:12 | Some progress on a host program that speaks to the FT2232H chip and configures the FPGA, but it isn't working yet. | Micah Elizabeth Scott | 7 | +300 | -15 |
2009-09-11 07:50 | Adding FT2232H EEPROM template from MProg | Micah Elizabeth Scott | 1 | +85 | -0 |
2009-09-11 07:34 | First bits of success at talking to the FT2232H chip. Not yet using synchronous FIFO mode, but I think I need to reboot into Windows to flash the board's EEPROM first... | Micah Elizabeth Scott | 53 | +322 | -21840 |
2009-09-09 06:03 | This is a patch from booto which adds an optional third command line option, instructing the decoder to terminate after a particular timestamp when converting a raw log to a memory dump. This makes it possible to generate a snapshot of memory at various points in time using the same raw trace. Thanks! | Micah Elizabeth Scott | 1 | +22 | -2 |
2009-09-07 23:47 | Fixed segfault on EOF | Micah Elizabeth Scott | 1 | +10 | -0 |
2009-09-05 22:18 | Actually use the new buffering code. Also make errors non-fatal, and report the file offset where we noticed each error. | Micah Elizabeth Scott | 3 | +15 | -10 |
2009-09-05 21:35 | Add switch debouncing, and addd a third configuration switch as a global trace enable/disable. This lets you start and stop capture without flushing any of the buffers. | Micah Elizabeth Scott | 3 | +62 | -12 |
2009-09-05 21:31 | On-the-fly gzip not such a great idea. bzip2 works much better, we'll just do the compression offline. | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-09-05 19:12 | Add .h and Makefile deps to makefile | Micah Elizabeth Scott | 1 | +2 | -0 |
2009-09-05 18:24 | Some optimization: File buffering, and -O3 | Micah Elizabeth Scott | 3 | +69 | -6 |
2009-09-05 08:20 | Support log files larger than 2GB | Micah Elizabeth Scott | 1 | +2 | -0 |
2009-09-05 08:20 | Read trace enable/disable switch, error latch LED | Micah Elizabeth Scott | 3 | +21 | -8 |
2009-09-05 07:31 | Accept a filename on the command line | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-09-05 07:31 | Redo a few pin assignments to decrease noise and decrease the number of bit errors. Still not perfect, though... | Micah Elizabeth Scott | 2 | +12 | -4 |
2009-09-05 06:54 | Fixed clock edge for read tracing, tweaked clock edgedetector/filter. This reduces the bit errors quite a bit, but doesn't quite fix them. | Micah Elizabeth Scott | 4 | +78 | -19 |
2009-09-04 19:41 | Forgot the makefile | Micah Elizabeth Scott | 1 | +4 | -0 |
2009-09-04 10:34 | Add binary file decoding output, fix some HDL bugs. Still getting occasional bit errors.... | Micah Elizabeth Scott | 5 | +94 | -208 |
2009-09-04 09:51 | Add an on-chip FIFO buffer between the memory trace state machine and the off-chip USB fifo. Much better- no more buffer overflows. | Micah Elizabeth Scott | 1 | +26 | -20 |
2009-09-04 09:36 | Big refactoring/rewrite of both the HDL and decoder. Includs a new packet format, timestamp, checksums, read traces, and more reusable decoder code. | Micah Elizabeth Scott | 11 | +1297 | -185 |
2009-09-01 06:27 | Account for write latency | Micah Elizabeth Scott | 1 | +52 | -44 |
2009-09-01 04:35 | Fix byte order for ASCII, frob the burst hack. | Micah Elizabeth Scott | 1 | +2 | -2 |
2009-09-01 04:09 | LB/UB support, a hack for burst writes | Micah Elizabeth Scott | 1 | +46 | -20 |
2009-09-01 02:14 | Still some corruption to debug, but now it mostly works. yay. It helped to switch to an external 48 MHz IFCLK, even if that required adding a super-ugly jumper wire on my board. | Micah Elizabeth Scott | 4 | +26 | -21 |
2009-08-31 11:08 | Getting really close, but still not working. Using a synchronous FIFO now, and it's keeping up with the data rate. USB data integrity looks a lot better, but data is still getting lost. | Micah Elizabeth Scott | 4 | +121 | -38 |
2009-08-31 01:47 | Close to working.. but the USB interface needs debugging. | Micah Elizabeth Scott | 2 | +98 | -20 |
2009-08-30 20:32 | Starting the HDL for a DS RAM tracer. Also includes a local copy of fx2pipe, which I'm using as the board's firmware currently. | Micah Elizabeth Scott | 53 | +22351 | -0 |
2009-08-26 16:24 | Move graph output to a separate directory (on tmpfs), temporarily disable voltage graphs. | Micah Elizabeth Scott | 2 | +33 | -30 |
2009-08-16 22:11 | First cut at an IDC file for Nintendo DS registers | Micah Elizabeth Scott | 1 | +142 | -0 |
2009-08-16 01:56 | Objcopy was never meant to do crazy things like this. Instead of using objcopy and ld, just write the ELF header manually. Now it works, and the resulting ELF file can be loaded into IDA Pro. Yay! | Micah Elizabeth Scott | 1 | +73 | -12 |
2009-08-16 00:46 | Add CRC validation, improved response decoding, and clock cycle counts. | Micah Elizabeth Scott | 1 | +36 | -10 |
2009-08-16 00:46 | Add a 'fill 16-bit words' command | Micah Elizabeth Scott | 2 | +13 | -1 |
2009-08-13 04:19 | Add a really dumb MMC command sniffer. | Micah Elizabeth Scott | 5 | +854 | -0 |
2009-08-10 09:58 | Updated memory dumper. This is the version used to capture twl-vcke-arm7-mem | Micah Elizabeth Scott | 3 | +20 | -22 |
2009-08-10 08:53 | Add a memory dumper tool- identifies nonzero pages, reads them back to the PC. Also added a script to generate .ELF files. | Micah Elizabeth Scott | 4 | +225 | -1 |
2009-08-09 10:45 | Add a 'cont' command, to continue execution after a hook. | Micah Elizabeth Scott | 2 | +26 | -9 |
2009-08-09 10:05 | A very bare-bones ARM7 debugger. You can read and write memory from a Python console on the PC. | Micah Elizabeth Scott | 3 | +437 | -38 |
2009-08-09 09:45 | Yet another SRAM wait state... this seems to give me stable results when reading and writing the emulator memory simultaneously. | Micah Elizabeth Scott | 2 | +86 | -38 |
2009-08-09 07:39 | Stack dump from the ARM7 ISR, and some notes. | Micah Elizabeth Scott | 2 | +68 | -9 |
2009-08-09 06:41 | Hello World from the ARM7 | Micah Elizabeth Scott | 3 | +20 | -14 |
2009-08-09 06:04 | Remove non-functional DTCM/ITCM and ISR trampoline code. | Micah Elizabeth Scott | 2 | +0 | -38 |
2009-08-09 06:03 | Really rough still, but it takes control of the ARM7. Yay. | Micah Elizabeth Scott | 2 | +122 | -72 |
2009-08-09 02:42 | Optionally hexdump words in little-endian order. | Micah Elizabeth Scott | 1 | +16 | -7 |
2009-08-07 08:10 | More mostly-uneventful frobbing of camera registers. | Micah Elizabeth Scott | 1 | +59 | -4 |
2009-08-07 07:43 | Some logging tools for examining FIFO commands, especially those related to the camera. | Micah Elizabeth Scott | 3 | +27 | -0 |
2009-08-07 07:26 | FIFO word logging kinda works. Also adding a main loop hook, which doesn't work at all. How handy. | Micah Elizabeth Scott | 2 | +47 | -24 |
2009-08-07 06:34 | Set bus ownership before reading or writing. | Micah Elizabeth Scott | 1 | +2 | -0 |
2009-08-07 06:34 | A semi-working hook to pick up IRQs and FIFO TX writes while the game is running. The hooks work, but the SPI logging doesn't yet. | Micah Elizabeth Scott | 3 | +141 | -3 |
2009-08-07 03:09 | Don't hang if the BSS segment is empty. | Micah Elizabeth Scott | 1 | +4 | -3 |
2009-08-07 02:25 | Sync with the latest spime_nds library. | Micah Elizabeth Scott | 6 | +141 | -142 |
2009-08-07 02:25 | Add a simple library for accessing the memory emulator in 20-bit mode from the Nintendo DS. | Micah Elizabeth Scott | 2 | +139 | -0 |
2009-08-06 08:04 | Stub out the game's "Welcome" text, so it doesn't scribble all over our logo. | Micah Elizabeth Scott | 1 | +12 | -1 |
2009-08-06 08:03 | Fix the .bss section initialization | Micah Elizabeth Scott | 1 | +3 | -4 |
2009-08-06 07:58 | Add a simple library for reading and writing the SPI memory emulator's buffer. Demonstrate this by dumping about a megabyte of main memory to the emulator buffer. | Micah Elizabeth Scott | 6 | +156 | -5 |
2009-08-06 07:57 | Add a memory clear command. | Micah Elizabeth Scott | 1 | +9 | -0 |
2009-08-06 06:58 | The original exploit code is now a bootloader that pulls in an arbitrarily large binary from the SPI emulator FPGA, then stores it in unused RAM and executes it. That binary can be normal C code, using a subset of newlib and libnds. To show off all the extra RAM we have now, added a logo that is decompressed onto the top screen to replace the game's welcome message. | Micah Elizabeth Scott | 8 | +299 | -46 |
2009-08-06 04:22 | Some polish: - Document the SPI protocol - Add extended SPI commands for 20-bit memory addressing - Split out the serial protocol into a new file - More command line options for spime.py | Micah Elizabeth Scott | 7 | +527 | -579 |
2009-08-05 07:52 | Add some useful command line options. Load, save, diff, hexdump. | Micah Elizabeth Scott | 1 | +44 | -12 |
2009-08-05 07:26 | Timing on the SRAM data input bus was really marginal, since there was no dedicated SRAM input register and there were a couple giant muxes between the SRAM input and the next register. This caused some state-dependent glitches in the data LSB when reading over SPI. This patch adds a dedicated SRAM input buffer. One extra clock cycle of read latency, but well worth it. | Micah Elizabeth Scott | 3 | +139 | -30 |
2009-08-05 06:20 | Oops.. Memory corruption turned out to be a nice 1-character mistake. The state register for the SRAM controller was 3 bits wide. The S_C2_WR3 state (last write state for client 2) was number 8. So it aliased back to S_IDLE, and the write never finished. The SRAM controller would just keep on writing whatever happened to be on the data bus. | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-08-05 06:11 | Memory read/write control state machine. This is mostly working- reads seem totally reliable. Writes occasionally spew garbage all over RAM. Yay. | Micah Elizabeth Scott | 2 | +111 | -35 |
2009-08-05 06:11 | Whitespace cleanup, and fix led_c[7] warnings. | Micah Elizabeth Scott | 1 | +58 | -53 |
2009-08-05 04:43 | Starting work on a Python tool for interacting with the emulator from a PC. It has an object for sending and receiving low-level packets, and it can almost do a successful memory dump. | Micah Elizabeth Scott | 2 | +271 | -31 |
2009-08-05 02:41 | Packet header decoder (working) and encoder (who knows...) | Micah Elizabeth Scott | 2 | +239 | -43 |
2009-08-04 09:15 | Top-level module for UART + escaping. Includes end-to-end loopback testbench. | Micah Elizabeth Scott | 1 | +135 | -22 |
2009-08-04 08:09 | RFC1622 byte-unstuffing. Tested in simulation. | Micah Elizabeth Scott | 1 | +132 | -4 |
2009-08-04 07:55 | RFC1622-inspired byte stuffing (escaping) implementation. Verified in simulation, not tested in hardware yet. | Micah Elizabeth Scott | 1 | +162 | -1 |
2009-08-04 06:54 | I rename a variable, restart ISE, and now it works. Good job, Xilinx. | Micah Elizabeth Scott | 3 | +16 | -19 |
2009-08-04 06:43 | Add new high-speed 3 MBit UART. Works in simulation, but the Xilinx softare is being finicky.. | Micah Elizabeth Scott | 5 | +377 | -4 |
2009-08-04 02:19 | Remove SASC. In the short term at least, going to switch to a 3 MBit FT232 serial port. That will require a somewhat different UART design... | Micah Elizabeth Scott | 6 | +4 | -681 |
2009-08-03 08:59 | Add the SASC UART core from OpenCores. Receive is working, transmit not so much. | Micah Elizabeth Scott | 7 | +700 | -4 |
2009-08-03 04:22 | Release Djblets 0.5.1. | Christian Hammond | 2 | +20 | -1 |
2009-08-02 20:36 | Adding Verilog source for an SPI EEPROM emulator. So far this is successfully emulating reads and writes to the EEPROM. Still to-do is adding a serial port which allows the PC to read/write the emulated EEPROM at the same time. This is designed for the Digilent Spartan 3 board. | Micah Elizabeth Scott | 7 | +1319 | -0 |
2009-07-26 02:21 | Fix a typo that broke the patch... name offset is 8 bytes from the beginning of the save block. | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-07-26 01:19 | Build system cleanup. | Micah Elizabeth Scott | 4 | +84 | -66 |
2009-07-25 19:04 | Make a note of the original ROM's SHA-1 hash. | Micah Elizabeth Scott | 1 | +4 | -0 |
2009-07-25 11:36 | Another to-do note. | Micah Elizabeth Scott | 1 | +4 | -0 |
2009-07-25 11:28 | Accidentally committed this. | Micah Elizabeth Scott | 1 | +0 | -77 |
2009-07-25 11:27 | First working version of a Cooking Coach exploit which can inject code then resume execution. | Micah Elizabeth Scott | 6 | +690 | -0 |
2009-07-18 21:48 | Add djblets.util.filesystem.is_exe_in_path, which will check if the specified executable is in the executable search path. | Christian Hammond | 2 | +50 | -1 |
2009-06-21 03:55 | Fix the version string generation when not a final or RC release. | Christian Hammond | 1 | +1 | -1 |
2009-06-21 02:04 | Bump to Djblets 0.5.1alpha1.dev. | Christian Hammond | 1 | +3 | -3 |
2009-06-21 01:57 | Release 0.5 final. | Christian Hammond | 3 | +56 | -4 |
2009-06-16 20:17 | Remove the old jQuery. We don't use it anymore. | Christian Hammond | 1 | +0 | -33 |
2009-06-14 01:41 | Bump to Djblets 0.5rc3.dev. | Christian Hammond | 1 | +2 | -2 |
2009-06-14 00:14 | Release 0.5 RC 2. | Christian Hammond | 2 | +28 | -1 |
2009-06-12 09:13 | Add a concept of "in progress" to queues. | Christian Hammond | 1 | +27 | -9 |
2009-06-07 23:53 | Optimize our datagrid queries when sorting data. | Christian Hammond | 1 | +60 | -5 |
2009-06-06 02:16 | Go back to using select_related only when needed. While it would save queries per row, it means triggering more expensive, time-conusming queries up-front that aren't always as optimized as the subsequent, smaller queries. | Christian Hammond | 1 | +11 | -3 |
2009-05-28 04:35 | Patch by Paolo Borelli to fix a typo in a variable name when receiving an unexpected value type in JSONField. | Christian Hammond | 1 | +1 | -1 |
2009-05-28 04:33 | Patch by Paolo Borelli to fix logging when unable to write to the specified log file. It will now fall back on stderr. | Christian Hammond | 2 | +15 | -6 |
2009-05-25 03:04 | Nicer transitions for the game save UI | Micah Elizabeth Scott | 8 | +84 | -30 |
2009-05-24 07:10 | Cleaned up saved game list, implemented nicer live previews | Micah Elizabeth Scott | 19 | +354 | -167 |
2009-05-24 03:50 | Fix a stack overflow. Now the save file preview test works on real hardware. | Micah Elizabeth Scott | 3 | +16 | -26 |
2009-05-22 06:57 | Proof-of-concept (messy hack) for previewing save games on the top screen while picking them on the bottom screen. | Micah Elizabeth Scott | 7 | +80 | -23 |
2009-05-21 06:27 | More save file implementation: read, write, get level name, automatic slot name for new file. | Micah Elizabeth Scott | 5 | +178 | -58 |
2009-05-19 06:59 | Teach the build system to build libnds and libfat ourselves, from the svn:externals snapshot. Now we have debug symbols for everything, we have the upstream fix for the sprite allocator crash, and libfat's stat() works again. Hooray. | Micah Elizabeth Scott | 2 | +68 | -118 |
2009-05-19 03:38 | Fixed the license in setup.py. We listed it as GPL when we meant MIT. | Christian Hammond | 1 | +16 | -12 |
2009-05-18 09:05 | Model for saved game files. Includes workaround for libfat stat() bug. | Micah Elizabeth Scott | 10 | +435 | -35 |
2009-05-18 00:30 | Stylus input for UIList | Micah Elizabeth Scott | 5 | +150 | -18 |
2009-05-17 23:30 | Lots of debugging later, I now have a working robot on my file list, and a fix for a memory corruption bug in libnds. | Micah Elizabeth Scott | 10 | +3798 | -32 |
2009-05-17 23:21 | libnds sprite allocator + fix for its memory corruption bug. | Micah Elizabeth Scott | 1 | +298 | -0 |
2009-05-17 10:49 | Better animation for the file list. | Micah Elizabeth Scott | 3 | +50 | -12 |
2009-05-17 10:25 | Implemented rendering for the UIFileListItem, made a handful of cleanups and performance enhancements. | Micah Elizabeth Scott | 14 | +305 | -92 |
2009-05-17 06:03 | Start some infrastructure for a list UI, which will be used for loading and saving games and chips. Current demo shows 1000 lines of text scrolling up and down in a UIList with low enough CPU usage that the load meter can't measure it. | Micah Elizabeth Scott | 7 | +266 | -14 |
2009-05-17 05:08 | Add a load meter, to determine how much CPU time we're using for the UI's vblank ISR. Fixed some clipping bugs. | Micah Elizabeth Scott | 5 | +51 | -9 |
2009-05-17 04:38 | Several optimizations and bug fixes in MSprite and UIText. Now message boxes are smooth again, and they're utilizing the new vertical scrolling and clipping mechanism. | Micah Elizabeth Scott | 9 | +155 | -100 |
2009-05-16 10:46 | New text renderer with vertical clipping and support for virtually unlimited hardware-accelerated vertical scrolling. Kinda works, still has some vsync glitches. | Micah Elizabeth Scott | 8 | +413 | -326 |
2009-05-16 03:00 | Remove leftover debug code for sub-screen fade to black. | Micah Elizabeth Scott | 1 | +0 | -9 |
2009-05-14 06:48 | Mockup for a load/save UI | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-05-14 03:24 | Render text in two passes, so we can allow vertical glyph overlap and decrease the line spacing to a reasonable distance. | Micah Elizabeth Scott | 3 | +88 | -52 |
2009-05-14 03:02 | Add a UI object for hardware-accelerated fade-to-black/white | Micah Elizabeth Scott | 5 | +115 | -23 |
2009-05-13 07:48 | Message boxes, complete with animation. | Micah Elizabeth Scott | 13 | +366 | -21 |
2009-05-13 05:53 | A more reliable way of detecting whether the remote control is on. | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-05-11 05:02 | Lots of cleanup and bugfixes, with the aim of making sub-screen UI's dynamic. The current demo destroys and reallocates the sub-screen UI every 16 frames. So far so good. | Micah Elizabeth Scott | 11 | +220 | -96 |
2009-05-11 02:21 | Better default cursor position. 0,0 is bad, because the font border will extend past the edge of the framebuffer. | Micah Elizabeth Scott | 1 | +1 | -1 |
2009-05-11 01:22 | Clean up and enhance the text rendering code. Now there is a UITextLayer class which can render opaque or transparent double-buffered text, as well as borders which will be used for message boxes. | Micah Elizabeth Scott | 12 | +833 | -345 |
2009-05-10 03:31 | Detect cycles in the room linked list in ROWorld::removeObjectFromRoom(), so we don't get into an infinite loop if we try to render uninitialized world data. | Micah Elizabeth Scott | 1 | +14 | -1 |
2009-05-10 03:23 | Stub out the file picker functions at translation time, so we always load and save chips to a constant filename. The demo can load a saved game file from gbfs now. | Micah Elizabeth Scott | 9 | +133 | -22 |
2009-05-09 10:11 | That'll teach me to test on the emulator and not real hardware... All the double-size sprites were causing it to hit the hardware limit on sprites per scanline. This patch teaches UISpriteButton to use double-size only when it really needs to, and now it works on real hardware again. | Micah Elizabeth Scott | 5 | +41 | -8 |
2009-05-09 09:55 | Combine the robot icon and battery icon, in a UIRobotStatus container. | Micah Elizabeth Scott | 2 | +41 | -2 |
2009-05-09 09:41 | Cleaned up the robot icon implementation. Now there is a nice UIRobotIcon class. | Micah Elizabeth Scott | 19 | +302 | -114 |
2009-05-09 07:53 | Clean up the top-level subscreen initialization. Now the whole thing is pretty clean aside from the robot sprite, which is currently disabled. | Micah Elizabeth Scott | 36 | +303 | -182 |
2009-05-09 05:31 | More sensible semantics for sprite showing, hiding, and position/matrix updates. This fixes a glitch where the wrong sprite may show for one frame when a button is first pressed. | Micah Elizabeth Scott | 5 | +30 | -48 |
2009-05-09 05:14 | Implemented toolbox and soldering buttons. | Micah Elizabeth Scott | 10 | +135 | -9 |
2009-05-09 04:26 | Rename buttons.xcf.gz. This won't have all buttons in it, just the 32x32 buttons. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-05-09 04:18 | Replaced the prototype remote control button with a clean implementation based on UIObject and MSprite. | Micah Elizabeth Scott | 10 | +321 | -103 |
2009-05-08 07:16 | Artwork tweaks for the 'remote' button, plus new object infrastructure for sprite-backed buttons and arrays of sprite animation frames. | Micah Elizabeth Scott | 9 | +366 | -53 |
2009-05-07 09:07 | Prototype for the animation of a UI button for toggling the robot remote control. | Micah Elizabeth Scott | 2 | +61 | -18 |
2009-05-07 08:25 | Implement an animated marquee effect that can hilight the remote control button when it's active. | Micah Elizabeth Scott | 9 | +286 | -10 |
2009-05-07 07:02 | More UI work: some very basic UI object classes, and some experimenting with visual design for the UI buttons. | Micah Elizabeth Scott | 10 | +310 | -36 |
2009-05-07 02:58 | Tweak font metrics, don't cut off the bottom pixel of the border around 'g' and 'j' | Micah Elizabeth Scott | 1 | +9 | -1 |
2009-05-06 09:23 | Implement a simple bitmap font engine, with a pixel font that looks pretty good on the DS. Also fleshed out some of the undefined data in roData.h, including Robot Odyssey's internal battery discharge accumulators. The current demo shows Scanner's battery discharge accumulator using the text renderer. | Micah Elizabeth Scott | 15 | +782 | -29 |
2009-05-05 18:10 | Fix outdated comments in chip simulation patching. | Micah Elizabeth Scott | 1 | +23 | -13 |
2009-05-05 09:30 | New multi-OBJ sprite abstraction. Use it to put a black border around the robot sprites, in hardware. | Micah Elizabeth Scott | 6 | +386 | -69 |
2009-05-05 07:35 | Faster implementation of VideoConvert::CGAWideto16ColorTiles | Micah Elizabeth Scott | 4 | +62 | -156 |
2009-05-05 06:19 | Add a background image for the lower screen. | Micah Elizabeth Scott | 6 | +38 | -15 |
2009-05-04 04:54 | Bump to 0.5rc2.dev. | Christian Hammond | 1 | +2 | -2 |
2009-05-04 04:33 | Tag Djblets 0.5 RC1 for release (r12090) | Christian Hammond | 95 | +11427 | -0 |
2009-05-04 03:41 | Release 0.5 RC 1. | Christian Hammond | 2 | +29 | -2 |
2009-05-04 02:46 | Demo of using SpriteScraper on the player sprite. Added some potential background artwork for the sub screen. | Micah Elizabeth Scott | 6 | +17 | -2 |
2009-05-04 00:21 | HwSpriteScraper class: An SBTHardware implementation that scrapes rectangular regions of the framebuffer into NDS hardware sprites. The demo now shows each robot as a separate NDS sprite, and you can drag Scanner with the touchscreen. | Micah Elizabeth Scott | 6 | +313 | -127 |
2009-05-03 22:26 | Add a new VideoConvert routine to filter CGA wide-pixels into a 10-color NDS-compatible sprite. After this filtering step, the DS's hardware scaling looks okay. | Micah Elizabeth Scott | 5 | +211 | -29 |
2009-05-03 21:44 | Mostly-unsuccessful experiments in using the NDS/GBA sprite engine for interpolated scaling. | Micah Elizabeth Scott | 2 | +21 | -6 |
2009-05-03 20:13 | Fixed grabber translation. Experimenting with NDS hardware sprites: Scaling quality is pretty bad, I'll probably just end up writing yet another software scaler... | Micah Elizabeth Scott | 7 | +93 | -29 |
2009-05-03 12:11 | Add a new rendering backend for the sub screen which uses the NDS's sprite engine. | Micah Elizabeth Scott | 6 | +194 | -2 |
2009-05-03 11:04 | Abbreviate SBTHardware subclass names | Micah Elizabeth Scott | 15 | +677 | -670 |
2009-05-03 10:47 | More reverse engineering & infrastructure for properly copying robot data to the renderer process. Sub-screen robot icons now working pretty robustly, with full support for grabbers. | Micah Elizabeth Scott | 9 | +214 | -61 |
2009-05-03 09:03 | The sub-screen process suffered from several bugs related to having two game engines poking at the same world data. This patch solves those problems by adding a new SBT86 script to generate a 'renderer' process, which is a stripped down version of GAME.EXE that can only draw, not modify, the world. | Micah Elizabeth Scott | 8 | +140 | -64 |
2009-05-03 06:51 | More progress toward live robot icons: SBT86 support for identifying data addresses, added per-robot data class. | Micah Elizabeth Scott | 13 | +288 | -73 |
2009-05-03 02:25 | NDS file icon | Micah Elizabeth Scott | 5 | +67 | -10 |
2009-05-03 00:11 | Add an ROData class, for manipulating the game's in-memory data. Nearly the whole world file is decoded, and there are accessor functions for manipulating the object room linked lists safely. The main program is now a mostly-working proof of concept for the live robot icons on the secondary screen. | Micah Elizabeth Scott | 12 | +509 | -193 |
2009-05-02 21:22 | First working dual-screen rendering. Gameplay on top, inside Scanner on the bottom. | Micah Elizabeth Scott | 11 | +110 | -79 |
2009-05-02 10:53 | Some early experimentation with an SBTHardware implementation which renders via the sub engine. | Micah Elizabeth Scott | 6 | +136 | -26 |
2009-05-02 09:39 | Lots more cleanup. Split off hardware emulation backends into an abstract base class, a basic DOS/BIOS emulation class, then finally a class which is specific to running the main instance of the game. The current demo runs two instances of the game at once, and lets you switch between interacting with the two. | Micah Elizabeth Scott | 12 | +663 | -333 |
2009-05-02 06:55 | Demo of multiple copies of Robot Odyssey running concurrently, rendering alternate frames. | Micah Elizabeth Scott | 6 | +73 | -11 |
2009-05-02 05:01 | Big code reorganization/cleanup. Ported SBT86 to C++, laid the groundwork for supporting multiple emulated processes. | Micah Elizabeth Scott | 13 | +1006 | -797 |
2009-04-30 08:03 | Add a TODO list. | Micah Elizabeth Scott | 1 | +12 | -0 |
2009-04-30 06:54 | Double-buffered video. Also, instead of using BG3 Mode 5, use Mode 6 to assign VRAM directly to the LCD controller. This is simpler, and might be more power-efficient. | Micah Elizabeth Scott | 1 | +13 | -61 |
2009-04-30 06:16 | Sound emulation works on the DS! | Micah Elizabeth Scott | 4 | +103 | -53 |
2009-04-30 05:08 | Remove old ARM7 stub. | Micah Elizabeth Scott | 1 | +0 | -27 |
2009-04-30 05:06 | Convert all non-SBT sources to C++. Started work on the sound engine. Moved video scaling code to ITCM/DTCM memory, to improve performance. | Micah Elizabeth Scott | 9 | +975 | -582 |
2009-04-30 03:13 | Minor cleanups: Add 'R' to keymap, replace printf with iprintf | Micah Elizabeth Scott | 2 | +22 | -19 |
2009-04-29 06:49 | Move SBT86 prototype to 'abandoned'. I don't think the SDL backend is terribly useful at the moment, I plan to continue development only on the Nintendo DS branch. | Micah Elizabeth Scott | 12 | +0 | -3236 |
2009-04-29 06:40 | Shiny new build system! It builds both ARM7 and ARM9 binaries (We'll need ARM7 for sound), and it is now fairly painless to do a pristine build from original Robot Odyssey binaries- just dump a zip file from your favorite abandonware site in the 'original' directory, and the build system will SHA1 everything and pull out the files it needs. | Micah Elizabeth Scott | 11 | +341 | -157 |
2009-04-28 04:45 | Cleanups for the lab and game translation scripts, to support the new build system. | Micah Elizabeth Scott | 4 | +5 | -6 |
2009-04-28 04:04 | Add a fairly optimized software scaler which converts from CGA 320x192 to 16bpp 256x192 in one step. | Micah Elizabeth Scott | 2 | +150 | -32 |
2009-04-28 00:58 | Fix some issues in setting the timezone. We had two variables for settings.TIME_ZONE, and one was clobbering the other. We also now set the TZ environment variable just like Django does. | Christian Hammond | 1 | +7 | -1 |
2009-04-27 04:07 | This is pretty rough- the video, keyboard, and build system code all needs a lot of work. But, it runs! Yay! This will replace the 'sbt86' directory pretty soon. The binary translator itself has been updated to support ARM's memory alignment requirements. For all I/O, SDL has been replaced by libnds. Sound still isn't ported over. | Micah Elizabeth Scott | 10 | +3285 | -0 |
2009-04-26 09:12 | Initial revision of the Robot Odyssey Chip Disassembler | Micah Elizabeth Scott | 1 | +492 | -0 |
2009-04-25 22:16 | Chip bytecode format reverse engineered. | Micah Elizabeth Scott | 2 | +0 | -0 |
2009-04-25 20:26 | Stack overflow protection | Micah Elizabeth Scott | 1 | +7 | -2 |
2009-04-25 20:04 | More disassembly revealed the problem with chip simulation. In the function I've labeled chipsim_store_gate_result, they rely on inc/dec to leave CF unaffected. The translator was treating inc/dec as add/sub by 1, which was incorrect. Now the wallhugger works! | Micah Elizabeth Scott | 5 | +9 | -4 |
2009-04-25 10:31 | Found the code responsible for simulating one chip. Looks less hairy than I thought- the code is "clever" in places, but the algorithm looks straightforward. | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-04-25 10:07 | The remaining problem with chips seems to be that gates work, but flip-flops don't. I used dosbox's debugger to track down the code that is supposed to modify flip-flop state. It uses the stack in a way that SBT86 doesn't support. This patch adds stack validation, to catch errors like this at runtime. It also adds some hook functions that work around this particular problem. But alas, my chips are still broken. | Micah Elizabeth Scott | 8 | +198 | -39 |
2009-04-25 08:31 | This is seriously not pretty, but the binary translator now has some basic support for partially automating the process of patching self-modifying code prior to binary translation. Chips are starting to kinda work now. The simple 'pulse' chip in the tutorial works fine. Wallhugger no longer catastrophically fails, but still doesn't work properly. | Micah Elizabeth Scott | 7 | +258 | -127 |
2009-04-23 08:37 | Memory traces continue to be an invaluable debugging tool.. Added a debug trace which detects self-modifying code. Turns out that there's a really scary-looking chunk of self-modifying code which seems to be responsible for electrical simulation of chips, which explains why no chips were working correctly. This patch just adds debug tools, reverse engineering this code will wait for another day. | Micah Elizabeth Scott | 8 | +216 | -165 |
2009-04-23 07:24 | Implemented a new world-databace-tracing debug feature. Used it to find the robot grabber bug. It turned out to be a dynamic branch that I didn't patch completely. Implemented a new dynamic branch mechanism that makes it easy to handle any number of branch targets, and detects unhandled targets at runtime. | Micah Elizabeth Scott | 7 | +279 | -29 |
2009-04-22 07:54 | Translator cleanup, faster translation (larger icache blocks), and debug cleanup. | Micah Elizabeth Scott | 5 | +28 | -13 |
2009-04-22 07:21 | More space savings: RLE compression to eliminate zeroed portions of the data segment. (Why not zlib? This scheme is dead simple, it preserves compression ratios for other forms of binary packing later on, and it preserves copyright strings from the original binary.) The x86-64 binary for the tutorial is down to 144K b. | Micah Elizabeth Scott | 4 | +89 | -7 |
2009-04-22 06:01 | Keep registers in a global static non-aliased struct. This produces much smaller code than the pass-by-value approach. For this to work, we must *never* take the address of 'reg', even for a memset. | Micah Elizabeth Scott | 2 | +15 | -12 |
2009-04-22 05:51 | Several cleanups and size optimizations. Most notably, (1) new GCC flags, and (2) cached pointers to memory segments | Micah Elizabeth Scott | 6 | +652 | -590 |
2009-04-21 22:14 | Fixes for newer versions of nasm | Micah Elizabeth Scott | 1 | +20 | -2 |
2009-04-21 08:22 | One more bug down: The sprite corruption on the first logic gate was caused by lazy memory mapping. Instead of relocating the EXE file, I ran it at offset zero so it didn't need relocation. Turns out, this puts the BIOS Data Area right in the middle of the game's object tables. Every time it tries to clear the keyboard buffer, it corrupts some of the sprites. The fix was to implement real EXE relocation. This unfortunately doesn't help the grabber or wall-hugger bugs. | Micah Elizabeth Scott | 5 | +93 | -25 |
2009-04-21 06:49 | Use a much larger audio buffer. There currently isn't a good way to slow down the CPU if the audio emulation gets too far ahead, so the buffer needs to be large enough to store the longest sound effect in the game. I think that's the transporter noise. | Micah Elizabeth Scott | 2 | +22 | -5 |
2009-04-21 06:25 | Tweak audio sample rate. Seems to sound best at 11 kHZ | Micah Elizabeth Scott | 1 | +1 | -3 |
2009-04-21 06:20 | Authentic sound effects! All it took was a cycle counter, timestamped I/O, and some ring buffer and multithreading glue... | Micah Elizabeth Scott | 3 | +275 | -15 |
2009-04-20 10:13 | Always use select_related(depth=1) when fetching items in a DataGrid. | Christian Hammond | 1 | +3 | -11 |
2009-04-20 02:17 | Did I change anything? Who can tell with these binary files, anyway? | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-04-20 01:36 | Implemented a machine code pattern matching utility, used it to factor out common patches (present in all game binaries) and make them relocatable. The other binaries (main game, innvoation lab) now mostly work! | Micah Elizabeth Scott | 9 | +300 | -121 |
2009-04-20 00:52 | Prevent the default action when clicking the edit icon for an inline editor. This prevents the page from scrolling in some browsers. | Christian Hammond | 1 | +1 | -0 |
2009-04-19 22:55 | Add support for memory tracing, and use that as a temporary hack for implementing screen updates in MENU.EXE | Micah Elizabeth Scott | 6 | +273 | -67 |
2009-04-19 21:13 | Patch the self-modifying code in the text renderer. We have text now. | Micah Elizabeth Scott | 3 | +59 | -11 |
2009-04-19 20:12 | Cleanup: Add real source copyright headers, split off sbt86.c/py/h and add bt_tutorial.py to contain patches specific to TUT.EXE. | Micah Elizabeth Scott | 6 | +669 | -440 |
2009-04-19 10:14 | Found and patched a dynamic branch which was responsible for the broken grabbing. You can now pick up objects. Remaining problems: Text is disabled (unpatched self-modifying code), can't solder (unknown cause), corrupted OR gate sprite (unknown cause). | Micah Elizabeth Scott | 2 | +20 | -3 |
2009-04-19 09:42 | Checking in work-in-progress annotated disassembly of TUT.EXE | Micah Elizabeth Scott | 1 | +0 | -0 |
2009-04-19 09:12 | Make the subroutine prolog/epilog a bit more efficient by using pass-by-value on Regs. The optimized 32-bit code that gcc produces isn't too bad at the moment.. and size-wise, it's only about a 3x bloat over the original 16-bit code. | Micah Elizabeth Scott | 3 | +60 | -59 |
2009-04-18 10:19 | New implementation of arithmetic flags. Code size is a good bit smaller now, and the collision detection bug is fixed. | Micah Elizabeth Scott | 3 | +180 | -223 |
2009-04-18 07:53 | Per-subroutine analysis and code generation. The result doesn't really work any better, and the binary is actually even larger now, but I'm rid of the setjmp/longjmp optimization minefields. | Micah Elizabeth Scott | 3 | +142 | -85 |
2009-04-18 06:04 | It's full of hacks, but the tutorial mostly runs now. Yay. | Micah Elizabeth Scott | 2 | +60 | -11 |
2009-04-18 03:36 | Pre-analysis patches for the tutorial binary, and new implementations of several instructions. It now renders the playfield and largetext correctly. Sprites render correctly, but at the wrong coordinates. | Micah Elizabeth Scott | 2 | +58 | -30 |
2009-04-17 07:44 | Better interrupt and keyboard infrastructure, and some more instruction tweaking. | Micah Elizabeth Scott | 3 | +354 | -241 |
2009-04-17 06:19 | The graphics may be messed up and the resulting binary may be almost a megabyte, but technically it runs Robot Odyssey now. Yay. | Micah Elizabeth Scott | 3 | +34 | -14 |
2009-04-17 04:31 | Implemented DOS Int21 AH=6 keyboard input. Now you can (sort of) navigate the menu. If you start the game, the intro animation plays. | Micah Elizabeth Scott | 1 | +51 | -32 |
2009-04-17 04:12 | Add a super-experimental static binary translator from 8086+CGA to C+SDL. So far, it can run Robot Odyssey's intro screens. | Micah Elizabeth Scott | 3 | +1189 | -0 |
2009-04-17 04:11 | Trivial cleanup, remove PNM debug output | Micah Elizabeth Scott | 1 | +0 | -1 |
2009-04-17 01:42 | Random toy: An interactive auto-aligning interactive binary visualizer. | Micah Elizabeth Scott | 1 | +176 | -0 |
2009-04-13 02:53 | Bump copyright dates | Micah Elizabeth Scott | 23 | +23 | -23 |
| 11151 more commits remaining, fetch the repository |