<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sylverant.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Packet_0xB1</id>
	<title>Packet 0xB1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sylverant.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Packet_0xB1"/>
	<link rel="alternate" type="text/html" href="https://sylverant.net/wiki/index.php?title=Packet_0xB1&amp;action=history"/>
	<updated>2026-04-16T12:42:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://sylverant.net/wiki/index.php?title=Packet_0xB1&amp;diff=48&amp;oldid=prev</id>
		<title>BlueCrab: Add page about Packet 0xB1.</title>
		<link rel="alternate" type="text/html" href="https://sylverant.net/wiki/index.php?title=Packet_0xB1&amp;diff=48&amp;oldid=prev"/>
		<updated>2009-12-29T00:35:16Z</updated>

		<summary type="html">&lt;p&gt;Add page about Packet 0xB1.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
The server sends clients a Packet 0xB1 to tell them the current time on the server (upon request from the client). The clients send Packet 0xB1 to request said timestamp from the server.&lt;br /&gt;
&lt;br /&gt;
==Dreamcast Packet Format (Server-&amp;gt;Client)==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Bytes !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Packet Type (0xB1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || Flags (0x00)&lt;br /&gt;
|-&lt;br /&gt;
| 0x02-0x03 || Packet Size (0x0020)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04-0x1F || Timestamp (see below for format)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Timestamp Format===&lt;br /&gt;
C code to format the timestamp (from a struct timeval (rawtime) and struct tm (cooked)):&lt;br /&gt;
&amp;lt;pre&amp;gt;sprintf(pkt-&amp;gt;timestamp, &amp;quot;%u:%02u:%02u: %02u:%02u:%02u.%03u&amp;quot;,&lt;br /&gt;
        cooked.tm_year + 1900, cooked.tm_mon + 1, cooked.tm_mday,&lt;br /&gt;
        cooked.tm_hour, cooked.tm_min, cooked.tm_sec,&lt;br /&gt;
        (unsigned int)(rawtime.tv_usec / 1000));&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dreamcast Packet Format (Client-&amp;gt;Server)==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Bytes !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Packet Type (0xB1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || Flags (0x00)&lt;br /&gt;
|-&lt;br /&gt;
| 0x02-0x03 || Packet Size (0x0004)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:PSO Server Protocol]]&lt;/div&gt;</summary>
		<author><name>BlueCrab</name></author>
	</entry>
</feed>