<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://wiki.weblate.xn--p8s937b.net/index.php?action=history&amp;feed=atom&amp;title=UTF-8%2F%EA%B2%8C%EC%9E%84%EB%B3%B4%EC%9D%B4%2FRGBDS</id>
	<title>UTF-8/게임보이/RGBDS - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.weblate.xn--p8s937b.net/index.php?action=history&amp;feed=atom&amp;title=UTF-8%2F%EA%B2%8C%EC%9E%84%EB%B3%B4%EC%9D%B4%2FRGBDS"/>
	<link rel="alternate" type="text/html" href="https://wiki.weblate.xn--p8s937b.net/index.php?title=UTF-8/%EA%B2%8C%EC%9E%84%EB%B3%B4%EC%9D%B4/RGBDS&amp;action=history"/>
	<updated>2026-05-31T22:07:55Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.weblate.xn--p8s937b.net/index.php?title=UTF-8/%EA%B2%8C%EC%9E%84%EB%B3%B4%EC%9D%B4/RGBDS&amp;diff=57&amp;oldid=prev</id>
		<title>十八子: 새 문서: 게임보이用 開發키트, RGBDS를 爲한 UTF-8 디코딩 函數. 出力은 RAM wConvertedUnicode에 UTF-32로 디코딩되어 나온다. 메모리 空間이 不足하거나 使用할수 없을境遇 레지스터만으로 出力하도록 맨끝部分을 改造할수있다.  매크로內에서 呼出되는 &lt;code&gt;ReadNextByte&lt;/code&gt;는 다음 臺詞 바이트를 가져오는 役割을 하며, 게임마다 따로 具顯하여야 한다.  &lt;pre&gt; macro read_nex...</title>
		<link rel="alternate" type="text/html" href="https://wiki.weblate.xn--p8s937b.net/index.php?title=UTF-8/%EA%B2%8C%EC%9E%84%EB%B3%B4%EC%9D%B4/RGBDS&amp;diff=57&amp;oldid=prev"/>
		<updated>2024-03-25T00:57:05Z</updated>

		<summary type="html">&lt;p&gt;새 문서: &lt;a href=&quot;/index.php?title=%EA%B2%8C%EC%9E%84%EB%B3%B4%EC%9D%B4&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;게임보이 (없는 문서)&quot;&gt;게임보이&lt;/a&gt;用 開發키트, &lt;a href=&quot;/index.php?title=RGBDS&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;RGBDS (없는 문서)&quot;&gt;RGBDS&lt;/a&gt;를 爲한 &lt;a href=&quot;/index.php?title=UTF-8&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;UTF-8 (없는 문서)&quot;&gt;UTF-8&lt;/a&gt; 디코딩 函數. 出力은 &lt;a href=&quot;/index.php?title=RAM&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;RAM (없는 문서)&quot;&gt;RAM&lt;/a&gt; wConvertedUnicode에 &lt;a href=&quot;/index.php?title=UTF-32&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;UTF-32 (없는 문서)&quot;&gt;UTF-32&lt;/a&gt;로 디코딩되어 나온다. 메모리 空間이 不足하거나 使用할수 없을境遇 레지스터만으로 出力하도록 맨끝部分을 改造할수있다.  매크로內에서 呼出되는 &amp;lt;code&amp;gt;ReadNextByte&amp;lt;/code&amp;gt;는 다음 臺詞 바이트를 가져오는 役割을 하며, 게임마다 따로 具顯하여야 한다.  &amp;lt;pre&amp;gt; macro read_nex...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[게임보이]]用 開發키트, [[RGBDS]]를 爲한 [[UTF-8]] 디코딩 函數. 出力은 [[RAM]] wConvertedUnicode에 [[UTF-32]]로 디코딩되어 나온다. 메모리 空間이 不足하거나 使用할수 없을境遇 레지스터만으로 出力하도록 맨끝部分을 改造할수있다.&lt;br /&gt;
&lt;br /&gt;
매크로內에서 呼出되는 &amp;lt;code&amp;gt;ReadNextByte&amp;lt;/code&amp;gt;는 다음 臺詞 바이트를 가져오는 役割을 하며, 게임마다 따로 具顯하여야 한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
macro read_next_byte&lt;br /&gt;
    inc de&lt;br /&gt;
    call ReadNextByte&lt;br /&gt;
