Hi there! Long time no see!
Here's what I just found out.
All cartridges share one bus.
This makes sense.
So, I tested inserting one cartridge after the other.
Magenta is doing the sensing, I'm inserting black, then cyan, then pigment black, then yellow.
Magenta only
0xdef800 0x000000 0xdefc00 0x000000 0xdee400 0x000000 0xdef200 0x000000 0xdeec00 0x000000
Magenta & Black
0xdef800 0x000000 0xdefc00 0x000000 0xdee400 0x000000 0xdef200 0x000000 0xdeec00 0xdc0000
0xdf2c64
Magenta & Black & Cyan
0xdef800 0x000000 0xdefc00 0x000000 0xdee400 0xbc0000 0xdef200 0x000000 0xdeec00 0xdc0000
0xdf2432 0xdf2c64
Magenta & Black & Cyan & Pigment Black
0xdef800 0x000000 0xdefc00 0xef0000 0xdee400 0xbc0000 0xdef200 0x000000 0xdeec00 0xdc0000
0xdf3c32 0xdf2432 0xdf2c64
Magenta & Black & Cyan & Pigment Black & Yellow
0xdef800 0xcf0000 0xdefc00 0xef0000 0xdee400 0xbc0000 0xdef200 0x000000 0xdeec00 0xdc0000
0xdf3832 0xdf3c32 0xdf2432 0xdf2c64
I don't know why I didn't test for this.
Anyway, these are the conclusions I can make from this:
1. The read protocol is as follows:
0xdef800 (Yellow) 0x*****
0xdefc00 (Pigment Black) 0x*****
0xdee400 (Cyan) 0x*****
0xdef200 (Magenta) 0x*****
0xdeec00 (Black) 0x*****
2. The write protocol is as follows:
0xdf2c64 (Black)
0xdf2432 (Cyan)
0xdf3c32 (PgBk)
0xdf3832 (Yellow)
0xdf3232 (Magenta)
Edit:
Turns out the cartridge I used for testing had the traces cut. Oops :P
I've added the values I got from another test, but won't be retesting the values I measured above :)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
The title of the log implies you were wrong, but actually its a great find.
Are you sure? yes | no
Well, what I'm afraid of is that these things have vastly smaller storage space than I initially assumed. That would suck.
Also, not that related, but https://github.com/NicholasCLewis/InkShield is cool.
Are you sure? yes | no