All times are UTC - 5 hours [ DST ]


Forum rules


Please do not post questions about data recovery cases here (use this forum instead). This forum is for topics on finding new ways to recover data. Accessing firmware, writing programs, reading bits off the platter, recovering data from dust...



Post new topic Reply to topic  [ 224 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12  Next
Author Message
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: May 10th, 2023, 13:28 
Offline

Joined: January 7th, 2022, 6:43
Posts: 10
Location: United Kingdom
Just a quick update.

There is something off with the firmware that was unpacked from the midi files earlier in this thread.

Decompilation was very scrappy and needed lots of manual intervention when it should not have required it.

As a test, I ran the firmware from a Nissan ECU (it uses the same CPU) through the decompilation and boom, a screen full of sub routines and jumps to them.

I don't get that with either the SP808 firmware or the A6 firmware.

Next, I'm seeing patterns in the firmware I wouldn't expect.
I'm seeing

Code:
7F 00 00 00 00
repeated every 14 bytes. And other anomalies that repeat through the code, suggesting it's an artifact of the midi extraction.

The other thing that makes no sense, the A6 firmware is bigger than the SP808 firmware??

I'd expect the SP808 firmware to be bigger because it has all of the effects and Synthesis that the A6 doesn't.

Very odd.

Current plan is to dump firmware to disk and examine that. However, I have just ordered a chip programmer that can handle the 56 pin flash chip, and that will be my next port.

Finally, I'm going to see if the UART on CN7 yields anything useful, as there are some strings in the firmware that are never shown on screen or stored on disk.

HSIBOY


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: May 11th, 2023, 4:31 
Offline

Joined: January 7th, 2022, 6:43
Posts: 10
Location: United Kingdom
Small correction to the above, it's
Code:
7A 00 00 00
,
And here's the odd thing. If I diff the Sp808 firmware and the A6 firmware, these patterns occur in the same place in both files. In fact, there are so many null bytes
Code:
00
that occurs in exactly the same place in the two files, it has to be an artifact from the midi update.
Question is, has it been extracted incorrectly, or, is it a further later of transport packing, because the firmware was being streamed in over a uart.

Also, there are strings that appear on the screen of both devices, that are not present in the firmware.
So, either the firmware does not update everything, or there is further compression.

The entropy of the two files is below 1, so I don't think it is compressed, but either way, the firmware that was extracted earlier in this thread, is currently a dead end, because it can't currently be compiled.


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: June 18th, 2023, 13:42 
Offline

Joined: January 7th, 2022, 6:43
Posts: 10
Location: United Kingdom
Ok, so, a couple of things.

1. The firmware isn't H8 code. There maybe some H8 code in there,but it's not straight up H8 code.
2. The MCU used in the SP808 has a 64KB ROM, that was burnt at the factory (mask ROM).

I haven't been able to put the MCU into prom mode yet and I haven't been able to dump the flash ram either.

Slow going.


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: August 9th, 2023, 12:53 
Offline

Joined: August 9th, 2023, 11:40
Posts: 2
Location: Barcelona
Hi,
I want to contribute to this cause. Short history… I waiting for Midimaniac to chat about it since I found him selling his sp808 with working cf reader (the bluempc model) and I wrote a comment a year ago in this video but he never answered…

https://youtu.be/3n7enH5vOyU

My comment (a year ago…):
Quote:
My brother is onto msx (and older computing) homebrew things and I wonder time to time to maybe research a bit to maybe try tomfind a solution but everytime I start to dig I can’t just avoid ending at “why not just bypass the whole memory system and attach an iPhone with koala sampler (or even a raspi which supports koala btw) and get the best of two worlds” so keeping the ADCDAC side, fx, even synth but just use the midi side and then some hardware hacking about in and outs (so output of mic/line + fx into usb soundcard in plug to koala and the out plug into sp where the signal was hijacked so it goes to the master and sp outputs again…?)
Maybe it could be possible understand the whole hot swappable Atapi drive but for 4 stereo polyphony? About the 4 track recorder maybe it could be possible add some vstudio parts… I will love to see a solution but with propietary file compression without sources it requires a bit (too much) working for so little reward (imo) and in the end these are nutty expensive due the madness about lofi (we called noise back in the day…) and all the sp series… now revamped by roland themselves with 404mk2. I dunno… maybe just try to ask at retrobrew computers club groups so maybe one of these genius gets it as a challenge and crack the weird firmware inside these or just replace the cpu by raspi and emulation of that part at the brain surgery I’m pointing. It should not be impossible but worthy? I should look again into schematic to see how hard it will be but it’s like dejavu… I feel I done it but what I found made me brainwhased just to avoid the pain over and over… #FuckURolandcorporates I hate them as time goes more and more!


So I started reading the topic but jump into last page to see latest news… also my brother came a moment (I’m soldering some floppy interfaces for msx at the moment) and I tried to explain the problem and ask his (nerd) opinion. He told me more or less what Midimaniac tried himself here:
https://www.themidimaniac.com/archives/1076

Scroll down and use “show reader” if you get annoyning scrambled ads on top like me with the iPad (or maybe switching to desktop web version…)

There’s a log of the project “recreate that mpc blue reader” and he even tried a kickstarter but not enough backers…

So I will come back after chatting with him to see what’s in his mind and search for a collab if possible or ditch it definetly but almost sharing the possible.

I will appreciate your opinion. I will try to find time to read the whole topic meanwhile…

Cheers!


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: August 9th, 2023, 17:48 
Offline

Joined: August 9th, 2023, 11:40
Posts: 2
Location: Barcelona
Update: I read the whole topic so I have better idea how is going.

Thanks everyone involved for all the contributions.

I’ll be back!


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: September 6th, 2023, 7:33 
Offline

Joined: September 6th, 2023, 7:16
Posts: 5
Location: United Kingdom
Hi all,

I joined up because I am also interested in finding a solution to the SP-808 zip replacement.

A couple of things:

The Startech CF drive seems readily available, it has a metal housing so will fit quite nicely, but obviously it seems to be a “dumb” IDE not ATAPI device.

Maybe a possible solution would be to have an inline pass through device which has a microcontroller that sends the appropriate commands to the SP-808, which connects between the Startech drive and the 808 drive cable. I don’t know enough about this to be sure it could work, hence my joining up here.

I have seen a FPGA based emulator for zip and other drives here https://3do.dev/products/copy-of-ide-emulator-batch2 but it seems quite expensive for this application and does a lot more than needed anyway.

I tried a few generic CF/IDE adaptors, some of them looked like they were going to work and gave me the option to format, and showed up recording time, but hung on trying to record, presumably because the 808 was waiting for some ATAPI response.


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: September 15th, 2023, 12:33 
Offline

Joined: September 6th, 2023, 7:16
Posts: 5
Location: United Kingdom
I tried a PATA to SATA converter, with a SATA CF card reader, but did not work either, despite both devices supposedly supporting ATAPI.


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: October 6th, 2023, 5:02 
Offline

Joined: September 6th, 2023, 7:16
Posts: 5
Location: United Kingdom
Don’t know if any previous posters are still interested but thought I’d mention this, I bought a MPC2000xl with the MCD drive installed, I thought that I’d put the MCD drive in the SP-808 and use one of the generic ones that did not work in the SP-808 in the MPC, as I had a few around that did not work in the SP-808. Anyway I put a Startech CF-IDE in the MPC, but it wasn’t recognised, after a bit of research I discovered that the 1.14 firmware in the MPC was not compatible with the generic type IDE drives, but v1.20 was, so I installed that on the MPC and now the Startech works in the MPC. The MCD drive works well in the SP-808 as expected.

So it might be worth somebody with the appropriate skill comparing the MPC2000xl 1.14 firmware with the 1.20 firmware, to see what Akai changed.

Also if you are prepared to buy a MPC2000xl with the card reader and a Startech drive to replace it, you can probably resell the MPC for what you paid after changing the card reader, the Startech is about £25-£30 on Amazon, so essentially you end up with the MCD drive for a much lower cost if you don’t mind a little work and buying then selling the MPC. You can find the 2000xl for quite reasonable prices if you are patient.


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: October 18th, 2023, 9:06 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
norlesh wrote:
... as for the MPC drive mentioned in the comments $275 for a maybe is a bit rich for my taste


maybe should have bought one back then... now $416 !


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: October 18th, 2023, 9:46 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
ryansupak wrote:
Here's the guy that I ran across with an existing, but similar, solution for another application. Looks like he is pretty close. I gave him a few corner-cases to test and he did discover a few glitches, but all in all making he is excellent progress in a short time:

https://www.youtube.com/watch?v=rYdAEDZJxCM


I missed the link to his hardware on the video in the description(out of stock!):
https://issues.tattiebogle.net/dokuwiki/doku.php?id=mantis:ide_simulator:start
and SP specific, with possibly some unkon info in this thread (it has been a while, I cant remember!)
https://issues.tattiebogle.net/dokuwiki/doku.php?id=mantis:ide_simulator:uhd


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: October 25th, 2023, 9:44 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
Hsiboy wrote:
Small correction to the above, it's
Code:
7A 00 00 00
,
And here's the odd thing. If I diff the Sp808 firmware and the A6 firmware, these patterns occur in the same place in both files. In fact, there are so many null bytes
Code:
00
that occurs in exactly the same place in the two files, it has to be an artifact from the midi update.
Question is, has it been extracted incorrectly, or, is it a further later of transport packing, because the firmware was being streamed in over a uart.

Also, there are strings that appear on the screen of both devices, that are not present in the firmware.
So, either the firmware does not update everything, or there is further compression.

The entropy of the two files is below 1, so I don't think it is compressed, but either way, the firmware that was extracted earlier in this thread, is currently a dead end, because it can't currently be compiled.


the proliferation of 0x00 is because many instructions are designed to have upper bits of addresses as 0x00
Quote:
Program-Counter Relative—@(d:8, PC) or @(d:16, PC): This mode is used in the Bcc and
BSR instructions. An 8-bit or 16-bit displacement contained in the instruction is sign-extended and
added to the 24-bit PC contents to generate a branch address. Only the lower 24 bits of this branch
address are valid; the upper 8 bits are all assumed to be 0 (H'00). The PC value to which the
displacement is added is the address of the first byte of the next instruction, so the possible
branching range is –126 to +128 bytes (–63 to +64 words) or –32766 to +32768 bytes (–16383 to
+16384 words) from the branch instruction. The resulting value should be an even number.

(8) Memory Indirect—@@aa:8: This mode can be used by the JMP and JSR instructions. The
instruction code contains an 8-bit absolute address specifying a memory operand. This memory
operand contains a branch address. The upper bits of the absolute address are all assumed to be 0,
so the address range is 0 to 255 (H'0000 to H'00FF in normal mode, H'000000 to H'0000FF in
advanced mode). In normal mode the memory operand is a word operand and the branch address
is 16 bits long. In advanced mode the memory operand is a longword operand, the first byte of
which is assumed to be all 0 (H'00).


Initially promising, I found my disassembling lacking. The MAME emu has *some* support for H8's and there exists a disassembler in the tools. I couldn't get reasonable results.
Code:
PS C:\SP-808\disassemble>unidasm.exe
Usage: C:\SP-808\disassemble\unidasm.exe <filename> -arch <architecture> [-basepc <pc>]
   [-norawbytes] [-xchbytes] [-flipped] [-upper] [-lower]
   [-skip <n>] [-count <n>] [-octal]

Supported architectures:
  8x300          h8             m68020         sc61860        upd177x
  adsp21xx       h8h            m6803          scmp           upd7725
  alpha          h8s2000        m68030         score7         upd7801
  alpha_nt       h8s2600...


I am looking at how likely it is I could write a processor module for Ghidra. The instruction set is only 69 odd instructions, but the variety of modes possible, and the many nuances look tricky. The H8 processor module doesn't look that scary, but you would need to get it pretty right, so you don't spit out garbage.

I see MAME has a few processors and looks like they build on previous versions. example H8S2600.h would have a H8S2000.h include which includes a H8300 include... and the last is simply a H8 include. but MAME processor definitions look HARD!

been looking around at some other stuff H8 hacking related to see if there are any that might help. more to come tomorrow


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: October 26th, 2023, 1:13 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
here is a lesson on hacking a MCU. fascinating. I don't think in my lifetime I will get to this level, sadly.
http://dmitry.gr/?r=05.Projects&proj=28.%20pokewalker

Seems the HD6432653 is one of those in-between models that the vendor will say.. what 2653? I dunno what you are talking about..shhh!!!

There are a few differences between closer models (would have been nice if it was one of those!) that is going to make it difficult to proceed.

Attachment:
H8S-2655-features1.JPG
H8S-2655-features1.JPG [ 415.68 KiB | Viewed 3494 times ]


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: October 26th, 2023, 22:07 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
adapter working? Translatable to English: https://www.phantom.sannata.org/viewtopic.php?t=40212&start=165

Quote:
Hello everyone, I'm fine, the development of the device has not been abandoned, but has been paused.
I don’t want to open source it yet, maybe later.
I didn’t unsubscribe to the topic because I didn’t see the notifications... Such a monstrous coincidence. ;)

The latest available firmware has added:
* advanced multi-level CLI
* ATA bus debugging mode: the device is connected third to a standard cable, captures messages on the bus, caches them in the controller memory and displays them in the CLI.
* ZIP support improvements: soft-eject support, compatibility with music equipment, successfully tested on Boss BR8, Roland SP808, Roland SP808ex, Roland VS840vx.
* error correction.


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: October 27th, 2023, 4:18 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
anyone have a dump of the Sharp Flash LH28F800SUT? Looks like it is where the .mid files write firmware to. maybe we are not supposed to cat them all together? possibly they need to align to specific memory map. Also, maybe this file is not a single program to execute, and therefore decomplie, but a collection of small programs/code to jump to and data.
this site appears to have worked out any sp808-ex will work fine with a HDD once updated with A^ .mid files, and so might not be too much in reversing the Hitachi 2653, but more effort on these .mid updates and the flash.
https://sp-forums.com/viewtopic.php?f=10&t=4353

I asked a chip revere engineer/decap company if they could get the mask and PROM from the hitachi, and they said they are working on it but not able to yet. GO HITACHI!!! ;-)


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: November 3rd, 2023, 10:40 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
Anyone know anything about these expansion boards for the SP?

https://reverb.com/au/item/56525330-rare-roland-sp808-op2-scsi-digital-i-o-expansion-board-for-sp-808-sp-808ex-worldwide-shipping
Quote:
Very Rare Roland SP808-OP2 expansion card for SP-808, SP-808EX.
Adds SCSI, Digital In/Out, and balanced stereo input / output with XLR Mic input.

Quote:
Two XLR Inputs with Line/Mic switch - Two XLR Outputs - Digital SP/DIF In/Out - SCSI port for adding an extra Zip drive.


I wonder if this port is useful in any way?

Attachment:
expansion.jpg
expansion.jpg [ 380.52 KiB | Viewed 3013 times ]


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: November 3rd, 2023, 21:32 
Offline

Joined: September 6th, 2023, 7:16
Posts: 5
Location: United Kingdom
I have the OP1 board fitted in my SP808, sadly the SCSI also only works with Zip drives, I have a SCSI CF drive and tried it with various CF cards but no bueno.

Interesting to note about using the Akai MPC2000XL MCD drive in place of the Zip drive, you can still get disk busy messages if trying to cut and paste small sections of audio, albeit less so than with the Zip drive. AFAIK the Roland A6 which was fitted with a IDE HD did not suffer from disk busy errors, the A6 also has some other useful features like split phrase and adding fades which would be useful on the 808, but A6 lacks quite a lot of key features that the 808 has, if a hacked firmware could be possible someday, it would be great if some of the A6 features could be added to the 808 as well as of course the drive handling stuff.


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: November 4th, 2023, 1:45 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
Thanks for the info @Buzunki. Always good to hear about experiences with units from owners.

I've been looking at some EX's and will likely buy one next week to have on hand for testing and dumping the flash chip. I expect it to contain the firmware we already have, but I want to see the actual organisation of it on the chip.

The firmware is not decompilable in it's current form, or the tools don't exist to do it successfully.

Writing any code for it is currently off the table as well because we don't know what mode the H8S2653 uses, or what is in PROM/Mask ROM (if anything). I am thinking some form of bootloader / bare minimum OS.

Question:
does anyone know of any other Roland equipment from around the same time that also uses a H8 or H8S MCU? Might be able to research those and see if any commonalities exist.


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: November 6th, 2023, 21:40 
Offline

Joined: September 6th, 2023, 7:16
Posts: 5
Location: United Kingdom
The A6 and possibly some VS models from that era use the same MCU.

@HaQue so editing/spicing the A6 and SP-808 firmware midi files isn’t a viable option? That is a shame if not, is it because the code is not readable into meaningful human readable form to determine the sections of interest?


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: November 12th, 2023, 7:10 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
Buzunki wrote:
The A6 and possibly some VS models from that era use the same MCU.

@HaQue so editing/spicing the A6 and SP-808 firmware midi files isn’t a viable option? That is a shame if not, is it because the code is not readable into meaningful human readable form to determine the sections of interest?


The fact is, we don't know enough about the firmware to splice it. And we are using the word 'splice' very liberally here. I/O to disk is not so simple that you can replace 'write_to_Zip()' with 'write_to_disk()'
- We don't know what mode the CPU is in yet. This would be a critical factor in reversing the firmware.
- We don't know the memory map.
- We know there is a 64 mask rom, but don't know if it is actually used. If it is, 2 chip decapping companies so far has said they cant hack it.
- We know there is flash, but don't know the mapping.
- We assume the firmware we have is written to the flash, but we don't know for sure, or know what is at what addresses.
- There are maybe a 4 to 6 other H8 or H8S hacks with very little info. there is not a lot to go on, unlike many other hacks of products.
- There isn't much expertise in this area looking at this project. This is going to be slow going.


I have bought an A-6 (SP's are a bit pricier and if it looks promising enough I will get one.) I want to read the Sharp flash chip for a start to document that part of it. I also want to poke at the MCU with my Saleae and see if there is any way to get some info from it.
I have a few ideas brewing but need to get a phy unit first to play with


Top
 Profile  
 
 Post subject: Re: Sniffing control flow between legacy devices over PATA/A
PostPosted: November 12th, 2023, 7:25 
Offline
User avatar

Joined: December 4th, 2012, 1:35
Posts: 3851
Location: Adelaide, Australia
So this part of the manual appears to confirm there are 2 'firmwares'

Quote:
Verifying version
While in the test mode, the top of the screen displays the CPU
software version and the system software version in the
format shown below:
1.00 1.000
Left: CPU version; right: system version


It is kinda obvious, but still good to confirm things


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 224 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group