endm&lt;br /&gt;
&lt;br /&gt;
; @return wConvertedUnicode: utf-32 codepoint&lt;br /&gt;
UTF8_to_UTF32::&lt;br /&gt;
.dialog&lt;br /&gt;
    ld l, $00&lt;br /&gt;
    jr .begin&lt;br /&gt;
.dialog_name&lt;br /&gt;
    ld l, $01&lt;br /&gt;
    jr .begin&lt;br /&gt;
.tile&lt;br /&gt;
    ld l, $02&lt;br /&gt;
.begin&lt;br /&gt;
    ld h, $00&lt;br /&gt;
&lt;br /&gt;
    bit 7, a&lt;br /&gt;
    jr z, .singleByte&lt;br /&gt;
    bit 6, a&lt;br /&gt;
    jp z, .end&lt;br /&gt;
    bit 5, a&lt;br /&gt;
    jr z, .doubleByte&lt;br /&gt;
    bit 4, a&lt;br /&gt;
    jr z, .tripleByte&lt;br /&gt;
    bit 3, a&lt;br /&gt;
    jr z, .quadByte&lt;br /&gt;
    jr .end&lt;br /&gt;
&lt;br /&gt;
.quadByte&lt;br /&gt;
    and a, $07&lt;br /&gt;
    rla&lt;br /&gt;
    rla&lt;br /&gt;
    ld h, a&lt;br /&gt;
    read_next_byte&lt;br /&gt;
    push af&lt;br /&gt;
    and a, $30&lt;br /&gt;
    rra&lt;br /&gt;
    rra&lt;br /&gt;
    rra&lt;br /&gt;
    rra&lt;br /&gt;
    or h&lt;br /&gt;
    ld h, a&lt;br /&gt;
    pop af&lt;br /&gt;
    and a, $0f&lt;br /&gt;
    rla&lt;br /&gt;
    rla&lt;br /&gt;
    rla&lt;br /&gt;
    rla&lt;br /&gt;
    ld b, a&lt;br /&gt;
    read_next_byte&lt;br /&gt;
    push af&lt;br /&gt;
    and a, $3c&lt;br /&gt;
    rra&lt;br /&gt;
    rra&lt;br /&gt;
    or b&lt;br /&gt;
    ld b, a&lt;br /&gt;
    jr .lastByte&lt;br /&gt;
.tripleByte&lt;br /&gt;
    and a, $0f&lt;br /&gt;
    rla&lt;br /&gt;
    rla&lt;br /&gt;
    rla&lt;br /&gt;
    rla&lt;br /&gt;
    ld b, a&lt;br /&gt;
    read_next_byte&lt;br /&gt;
    push af&lt;br /&gt;
    and a, $3c&lt;br /&gt;
    rra&lt;br /&gt;
    rra&lt;br /&gt;
    or b&lt;br /&gt;
    ld b, a&lt;br /&gt;
    jr .lastByte&lt;br /&gt;
.doubleByte&lt;br /&gt;
    push af&lt;br /&gt;
    and a, $1c&lt;br /&gt;
    rra&lt;br /&gt;
    rra&lt;br /&gt;
    ld b, a&lt;br /&gt;
&lt;br /&gt;
.lastByte&lt;br /&gt;
    pop af&lt;br /&gt;
    and a, $03&lt;br /&gt;
    rra&lt;br /&gt;
    rra&lt;br /&gt;
    rra&lt;br /&gt;
    ld c, a&lt;br /&gt;
    read_next_byte&lt;br /&gt;
    and a, $3f&lt;br /&gt;
    or c&lt;br /&gt;
    ld c, a&lt;br /&gt;
    jr .end&lt;br /&gt;
.singleByte&lt;br /&gt;
    and a, $7f&lt;br /&gt;
    ld b, $00&lt;br /&gt;
    ld c, a&lt;br /&gt;
.end&lt;br /&gt;
    push af&lt;br /&gt;
    xor a&lt;br /&gt;
    ld [wConvertedUnicode + 0], a&lt;br /&gt;
    ld a, h&lt;br /&gt;
    ld [wConvertedUnicode + 1], a&lt;br /&gt;
    ld a, b&lt;br /&gt;
    ld [wConvertedUnicode + 2], a&lt;br /&gt;
    ld a, c&lt;br /&gt;
    ld [wConvertedUnicode + 3], a&lt;br /&gt;
    pop af&lt;br /&gt;
    ret&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>十八子</name></author>
	</entry>
</feed>