{% extends "base.html" %} {% block title %}SEGA Games{% endblock %} {% block body %}

SEGA Games

This may get its own micro-site at some point if it grows large enough. For now it's mostly just a rambling of notes.

In some ways SEGA's protocols are simpler than Konami's (none of that XML mess) but in other ways they're more complicated (hardcoded URLs, multiple services required, etc.)

ALL.Net

A simple service that exposes two URLs. The hostname must be http://naominet.jp.

Requests should be made with a number of standard HTTP headers, and must be either HTTP version 1.0 or 1.1

Connection Close
Pragma DFI
User-Agent ALL.Net_PC_Win2/ver1.0
Content-Type application/x-www-form-urlencoded
Content-Length variable

Note that the Pragma header is optional, and the Content-Type header is a lie.

Requests and responses should be POSTs, and their body should be base64 encoded, zlib compressed, x-www-form-urlencoded data. For example, {key: "value", other: "another"} should encode to eJwdxcEJACAMA8Bt3CLD5BEQFIXSFtw+4OuWHpq7NG5OBXi+BmwzCRo=.

Responses are expected to contain stat indicating status:

1 Success
0 Failure
-1 Failure
-2 Failure
-3 Failure

This service provides two endpoints, documented below:

/sys/servlet/PowerOn

Request:

"game_id=%s&ver=%s&serial=%s&ip=%s&firm_ver=%01d%02d%02d&boot_ver=%02X%02X&encode=%s&format_ver=%s&hops=%d\r\n" "game_id=%s&ver=%s&serial=%s&ip=%s&firm_ver=%01d%02d%02d&boot_ver=%02X%02X&format_ver=%s&hops=%d\r\n" "game_id=%s&ver=%s&serial=%s\r\n" "game_id=%s&ver=%s&serial=%s&encode=%s\r\n" "keychipid=%s&functype=%u&gameid=%s&gamever=%s&boardid=%s&tenpoip=%s&libalibver=%s&datamax=%s&billingtype=%d&protocolver=%s&operatingfix=%d" (libalibver = 1.110, protocolver = 1.000) SDBT: Chunithm SBXL: Maimai
game_id 4-character game ID
ver
serial
ip
firm_ver %01d%02d%02d
boot_ver %02X%02X
format_ver
hops
encode

Response:

stat See above
uri
host
region0
region_name0
region_name1
region_name2
region_name3
year
month
day
hour
minute
second
place_id
setting
country
timezone
res_class

/sys/servlet/DownloadOrder

{% endblock %}