A-SCI: Difference between revisions
Created page with "<div align="center"><div style="font-size: 22pt">A-SCI</div><br /> Version {{UnknownVerTool}}<br />''Author: Enrico Rolfi''<br />2006</div> {{FanSCISoftwareInfobox | Software = A-SCI | Image = 190px<br /> ''A-SCI'' Title Screen | Version = {{UnknownVerTool}} | ReleaseDate = {{2006}}{{CitationReq}} | Company = {{OnLineSystemsTool}} | Published = | Developers = {{EnricoRolfiToolDev}} | Interface = | ProgLanguage = {{C++}} | OpenSource = |..." |
No edit summary |
||
| Line 17: | Line 17: | ||
| License = | | License = | ||
| Type = {{FanSCIDisassemblerTool}}, {{FanSCIAassemblerTool}} | | Type = {{FanSCIDisassemblerTool}}, {{FanSCIAassemblerTool}} | ||
| Engine = | | Engine = {{SCI11Tool}}, {{SCI2Tool}}, {{SCI21Tool}} | ||
| Platform = {{WinTool}} | | Platform = {{WinTool}} | ||
| Localization = {{EnglishTool}} | | Localization = {{EnglishTool}} | ||
Revision as of 12:04, 17 June 2025
A-SCI Title Screen | |||
| Latest Version: | — | ||
|---|---|---|---|
| Release Date: | 2006[1] Citation Required | ||
| Company: | Template:OnLineSystemsTool | ||
| Development Status: | {{{DevStatus}}} | ||
| Publication Status: | |||
| Developer(s): | Enrico Rolfi | ||
| Interface: | |||
| Language: | C++ | ||
| Open Source: | |||
| Source Availability: | No | ||
| License: | |||
| Type: | Disassembler, Template:FanSCIAassemblerTool | ||
| Relevant Engine: | SCI1.1, SCI2, SCI2.1 | ||
| Platform: | Windows | ||
| Localization: | English | ||
| Website: | [https:erolfi.wordpress.com20090619a-sci-assembler-for-sci1-1sci32 A.SCI on Enrico Rolfi's Gaming Tools] | ||
Description
Enrico Rolfi's A-SCI A.SCI, the first Assembler for the Sierra Creative Interpreter versions 1.1 and 2 (SCI32), entirely written in C++.
IMPORTANT NOTE: This is not a compiler; basically, it’s a disassembler with an assembler to reverse the process, which allows for minor changes to games. Use at your own risk! Double check your game after doing deep modifications to it!A-SCI was On-Line Systems's A-SCI is no longer actively maintained.| This article is a tool stub page. You can help the Sierra Wiki by expanding it. |
Features
kernels.pre: Default Kernel call names for SCI 1.1 (16-bit) games. See below.
rdkernel.exe: Extracts Kernel call names from SIERRA.EXE to standard output.
scasm11.exe: Assembler for SCI 1.1 (16-bit) scripts (SCH+SCS -> HEP+SCR).
scasm20.exe: Assembler for SCI 2.x (32-bit) scripts (SCH+SCS -> HEP+SCR).
scdasm11.exe: Disassembler for SCI 1.1 (16-bit) scripts (HEP+SCR -> SCH+SCS).
scdasm20.exe: Disassembler for SCI 2.x (32-bit) scripts (HEP+SCR -> SCH+SCS).
The heap sources are saved in a separate source file because I found
that this makes it easier for me to find my way through it, and because
it's easier for the assembler to handle as well. It pays off having a
text editor that can open multiple files, I guess... :)
Old SCI0 and SCI1 games, where heap and code are combined, are not supported.
Requirements
Version History
Development Status
Unmaintained
Options
Download
Download from here:
Known issues
- * Object overloading (i.e. having both Actor "FreshHound" and Talker
"FreshHound" in the same script) is not supported. Fortunately, I've never come across a game that needed this.
- Don't do any fancy stuff within strings --- "\n" is supported. OEM
special accented characters are supported, too, but don't try things like "\0" or "blah\x22\x34".
- The assembler does not always use the most efficient coding form ---
for example, jumps are ALWAYS 3-byte instructions, even if a 2-byte one would do the job. This is because the jump distance is only known once symbol references are resolved, which happens after assembly.
- The LEA instruction is not disassembled into clear text. It is however
reassembled properly. Therefore you shouldn't mess around with it. :)
Credits
References
Also See