Skip to content

OrangeFox86/Maple-Bus-Saleae-Analyzer

Repository files navigation

Saleae Analyzer for Sega's Mable Bus

Sega's Maple Bus is used on Dreamcast's controller interface. sample

Maple Bus

Refer to the Generating Maple Bus Output in my DreamcastControllerUsbPico repository for a description of what the signals of a Maple Bus looks like.

Build

Prerequisites

Getting the Saleae Analizer SDK

First, execute the following to pull down the AnalyzerSDK. This is the only dependency of this library.

git submodule update --init --recursive

For Windows:

  • Open Visual Studio
  • File->Open->Folder...
  • Select this repo
    • Visual Studio will try to execute git, so it is necessary to have git on command line installed
  • Build->Build All

For any other OS:

cd Maple-Bus-Saleae-Analyzer
cmake .
make

Using the Analyzer

Adding the Analyzer

Execute the Saleae software and open up the Preferences dialog. settings_preferences

Go to the Custom Low Level Analyzers setting and browse to the directory which contains the compiled .dll for Windows or .so for Linux. custom_analyzers_setting

In order for the library to be loaded, you must then close and then reopen the Logic application.

Configuring the Maple Bus Analyzer

Select the two data lines and what kind of output style to view/export. maple_bus_setting

This is what the output will look like if SDCKA is channel 0, SDCKB is channel 1, and output style is Each Byte: sample Byte index is displayed within parentheses next to each byte value.

This is output style Each Word (little endian): sample_each_word (F) stands for Frame Word, (C) stands for CRC byte, and (#) is the data word index where # is an integer value.

This is output style Word Bytes: sample_word_bytes (F) stands for Frame Word, (C) stands for CRC byte, and (#) is the data word index where # is an integer value.

This is output style Word Bytes (little endian): sample_word_bytes_le (F) stands for Frame Word, (C) stands for CRC byte, and (#) is the data word index where # is an integer value.

Running the Analyzer

I recommend enabling the glitch filter at 50 ns on the channels set for SDCKA and SDCKB when making measurements on the Dreamcast.

glitch_filter_settings

Data Generator

The data generator is not supported, and I don't have any current plans to.

External Resources

Saleae SDK

https://github.com/saleae/SampleAnalyzer/blob/master/docs/Analyzer_API.md

https://support.saleae.com/saleae-api-and-sdk/protocol-analyzer-sdk

Maple Bus Resources

https://tech-en.netlify.app/articles/en540236/index.html

http://mc.pp.se/dc/maplebus.html#cmds and http://mc.pp.se/dc/controller.html

https://www.raphnet.net/programmation/dreamcast_usb/index_en.php

About

Saleae Analizer for Dreamcast's Maple Bus

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors