Skip to content

Commit db42b90

Browse files
committed
Add Dino game example
1 parent 7531195 commit db42b90

File tree

4 files changed

+1158
-0
lines changed

4 files changed

+1158
-0
lines changed
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
/*
2+
* Wasm3 - high performance WebAssembly interpreter written in C.
3+
* Copyright © 2020 Volodymyr Shymanskyy, Steven Massey.
4+
* All rights reserved.
5+
*/
6+
7+
#include "Adafruit_Arcada.h"
8+
9+
#include <wasm3.h>
10+
#include <m3_env.h>
11+
#include <m3_api_defs.h>
12+
13+
/*
14+
* Dino game by by Ben Smith (binji)
15+
* https://github.com/binji/raw-wasm/tree/master/dino
16+
* To build:
17+
* export PATH=/opt/wasp/build/src/tools:$PATH
18+
* wasp wat2wasm --enable-numeric-values -o dino.wasm dino.wat
19+
* xxd -iC dino.wasm > dino.wasm.h
20+
*/
21+
#include "dino.wasm.h"
22+
23+
/*
24+
* Engine start, liftoff!
25+
*/
26+
27+
#define FATAL(func, msg) { Serial.print("Fatal: " func " "); Serial.println(msg); return; }
28+
#define TSTART() { tstart = micros(); }
29+
#define TFINISH(s) { tend = micros(); Serial.print(s " in "); Serial.print(tend-tstart); Serial.println(" us"); }
30+
31+
// The Math.random() function returns a floating-point,
32+
// pseudo-random number in the range 0 to less than 1
33+
m3ApiRawFunction(Math_random)
34+
{
35+
m3ApiReturnType (float)
36+
37+
float r = (float)random(INT_MAX)/INT_MAX;
38+
//Serial.print("Random: "); Serial.println(r);
39+
40+
m3ApiReturn(r);
41+
}
42+
43+
// Memcpy is generic, and much faster in native code
44+
m3ApiRawFunction(Dino_memcpy)
45+
{
46+
m3ApiGetArgMem (uint8_t *, dst)
47+
m3ApiGetArgMem (uint8_t *, src)
48+
m3ApiGetArgMem (uint8_t *, dstend)
49+
50+
unsigned len = dstend-dst;
51+
memcpy(dst, src, len ? len : 1);
52+
53+
m3ApiSuccess();
54+
}
55+
56+
M3Result LinkImports (IM3Runtime runtime)
57+
{
58+
IM3Module module = runtime->modules;
59+
60+
m3_LinkRawFunction (module, "Math", "random", "f()", &Math_random);
61+
m3_LinkRawFunction (module, "Dino", "memcpy", "v(iii)", &Dino_memcpy);
62+
63+
return m3Err_none;
64+
}
65+
66+
Adafruit_Arcada arcada;
67+
68+
void setup()
69+
{
70+
Serial.begin(115200);
71+
72+
// Wait for serial port to connect
73+
// Needed for native USB port only
74+
//while(!Serial) {}
75+
76+
// Start TFT and fill black
77+
if (!arcada.arcadaBegin()) {
78+
Serial.print("Failed to begin");
79+
while (1);
80+
}
81+
arcada.displayBegin();
82+
arcada.setBacklight(128);
83+
84+
arcada.display->setCursor(0, 0);
85+
arcada.display->fillScreen(ARCADA_BLACK);
86+
arcada.display->setTextColor(ARCADA_WHITE);
87+
arcada.display->setTextSize(1);
88+
arcada.display->setTextWrap(true);
89+
arcada.display->println("Wasm3 v" M3_VERSION " (" M3_ARCH ")");
90+
arcada.display->println("build " __DATE__ " " __TIME__);
91+
arcada.display->println("\nDino game");
92+
arcada.display->println("by Ben Smith (binji)");
93+
94+
// Try to randomize seed
95+
randomSeed((analogRead(A5) << 16) + analogRead(A4));
96+
Serial.print("Random: "); Serial.println(random(INT_MAX), HEX);
97+
98+
uint32_t tend, tstart;
99+
TSTART();
100+
101+
M3Result result = m3Err_none;
102+
103+
IM3Environment env = m3_NewEnvironment ();
104+
if (!env) FATAL("NewEnvironment", "failed");
105+
106+
IM3Runtime runtime = m3_NewRuntime (env, 1024, NULL);
107+
if (!runtime) FATAL("NewRuntime", "failed");
108+
109+
IM3Module module;
110+
result = m3_ParseModule (env, &module, dino_wasm, sizeof(dino_wasm));
111+
if (result) FATAL("ParseModule", result);
112+
113+
result = m3_LoadModule (runtime, module);
114+
if (result) FATAL("LoadModule", result);
115+
116+
result = LinkImports (runtime);
117+
if (result) FATAL("LinkImports", result);
118+
119+
IM3Function f;
120+
result = m3_FindFunction (&f, runtime, "run");
121+
if (result) FATAL("FindFunction", result);
122+
123+
TFINISH("Init");
124+
125+
Serial.println("Running WebAssembly...");
126+
127+
const char* i_argv[1] = { NULL };
128+
uint8_t* mem = m3_GetMemory(runtime, NULL, 0);
129+
130+
while (true) {
131+
const uint32_t framestart = millis();
132+
133+
// Process inputs
134+
uint32_t pressed_buttons = arcada.readButtons();
135+
if (pressed_buttons & ARCADA_BUTTONMASK_START) {
136+
NVIC_SystemReset();
137+
} else if (pressed_buttons & ARCADA_BUTTONMASK_A && pressed_buttons & ARCADA_BUTTONMASK_B) {
138+
*(uint32_t*)(mem) = 3;
139+
} else if (pressed_buttons & ARCADA_BUTTONMASK_B) { // Down
140+
*(uint32_t*)(mem) = 2;
141+
} else if (pressed_buttons & ARCADA_BUTTONMASK_A) { // Up
142+
*(uint32_t*)(mem) = 1;
143+
} else {
144+
*(uint32_t*)(mem) = 0;
145+
}
146+
147+
// Render frame
148+
result = m3_CallWithArgs (f, 0, i_argv);
149+
if (result) break;
150+
arcada.display->drawRGBBitmap(0, 50, (uint16_t*)(mem+0x5000), 160, 75);
151+
152+
//Serial.print("FPS: "); Serial.println(1000/(millis() - framestart));
153+
154+
// Limit to 40 fps
155+
while (millis() - framestart < (1000/40)) { delay(1); }
156+
}
157+
158+
if (result != m3Err_none) {
159+
M3ErrorInfo info;
160+
m3_GetErrorInfo (runtime, &info);
161+
Serial.print("Error: ");
162+
Serial.print(result);
163+
Serial.print(" (");
164+
Serial.print(info.message);
165+
Serial.println(")");
166+
if (info.file && strlen(info.file) && info.line) {
167+
Serial.print("At ");
168+
Serial.print(info.file);
169+
Serial.print(":");
170+
Serial.println(info.line);
171+
}
172+
}
173+
}
174+
175+
void loop()
176+
{
177+
delay(100);
178+
}
1.95 KB
Binary file not shown.
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
unsigned char dino_wasm[] = {
2+
0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x16, 0x04, 0x60,
3+
0x00, 0x01, 0x7d, 0x60, 0x03, 0x7f, 0x7f, 0x7f, 0x00, 0x60, 0x00, 0x00,
4+
0x60, 0x04, 0x7f, 0x7f, 0x7f, 0x7f, 0x01, 0x7f, 0x02, 0x1d, 0x02, 0x04,
5+
0x4d, 0x61, 0x74, 0x68, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x00,
6+
0x00, 0x04, 0x44, 0x69, 0x6e, 0x6f, 0x06, 0x6d, 0x65, 0x6d, 0x63, 0x70,
7+
0x79, 0x00, 0x01, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x05, 0x03, 0x01,
8+
0x00, 0x02, 0x06, 0x30, 0x07, 0x7d, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00,
9+
0x0b, 0x7d, 0x00, 0x43, 0x00, 0x00, 0x48, 0x42, 0x0b, 0x7f, 0x01, 0x41,
10+
0x00, 0x0b, 0x7f, 0x01, 0x41, 0x00, 0x0b, 0x7f, 0x01, 0x41, 0x00, 0x0b,
11+
0x7d, 0x01, 0x43, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x7d, 0x01, 0x43, 0x00,
12+
0x00, 0x00, 0xbf, 0x0b, 0x07, 0x0d, 0x02, 0x03, 0x6d, 0x65, 0x6d, 0x02,
13+
0x00, 0x03, 0x72, 0x75, 0x6e, 0x00, 0x04, 0x08, 0x01, 0x02, 0x0a, 0xf0,
14+
0x07, 0x03, 0xf5, 0x01, 0x01, 0x0c, 0x7f, 0x41, 0x07, 0x21, 0x02, 0x41,
15+
0xbb, 0x06, 0x21, 0x07, 0x03, 0x40, 0x20, 0x01, 0x41, 0x10, 0x49, 0x04,
16+
0x40, 0x20, 0x00, 0x20, 0x06, 0x2f, 0x01, 0xd0, 0x02, 0x20, 0x01, 0x74,
17+
0x72, 0x21, 0x00, 0x20, 0x01, 0x41, 0x10, 0x6a, 0x21, 0x01, 0x20, 0x06,
18+
0x41, 0x02, 0x6a, 0x21, 0x06, 0x0b, 0x20, 0x00, 0x41, 0x01, 0x20, 0x02,
19+
0x74, 0x41, 0x01, 0x6b, 0x71, 0x21, 0x03, 0x20, 0x00, 0x20, 0x02, 0x76,
20+
0x21, 0x00, 0x20, 0x01, 0x20, 0x02, 0x6b, 0x21, 0x01, 0x02, 0x40, 0x02,
21+
0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x20, 0x09, 0x0e, 0x03, 0x00,
22+
0x01, 0x04, 0x03, 0x0b, 0x20, 0x03, 0x22, 0x04, 0x45, 0x0d, 0x01, 0x41,
23+
0x01, 0x21, 0x09, 0x41, 0x04, 0x21, 0x02, 0x0c, 0x04, 0x0b, 0x20, 0x07,
24+
0x20, 0x03, 0x3a, 0x00, 0x00, 0x20, 0x07, 0x41, 0x01, 0x6a, 0x21, 0x07,
25+
0x20, 0x04, 0x41, 0x01, 0x6b, 0x22, 0x04, 0x0d, 0x03, 0x0b, 0x41, 0x02,
26+
0x21, 0x09, 0x41, 0x07, 0x21, 0x02, 0x0c, 0x02, 0x0b, 0x20, 0x07, 0x20,
27+
0x07, 0x20, 0x05, 0x6b, 0x20, 0x07, 0x20, 0x03, 0x6a, 0x22, 0x07, 0x10,
28+
0x01, 0x41, 0x00, 0x21, 0x09, 0x0c, 0x01, 0x0b, 0x20, 0x03, 0x21, 0x05,
29+
0x41, 0x03, 0x21, 0x09, 0x20, 0x06, 0x41, 0xee, 0x03, 0x49, 0x0d, 0x00,
30+
0x0b, 0x03, 0x40, 0x20, 0x06, 0x2d, 0x00, 0xcd, 0x02, 0x22, 0x0a, 0x04,
31+
0x40, 0x20, 0x07, 0x20, 0x0b, 0x3a, 0x00, 0x00, 0x20, 0x07, 0x41, 0x01,
32+
0x6a, 0x20, 0x07, 0x20, 0x07, 0x20, 0x0a, 0x6a, 0x22, 0x07, 0x10, 0x01,
33+
0x0b, 0x20, 0x0b, 0x45, 0x21, 0x0b, 0x20, 0x06, 0x41, 0x01, 0x6a, 0x22,
34+
0x06, 0x41, 0xc0, 0x0f, 0x49, 0x0d, 0x00, 0x0b, 0x0b, 0xc0, 0x01, 0x01,
35+
0x08, 0x7f, 0x20, 0x02, 0x2d, 0x00, 0xa9, 0x02, 0x22, 0x04, 0x21, 0x09,
36+
0x20, 0x02, 0x2d, 0x00, 0xaa, 0x02, 0x21, 0x05, 0x20, 0x02, 0x2d, 0x00,
37+
0xab, 0x02, 0x41, 0x00, 0x74, 0x21, 0x06, 0x20, 0x00, 0x41, 0x00, 0x48,
38+
0x04, 0x40, 0x20, 0x04, 0x20, 0x00, 0x6a, 0x21, 0x04, 0x20, 0x03, 0x20,
39+
0x00, 0x6b, 0x21, 0x03, 0x41, 0x00, 0x21, 0x00, 0x05, 0x20, 0x00, 0x20,
40+
0x04, 0x6a, 0x41, 0xa0, 0x01, 0x4a, 0x04, 0x40, 0x41, 0xa0, 0x01, 0x20,
41+
0x00, 0x6b, 0x21, 0x04, 0x0b, 0x0b, 0x20, 0x04, 0x41, 0x00, 0x4a, 0x04,
42+
0x40, 0x20, 0x01, 0x41, 0xa0, 0x01, 0x6c, 0x20, 0x00, 0x6a, 0x21, 0x07,
43+
0x03, 0x40, 0x41, 0x00, 0x21, 0x0a, 0x03, 0x40, 0x20, 0x03, 0x20, 0x0a,
44+
0x6a, 0x2d, 0x00, 0x8d, 0x12, 0x04, 0x40, 0x20, 0x0b, 0x20, 0x07, 0x20,
45+
0x0a, 0x6a, 0x41, 0x01, 0x74, 0x22, 0x08, 0x2f, 0x01, 0x80, 0xa0, 0x01,
46+
0x41, 0xac, 0x01, 0x46, 0x72, 0x21, 0x0b, 0x20, 0x08, 0x20, 0x06, 0x3b,
47+
0x01, 0x80, 0xa0, 0x01, 0x0b, 0x20, 0x0a, 0x41, 0x01, 0x6a, 0x22, 0x0a,
48+
0x20, 0x04, 0x48, 0x0d, 0x00, 0x0b, 0x20, 0x07, 0x41, 0xa0, 0x01, 0x6a,
49+
0x21, 0x07, 0x20, 0x03, 0x20, 0x09, 0x6a, 0x21, 0x03, 0x20, 0x05, 0x41,
50+
0x01, 0x6b, 0x22, 0x05, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x0b, 0x0b, 0xb4,
51+
0x04, 0x02, 0x0a, 0x7f, 0x02, 0x7d, 0x41, 0x80, 0xa0, 0x01, 0x41, 0xff,
52+
0x9f, 0x01, 0x41, 0x90, 0xdf, 0x06, 0x10, 0x01, 0x23, 0x02, 0x41, 0x01,
53+
0x6a, 0x24, 0x02, 0x23, 0x06, 0x43, 0x00, 0x00, 0x00, 0x3b, 0x93, 0x43,
54+
0x00, 0x00, 0x80, 0xbf, 0x97, 0x24, 0x06, 0x41, 0x00, 0x2d, 0x00, 0x00,
55+
0x21, 0x00, 0x41, 0x05, 0x2a, 0x02, 0x00, 0x21, 0x0b, 0x02, 0x40, 0x02,
56+
0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x23,
57+
0x04, 0x0e, 0x04, 0x01, 0x02, 0x03, 0x04, 0x00, 0x0b, 0x41, 0x0b, 0x21,
58+
0x01, 0x23, 0x00, 0x24, 0x06, 0x20, 0x00, 0x45, 0x23, 0x02, 0x23, 0x03,
59+
0x6b, 0x41, 0x14, 0x4d, 0x72, 0x0d, 0x05, 0x41, 0x00, 0x24, 0x03, 0x41,
60+
0x00, 0x24, 0x02, 0x23, 0x00, 0x24, 0x05, 0x43, 0x00, 0x00, 0x00, 0xbf,
61+
0x24, 0x06, 0x0b, 0x41, 0x09, 0x21, 0x01, 0x23, 0x01, 0x21, 0x0b, 0x41,
62+
0x04, 0x41, 0xdb, 0x9f, 0x01, 0x41, 0x28, 0x10, 0x01, 0x41, 0x01, 0x24,
63+
0x04, 0x0b, 0x20, 0x00, 0x41, 0x02, 0x46, 0x41, 0x09, 0x6a, 0x21, 0x01,
64+
0x20, 0x00, 0x41, 0x01, 0x47, 0x0d, 0x02, 0x41, 0x02, 0x24, 0x04, 0x43,
65+
0x00, 0x00, 0xc0, 0xc0, 0x24, 0x05, 0x0b, 0x20, 0x00, 0x41, 0x01, 0x46,
66+
0x20, 0x0b, 0x43, 0x00, 0x00, 0xf0, 0x41, 0x60, 0x72, 0x20, 0x0b, 0x43,
67+
0x00, 0x00, 0x20, 0x41, 0x60, 0x71, 0x0d, 0x00, 0x41, 0x03, 0x24, 0x04,
68+
0x43, 0x00, 0x00, 0x80, 0xbf, 0x24, 0x05, 0x0b, 0x41, 0x08, 0x21, 0x01,
69+
0x20, 0x0b, 0x23, 0x05, 0x92, 0x21, 0x0b, 0x23, 0x05, 0x43, 0xcd, 0xcc,
70+
0xcc, 0x3e, 0x92, 0x24, 0x05, 0x20, 0x0b, 0x23, 0x01, 0x5f, 0x0d, 0x00,
71+
0x41, 0x01, 0x24, 0x04, 0x23, 0x01, 0x21, 0x0b, 0x23, 0x00, 0x24, 0x05,
72+
0x0b, 0x23, 0x03, 0x41, 0x01, 0x6a, 0x24, 0x03, 0x0b, 0x41, 0x04, 0x20,
73+
0x01, 0x3a, 0x00, 0x00, 0x41, 0x05, 0x20, 0x0b, 0x38, 0x02, 0x00, 0x41,
74+
0xf9, 0x00, 0x21, 0x02, 0x03, 0x40, 0x20, 0x02, 0x2a, 0x02, 0x05, 0xa8,
75+
0x20, 0x02, 0x2a, 0x02, 0x01, 0xa8, 0x20, 0x02, 0x2d, 0x00, 0x00, 0x41,
76+
0x07, 0x6c, 0x22, 0x06, 0x2d, 0x00, 0x83, 0x01, 0x41, 0x02, 0x74, 0x23,
77+
0x02, 0x41, 0x0f, 0x71, 0x41, 0x02, 0x76, 0x6a, 0x22, 0x04, 0x2d, 0x00,
78+
0xdc, 0x01, 0x6a, 0x20, 0x06, 0x2d, 0x00, 0x84, 0x01, 0x20, 0x04, 0x2d,
79+
0x00, 0xec, 0x01, 0x6a, 0x22, 0x05, 0x2d, 0x00, 0xfc, 0x01, 0x20, 0x05,
80+
0x2f, 0x01, 0xfd, 0x01, 0x10, 0x03, 0x20, 0x02, 0x41, 0x04, 0x46, 0x71,
81+
0x04, 0x40, 0x41, 0x04, 0x24, 0x04, 0x0b, 0x20, 0x02, 0x2a, 0x02, 0x05,
82+
0x20, 0x06, 0x2d, 0x00, 0x88, 0x01, 0xb3, 0x23, 0x06, 0x94, 0x92, 0x22,
83+
0x0a, 0x43, 0x00, 0x00, 0x80, 0xc2, 0x5d, 0x04, 0x40, 0x20, 0x02, 0x10,
84+
0x00, 0x20, 0x06, 0x2d, 0x00, 0x82, 0x01, 0x41, 0x01, 0x74, 0x22, 0x07,
85+
0x2d, 0x00, 0xd7, 0x01, 0xb3, 0x94, 0xa8, 0x20, 0x07, 0x2d, 0x00, 0xd6,
86+
0x01, 0x6a, 0x22, 0x03, 0x3a, 0x00, 0x00, 0x20, 0x0a, 0x43, 0x00, 0x00,
87+
0x60, 0x43, 0x92, 0x20, 0x03, 0x41, 0x07, 0x6c, 0x22, 0x06, 0x2d, 0x00,
88+
0x85, 0x01, 0x41, 0x03, 0x74, 0xb3, 0x92, 0x21, 0x0a, 0x20, 0x02, 0x20,
89+
0x06, 0x2d, 0x00, 0x86, 0x01, 0xb3, 0x10, 0x00, 0x20, 0x06, 0x2d, 0x00,
90+
0x87, 0x01, 0xb3, 0x94, 0x92, 0x38, 0x02, 0x01, 0x0b, 0x20, 0x02, 0x20,
91+
0x0a, 0x38, 0x02, 0x05, 0x20, 0x02, 0x41, 0x09, 0x6b, 0x22, 0x02, 0x41,
92+
0x00, 0x4a, 0x0d, 0x00, 0x0b, 0x23, 0x03, 0x21, 0x09, 0x41, 0xac, 0x02,
93+
0x21, 0x08, 0x03, 0x40, 0x20, 0x08, 0x41, 0x04, 0x6b, 0x22, 0x08, 0x41,
94+
0x04, 0x41, 0x21, 0x41, 0xcc, 0x2f, 0x20, 0x09, 0x41, 0x0a, 0x70, 0x41,
95+
0x0f, 0x6c, 0x6a, 0x10, 0x03, 0x1a, 0x20, 0x09, 0x41, 0x0a, 0x6e, 0x22,
96+
0x09, 0x0d, 0x00, 0x0b, 0x23, 0x04, 0x41, 0x04, 0x46, 0x04, 0x40, 0x41,
97+
0x34, 0x41, 0x21, 0x41, 0x24, 0x41, 0xe2, 0x30, 0x10, 0x03, 0x1a, 0x0b,
98+
0x0b, 0x0b, 0xc9, 0x06, 0x02, 0x00, 0x41, 0x28, 0x0b, 0x96, 0x06, 0x07,
99+
0x00, 0x00, 0x86, 0x42, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x86,
100+
0x42, 0x00, 0x00, 0x80, 0x42, 0x07, 0x00, 0x00, 0x86, 0x42, 0x00, 0x00,
101+
0x00, 0x43, 0x07, 0x00, 0x00, 0x86, 0x42, 0x00, 0x00, 0x40, 0x43, 0x07,
102+
0x00, 0x00, 0x86, 0x42, 0x00, 0x00, 0x80, 0x43, 0x07, 0x00, 0x00, 0x86,
103+
0x42, 0x00, 0x00, 0xa0, 0x43, 0x06, 0x00, 0x00, 0x20, 0x42, 0x00, 0x00,
104+
0x00, 0x00, 0x06, 0x00, 0x00, 0x20, 0x42, 0x00, 0x00, 0x00, 0x43, 0x06,
105+
0x00, 0x00, 0x20, 0x42, 0x00, 0x00, 0x80, 0x43, 0x06, 0x00, 0x00, 0x20,
106+
0x42, 0x00, 0x00, 0xc0, 0x43, 0x00, 0x00, 0x12, 0x4b, 0x2e, 0x00, 0x04,
107+
0x00, 0x00, 0x15, 0x4b, 0x36, 0x00, 0x04, 0x00, 0x00, 0x18, 0x4b, 0x36,
108+
0x00, 0x04, 0x00, 0x00, 0x1b, 0x4b, 0x36, 0x00, 0x04, 0x00, 0x00, 0x1e,
109+
0x4b, 0x2e, 0x00, 0x04, 0x00, 0x03, 0x27, 0x4b, 0x19, 0x19, 0x05, 0x01,
110+
0x00, 0x21, 0x1e, 0x0f, 0x19, 0x01, 0x02, 0x00, 0x24, 0x00, 0x43, 0x00,
111+
0x04, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x06, 0x00,
112+
0x00, 0x00, 0x00, 0x03, 0x02, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
113+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x01, 0x07, 0x01, 0x00,
114+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x00,
115+
0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00,
116+
0x03, 0x00, 0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0xb8,
117+
0x01, 0x00, 0x70, 0x03, 0x00, 0x28, 0x05, 0x03, 0xe0, 0x06, 0x03, 0x4c,
118+
0x08, 0x06, 0xb8, 0x09, 0x09, 0x0a, 0x0b, 0x0c, 0x60, 0x0c, 0x0f, 0x58,
119+
0x0e, 0x12, 0xfa, 0x0e, 0x15, 0x0a, 0x13, 0x18, 0xda, 0x13, 0x1b, 0x1a,
120+
0x15, 0x1e, 0x5c, 0x16, 0x14, 0x16, 0xab, 0x1c, 0x0d, 0xab, 0x0d, 0x1a,
121+
0xac, 0x13, 0x12, 0xac, 0x1c, 0x12, 0xac, 0x09, 0x12, 0xac, 0x28, 0x1a,
122+
0xac, 0x1a, 0x08, 0x25, 0x40, 0x05, 0xab, 0x17, 0x0e, 0xac, 0x17, 0x10,
123+
0xac, 0x03, 0x05, 0xac, 0x32, 0x08, 0xac, 0x91, 0xc5, 0x95, 0x29, 0x95,
124+
0x88, 0x28, 0x95, 0x29, 0x0d, 0x18, 0x72, 0x28, 0x81, 0x65, 0x71, 0x66,
125+
0x42, 0x4a, 0x23, 0x19, 0x41, 0x6e, 0x7e, 0x9c, 0xab, 0xc9, 0xe7, 0x13,
126+
0xe2, 0x32, 0xe1, 0x41, 0xe1, 0x32, 0xf2, 0x40, 0xb8, 0xaa, 0x12, 0x07,
127+
0x3c, 0x08, 0xea, 0x85, 0xe3, 0x87, 0x0c, 0xcb, 0xc3, 0xc4, 0x03, 0xc9,
128+
0x43, 0x02, 0x61, 0x48, 0x11, 0x79, 0x91, 0x78, 0xa0, 0x78, 0x20, 0xc1,
129+
0x78, 0x18, 0x8c, 0xa1, 0x94, 0x87, 0x8f, 0x8b, 0x07, 0x96, 0x87, 0x9d,
130+
0x07, 0xa5, 0x07, 0x52, 0x96, 0x43, 0x9b, 0x78, 0x98, 0x90, 0x19, 0x79,
131+
0x10, 0x09, 0x79, 0xd8, 0xd4, 0x21, 0x20, 0x40, 0x15, 0x62, 0x64, 0x42,
132+
0x1e, 0xc4, 0xb7, 0x28, 0xe8, 0x64, 0xa1, 0x20, 0x91, 0x90, 0x90, 0x90,
133+
0x0a, 0x0b, 0x82, 0xa6, 0xf0, 0xb1, 0x83, 0x32, 0x05, 0x40, 0x60, 0xe8,
134+
0x9c, 0xa0, 0xdc, 0xdc, 0xd8, 0x48, 0x84, 0xc4, 0x44, 0xd0, 0x84, 0x84,
135+
0xc4, 0xc4, 0x88, 0x02, 0x21, 0xa0, 0x50, 0x60, 0x2a, 0x16, 0x14, 0x26,
136+
0x15, 0x14, 0x55, 0x7c, 0x25, 0x75, 0x63, 0x43, 0xd0, 0x08, 0x4e, 0x0c,
137+
0x08, 0x80, 0xd1, 0x30, 0x20, 0x09, 0x46, 0x63, 0x10, 0x32, 0x60, 0x44,
138+
0x41, 0x42, 0x42, 0xe0, 0x0b, 0x00, 0x04, 0x15, 0x30, 0xc7, 0xc1, 0x55,
139+
0x41, 0x51, 0x22, 0x31, 0x21, 0xd2, 0x24, 0x31, 0x21, 0x44, 0x52, 0x64,
140+
0x21, 0x24, 0x36, 0x85, 0x24, 0x36, 0x57, 0x25, 0x36, 0x37, 0x67, 0xa8,
141+
0x00, 0x04, 0x86, 0x41, 0x50, 0x10, 0x20, 0x07, 0x8c, 0x0a, 0xa3, 0x12,
142+
0x21, 0x2a, 0x36, 0x36, 0x29, 0x0f, 0x2a, 0x4a, 0x19, 0x4d, 0x49, 0x38,
143+
0x6c, 0x58, 0x2c, 0x70, 0x82, 0x92, 0x70, 0x42, 0x4a, 0xd1, 0x38, 0x54,
144+
0x0c, 0x89, 0x90, 0xe3, 0x30, 0x90, 0x12, 0xc7, 0x87, 0x10, 0x12, 0xe6,
145+
0x68, 0x14, 0x6a, 0x42, 0xd0, 0x91, 0x28, 0x0c, 0xc9, 0x9c, 0x83, 0x21,
146+
0x20, 0x73, 0x28, 0x18, 0x21, 0x21, 0x21, 0x43, 0x22, 0xc1, 0x90, 0x05,
147+
0x01, 0x63, 0xc5, 0xa1, 0x28, 0x1c, 0x59, 0x99, 0x0a, 0x41, 0x48, 0xb2,
148+
0x62, 0x28, 0x08, 0x38, 0x81, 0x08, 0xc3, 0x42, 0x8c, 0x28, 0x09, 0x87,
149+
0xc4, 0x10, 0xa1, 0xd4, 0xdb, 0x03, 0x49, 0xc5, 0x83, 0xc4, 0xc9, 0x8b,
150+
0x85, 0x0c, 0x92, 0x4b, 0xc5, 0x43, 0x05, 0xc5, 0x83, 0x49, 0xc4, 0x3c,
151+
0x08, 0x10, 0x81, 0x4c, 0x20, 0x18, 0x15, 0x0f, 0x1b, 0x0f, 0x1f, 0x2a,
152+
0x1f, 0x45, 0x71, 0x84, 0x23, 0xe3, 0x21, 0xe5, 0xc1, 0xe6, 0xa1, 0xe8,
153+
0x21, 0x44, 0xc8, 0x47, 0x8a, 0x2b, 0x4c, 0x2d, 0x0e, 0xdf, 0xd5, 0x1f,
154+
0x02, 0x99, 0x7b, 0xf3, 0x2f, 0xe5, 0xa1, 0xe6, 0x81, 0xea, 0x41, 0xec,
155+
0x21, 0x40, 0x09, 0xe0, 0x7a, 0x2e, 0x6b, 0xd3, 0x03, 0xcd, 0x43, 0xc9,
156+
0x83, 0xc9, 0x83, 0x85, 0x53, 0x48, 0x48, 0x98, 0x84, 0x84, 0x44, 0x98,
157+
0x94, 0x98, 0x90, 0x54, 0x48, 0x90, 0x84, 0x94, 0x8c, 0xa0, 0x50, 0x1c,
158+
0xc8, 0x20, 0x92, 0x8a, 0x0a, 0x0c, 0x92, 0x90, 0x08, 0x9a, 0x19, 0x11,
159+
0x11, 0x9a, 0x11, 0x09, 0x09, 0x0a, 0x0a, 0x03, 0x1d, 0x04, 0x15, 0x12,
160+
0x83, 0xe0, 0x24, 0x67, 0x20, 0x60, 0x08, 0x0d, 0x0f, 0x87, 0x90, 0x91,
161+
0xa0, 0x12, 0x19, 0x06, 0x12, 0x24, 0x3a, 0x00, 0x80, 0x06, 0x82, 0xc4,
162+
0x84, 0x86, 0x02, 0x40, 0x22, 0x00, 0x82, 0x03, 0x83, 0x24, 0x24, 0x2a,
163+
0x64, 0x24, 0x10, 0xb3, 0x38, 0x90, 0x94, 0x8c, 0x90, 0xef, 0xd1, 0x90,
164+
0xa0, 0x19, 0x8a, 0xa1, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x41, 0xdb,
165+
0x9f, 0x01, 0x0b, 0x25, 0x09, 0x00, 0x00, 0x48, 0x42, 0x00, 0x00, 0xb0,
166+
0x41, 0x01, 0x00, 0x00, 0x5c, 0x42, 0x00, 0x00, 0x96, 0x43, 0x01, 0x00,
167+
0x00, 0x5c, 0x42, 0x00, 0x00, 0x16, 0x44, 0x01, 0x00, 0x00, 0x5c, 0x42,
168+
0x00, 0x00, 0x61, 0x44, 0xff
169+
};
170+
unsigned int dino_wasm_len = 1997;

0 commit comments

Comments
 (0)