# BN_addr	IDA_EA	kind	name	note
0x800	0x10000	F	start	
0x67a8	0x15FA8	F	Speech_Play	reads the fragment script, then plays it on the current output
0x6a45	0x16245	F	Speech_PlaySpeaker	PC speaker PWM player
0x6bc6	0x163C6	F	Speech_PlaySb	Sound Blaster direct DAC player
0x6d4b	0x1654B	F	Speech_PlayPort389	player writing to port 0x389
0x6fd8	0x167D8	F	Speech_Compile	phoneme words to fragment script
0xd30	0x10530	F	_main	
0xd36	0x10536	F	Game_Main	sub_10536; Sound Blaster probe then game start
0xffc	0x107FC	F	Snd_ProbeSbDsp	DSP reset at base+6, expects 0xAA at base+0xA
0xe25	0x10625	F	Int0FE_HandlerPrologue	
0xe28	0x10628	F	Int0FE_Handler	IVT[0xFE] target 0x53:0xF8
0x1042	0x10842	F	Sys_DetectMedia	INT 21h AH=1Bh media descriptor -> variant
0x11f2	0x109F2	F	Sys_ParseAdapterArg	sub_109F2
0x133f	0x10B3F	F	Bios_WriteChar	sub_10B3F
0x1351	0x10B51	F	Bios_SetCursor	sub_10B51
0x90d	0x1010D	F	__exit	
0x972	0x10172	F	__restorezero	
0x9a7	0x101A7	F	File_WriteHandle2	
0x9af	0x101AF	F	_abort	
0x9d1	0x101D1	F	__setargv	
0xacf	0x102CF	F	__setenvp	
0xa5fb	0x19DFB	F	__IOERROR	
0xa637	0x19E37	F	_exit	
0xa66a	0x19E6A	F	_atexit	
0xa699	0x19E99	F	_malloc	
0xa6ae	0x19EAE	F	__pull_free_block	
0xa89a	0x1A09A	F	_farmalloc	
0xaa39	0x1A239	F	__brk	
0xaa80	0x1A280	F	__sbrk	
0xaafb	0x1A2FB	F	_setblock	
0xab1b	0x1A31B	F	_memcpy	
0xab41	0x1A341	F	_movmem	
0xab95	0x1A395	F	_memmove	
0xabb5	0x1A3B5	F	_clock	
0xabed	0x1A3ED	F	_sound	
0xac19	0x1A419	F	_nosound	
0x1b5d	0x1135D	F	Vid_ArenaAlloc	service 0x1C
0x1c02	0x11402	F	Txt_Decode5Bit	5-bit string decoder, far entry 0x84:0xBC2
0x1ca2	0x114A2	F	Txt_Read5Bits	
0x1cd9	0x114D9	F	Far_Normalize2	
0x1ceb	0x114EB	F	Txt_FormatNumber	inferred: divides by 1000
0x1d90	0x11590	F	Vid_DrawGlyph	
0x1eeb	0x116EB	F	Ui_DrawBar	sub_116EB; inferred: caps plus repeated middle from the sheet
0x1fa8	0x117A8	F	Vid_PagePtr	IDA Vid_CanvasPtr; DS=[0x494]
0x1fc1	0x117C1	F	Vid_BlitTile	IDA Vid_BlitTile16x12
0x2058	0x11858	F	Vid_DrawString	
0x208c	0x1188C	F	Vid_DrawStringEx	sub_1188C; second Vid_DrawGlyph caller
0x2220	0x11A20	F	Ui_DrawWidget	sub_11A20; service 0x0A; 16x36 tiles from the sheet
0x2448	0x11C48	F	Con_ResolveDestPtr	
0x2612	0x11E12	F	Save_LoadGame	service 0x0B
0x2739	0x11F39	F	Save_WriteGame	service 0x23
0x283f	0x1203F	F	Save_SlotScan	
0x2870	0x12070	F	File_ExistsProbe	
0x2883	0x12083	F	Con_DiskPresentCheck	
0x28ff	0x120FF	F	Int0FE_ClientA	sub_120FF
0x29fd	0x121FD	F	Int0FE_ClientB	sub_121FD
0x2bd4	0x123D4	F	Con_LoadRecordPlus1E	service 0x19
0x2bf9	0x123F9	F	Con_LoadRec22Images	service 0x1A
0x30f7	0x128F7	F	Con_PromptDisk	sub_128F7; inferred from call sites
0x31ad	0x129AD	F	Vid_PutPixel	
0x35ba	0x12DBA	F	Vid_SpriteDispatch	IDA Vid_FlushCanvas_Mono; branches on mode 0-5
0x35e7	0x12DE7	F	Vid_SpriteCga	mode 1
0x368c	0x12E8C	F	Vid_SpriteEga	IDA Vid_FlushCanvas_EGA; mode 2
0x3721	0x12F21	F	Vid_SpriteHerc	mode 3
0x3780	0x12F80	F	Vid_SpriteAmstrad	IDA Vid_FlushCanvas_CGA16; mode 0
0x3913	0x13113	F	Vid_SpriteTandy	mode 4
0x3984	0x13184	F	Vid_SpriteVga	mode 5
0x4480	0x13C80	F	Far_ResolveDest	sub_13C80
0x479f	0x13F9F	F	Con_ReadRecord	
0x48df	0x140DF	F	Con_SeekAbs	
0x48ec	0x140EC	F	Con_OpenArchive	
0x49d9	0x141D9	F	Mau_LoadFiles	service 0x28
0x4a8c	0x1428C	F	Ui_CaptureSpriteSheet	sub_1428C; service 0x17
0x50bc	0x148BC	F	Demo_Init	sub_148BC; service 0x2B
0x5130	0x14930	F	Img_Decode	sub_14930; far entry 0x493:0
0x5771	0x14F71	F	Img_ReadRunLen	
0x578f	0x14F8F	F	Img_ReadNibble	
0x57b4	0x14FB4	F	Img_SampleRle	
0x57d4	0x14FD4	F	Img_NegStepDe	
0x57df	0x14FDF	F	Img_NegStepE2	
0x57ea	0x14FEA	F	Img_DiagSkip	
0x57f9	0x14FF9	F	Img_DiagLine	
0x5810	0x15010	F	Img_DiagCheck	
0x582a	0x1502A	F	Img_DiagStep	
0x5831	0x15031	F	Img_ScanDiagonal	
0x5928	0x15128	F	Img_ScanBandsV	
0x5a3e	0x1523E	F	Img_ScanBandsH	
0x5b23	0x15323	F	Img_PadWidth	
0x5b39	0x15339	F	Img_TrackBounds	
0x541f	0x14C1F	F	Img_Mode01_SerpentineRows	
0x5463	0x14C63	F	Img_Mode02_SerpentineCols	
0x5499	0x14C99	F	Img_Mode03	
0x54a4	0x14CA4	F	Img_Mode04	
0x54af	0x14CAF	F	Img_Mode05	
0x54ba	0x14CBA	F	Img_Mode06	
0x54c5	0x14CC5	F	Img_Mode07_Rows	
0x54f0	0x14CF0	F	Img_Mode08_Cols	
0x5510	0x14D10	F	Img_Mode09	
0x551b	0x14D1B	F	Img_Mode10	
0x5526	0x14D26	F	Img_Mode11	
0x561f	0x14E1F	F	Img_Mode12	
0x5643	0x14E43	F	Img_Mode13	
0x566a	0x14E6A	F	Img_Mode14	
0x568b	0x14E8B	F	Img_Mode15	
0x56b2	0x14EB2	F	Img_Mode16	
0x56d6	0x14ED6	F	Img_Mode17	
0x56fd	0x14EFD	F	Img_Mode18	
0x5f2e	0x1572E	F	Far_Normalize	
0x5fc3	0x157C3	F	Txt_DrawIndexed	sub_157C3; service 9
0x6238	0x15A38	F	Vid_DrawTextLines	service 2
0x7704	0x16F04	F	Intro_Run	IDA Font_LoadCharset
0x7907	0x17107	F	Intro_OpCopyPage	script opcode 0
0x7926	0x17126	F	Intro_OpLoadPicture	IDA Font_LoadStrings; opcode 4
0x796b	0x1716B	F	Intro_OpSvc12	opcode 8
0x79a4	0x171A4	F	Intro_OpShowCredit	sub_171A4; opcode 0xC
0x7ad7	0x172D7	F	Intro_OpTimed	opcode 0x10; inferred
0x7b1b	0x1731B	F	Intro_OpOther	
0x7b1f	0x1731F	F	Far_ParaToPtr	sub_1731F
0x7b3c	0x1733C	F	Font_ByteswapBlock	
0x7b4a	0x1734A	F	Font_SelectDescriptor	
0x7e1d	0x1761D	F	Huf_LoadFile	
0x7f66	0x17766	F	Huf_PostLoadInit	
0x7f9d	0x1779D	F	Huf_PostLoadInit2	
0x7ff3	0x177F3	F	Huf_DecomposePos	
0x801c	0x1781C	F	Huf_LoadRec27Music	reads rec 0x27 subs 9 and 10
0x9ff8	0x197F8	F	Lz_ReadBit	
0xa055	0x19855	F	Lz_ReadByte	
0xa0af	0x198AF	F	Lz_BitInit	
0xa158	0x19958	F	Lz_RebuildTree	
0xa2ce	0x19ACE	F	Lz_UpdateTree	
0xa3d6	0x19BD6	F	Lz_ReadToken	
0xa414	0x19C14	F	Lz_ReadDistance	
0xa46a	0x19C6A	F	Lz_Decompress	
0xa592	0x19D92	F	Lz_DecompressFar	
0x5c79	0x15479	F	Mem_SumBytes	INT 0FEh service 0x01
0x1a59	0x11259	F	Mem_PeekByte	INT 0FEh service 0x03
0x1a73	0x11273	F	Mem_PeekBE16	INT 0FEh service 0x04
0x1a8c	0x1128C	F	Mem_PeekBE32	INT 0FEh service 0x05
0x5cec	0x154EC	F	Mem_SumBE16	INT 0FEh service 0x06
0x1b31	0x11331	F	Sys_GetResidentVarPtr	INT 0FEh service 0x07
0x23e6	0x11BE6	F	Svc08	INT 0FEh service 0x08, role not established
0x4087	0x13887	F	Svc0C	INT 0FEh service 0x0C, role not established
0x245a	0x11C5A	F	Vid_ClearRect	INT 0FEh service 0x0D
0x46aa	0x13EAA	F	Img_Draw	INT 0FEh service 0x0E
0x5b54	0x15354	F	Table_GetEntry	INT 0FEh service 0x0F
0x4492	0x13C92	F	Svc10	INT 0FEh service 0x10, role not established
0x40c6	0x138C6	F	Svc11	INT 0FEh service 0x11, role not established
0x82b8	0x17AB8	F	Svc12	INT 0FEh service 0x12, role not established
0x2ff7	0x127F7	F	Svc13	INT 0FEh service 0x13, role not established
0x651f	0x15D1F	F	Svc14	INT 0FEh service 0x14, role not established
0x5dd1	0x155D1	F	Rand_Range	INT 0FEh service 0x15
0x5def	0x155EF	F	Svc16	INT 0FEh service 0x16, role not established
0x2e40	0x12640	F	Con_LoadRoom	INT 0FEh service 0x18
0x2d83	0x12583	F	Con_LoadRec23	INT 0FEh service 0x1B
0x5eed	0x156ED	F	Vid_CopyRect	INT 0FEh service 0x1D
0x6eed	0x166ED	F	Speech_Say	INT 0FEh service 0x1E
0x1aad	0x112AD	F	Mem_PokeByte	INT 0FEh service 0x1F
0x1ac6	0x112C6	F	Mem_PokeBE16	INT 0FEh service 0x20
0x1ae0	0x112E0	F	Mem_PokeBE32	INT 0FEh service 0x21
0x5f40	0x15740	F	Svc22	INT 0FEh service 0x22, role not established
0x22c0	0x11AC0	F	Svc24	INT 0FEh service 0x24, role not established
0x405f	0x1385F	F	Svc25	INT 0FEh service 0x25, role not established
0x1b07	0x11307	F	Table_EntrySize	INT 0FEh service 0x26
0x24cd	0x11CCD	F	Vid_DrawLine	INT 0FEh service 0x27
0x4e5f	0x1465F	F	Pal_TimeOfDayA	INT 0FEh service 0x29
0x4fc3	0x147C3	F	Pal_TimeOfDayB	INT 0FEh service 0x2A
0x7d15	0x17515	F	Snd_PlayMusic	INT 0FEh service 0x2C
0x7d3b	0x1753B	F	Snd_Stop	INT 0FEh service 0x2D
0x7d4a	0x1754A	F	Svc2E	INT 0FEh service 0x2E, role not established
0x7d7c	0x1757C	F	Svc2F	INT 0FEh service 0x2F, role not established
0x7ded	0x175ED	F	Svc30	INT 0FEh service 0x30, role not established
0x8167	0x17967	F	Time_DelayShort	INT 0FEh service 0x31
0x8183	0x17983	F	Svc32	INT 0FEh service 0x32, role not established
0x8839	0x18039	F	Time_Delay	INT 0FEh service 0x33
0xb025	0x1A825	D	aAdapterNames	AMS CGA EGA HER TAN VGA, 3 bytes each
0xb049	0x1A849	D	Txt_CodePage0	
0xb066	0x1A866	D	Txt_CodePage1	code 0x1E
0xb083	0x1A883	D	Txt_CodePage2	code 0x1F
0xb0ae	0x1A8AE	D	bBlitViaPutPixel	IDA bGlyphDirectStore; 1 selects Vid_PutPixel
0xb0b2	0x1A8B2	D	wVideoMode	
0xb0b4	0x1A8B4	D	wPageSeg	IDA wConStagingSeg; draw target page
0xb0b6	0x1A8B6	D	wTextColorCur	IDA wGlyphRowPitch
0xb18b	0x1A98B	D	aSauvegame	
0xb198	0x1A998	D	aG1Con	
0xb19f	0x1A99F	D	aG2Con	
0xb1a6	0x1A9A6	D	aG3Con	
0xb263	0x1AA63	D	hConFile	
0xb27f	0x1AA7F	D	wConRecord	
0xb291	0x1AA91	D	bConCurrentDisk	IDA bConOpenState
0xb292	0x1AA92	D	bConDiskLayoutVariant	0 other media, 1 F9h, 2 F8h hard disk
0xb28d	0x1AA8D	D	wConPayloadLen	
0xb4f8	0x1ACF8	D	bConRecordDiskMap0	
0xb525	0x1AD25	D	bConRecordDiskMap1	
0xb552	0x1AD52	D	wConRecordToArchive	
0xb5ac	0x1ADAC	D	ConOfs_Disk1	
0xb600	0x1AE00	D	ConOfs_Disk2	
0xb618	0x1AE18	D	ConOfs_Disk3	
0xb62c	0x1AE2C	D	ConOfs_Disk4	
0xb644	0x1AE44	D	ConOfs_Disk5	
0xb650	0x1AE50	D	ConOfs_Disk6	
0xb664	0x1AE64	D	wConArchiveSentinels	
0xb6c0	0x1AEC0	D	ConRecIndexBuf	
0xb6c8	0x1AEC8	D	aConNames	G1.CON to G6.CON
0xb6f2	0x1AEF2	D	aSaupMau	
0xb6fb	0x1AEFB	D	aDemofrMau	
0xb706	0x1AF06	D	DemoFrBuf	
0xacc8	0x1A4C8	D	pFontBlock2Ofs	
0xacca	0x1A4CA	D	pFontBlock2Seg	
0xacd4	0x1A4D4	D	wFontDescSeg	
0xacd6	0x1A4D6	D	wFontDescOfs	
0xacd8	0x1A4D8	D	wSheetOfs	IDA wVidCanvasOfs
0xacda	0x1A4DA	D	wSheetSeg	IDA wVidCanvasSeg
0xacdc	0x1A4DC	D	wArena2Ofs	
0xacde	0x1A4DE	D	wArena2Seg	
0xacf4	0x1A4F4	D	wTextColor	IDA word_1A4F4
0xacf6	0x1A4F6	D	wCanvasX	
0xacf8	0x1A4F8	D	wCanvasY	
0xacfa	0x1A4FA	D	wScratchSeg	
0xad16	0x1A516	D	bSoundCard	IDA bHufIndexVariant; 0 none, 1 other card, 2 Sound Blaster
0xb296	0x1AA96	D	abDacChannelTables	3-bit channel to 6-bit DAC value, 8 bytes each for R, G, B
0xb2ae	0x1AAAE	D	abDacOrder	palette entry to DAC register: the four bits reversed
0xad17	0x1A517	D	wSbPort	
0xad19	0x1A519	D	bInInt0FE	
0xb240	0x1AA40	D	bImgFillFirst	
0xc142	0x1B942	D	FontDesc8Row	
0xcb31	0x1C331	D	FontDesc7Row	
0xc726	0x1BF26	D	IntroCreditBits	
0xc81d	0x1C01D	D	IntroCreditSizes	
0xc845	0x1C045	D	IntroScript	
0xd077	0x1C877	D	FontBlock2	IDA unk_1C877
0xd23d	0x1CA3D	D	FontBlock3	IDA unk_1CA3D
0xd3ab	0x1CBAB	D	IntroStringBuf	IDA unk_1CBAB
0xd3eb	0x1CBEB	D	unkPublishedByIntro	IDA named it unk_1CBE8; real EA 0x1CBEB
0xd42b	0x1CC2B	D	wPage2Seg	IDA word_1CC2B
0xd438	0x1CC38	D	wIntroSegA	
0xd43a	0x1CC3A	D	wIntroOfsA	
0xd434	0x1CC34	D	wIntroSegB	
0xd436	0x1CC36	D	wIntroOfsB	
0xd44a	0x1CC4A	D	wLzInOfs	
0xd44c	0x1CC4C	D	wLzInSeg	
0xd44e	0x1CC4E	D	wLzOutOfs	
0xd450	0x1CC50	D	wLzOutSeg	
0xd452	0x1CC52	D	wLzProducedLen	
0xd460	0x1CC60	D	HufStreamTab	
0xd55a	0x1CD5A	D	HufStreamRemap	
0xd594	0x1CD94	D	aMusHuf	
0xd59c	0x1CD9C	D	aSndHuf	
0xda52	0x1D252	D	wLzOutLimitLo	
0xda54	0x1D254	D	wLzOutLimitHi	
0xda5a	0x1D25A	D	wLzProgressLimitLo	IDA wLzChunkLimitLo; bookkeeping only
0xda5c	0x1D25C	D	wLzProgressLimitHi	
0xda5e	0x1D25E	D	LzDist_ExtraBits	
0xdb5e	0x1D35E	D	LzDist_BaseBits	
0xdc5e	0x1D45E	D	wLzBitBuf	
0xdc60	0x1D460	D	bLzBitCnt	
