[Scummvm-tracker] [ScummVM :: Bugs] #15049: FREESCAPE: DOS/CGA render mode need work

ScummVM :: Bugs trac at scummvm.org
Mon Oct 21 02:19:21 UTC 2024


#15049: FREESCAPE: DOS/CGA render mode need work
------------------------+--------------------------------
Reporter:  neuromancer  |       Owner:  neuromancer
    Type:  defect       |      Status:  new
Priority:  normal       |   Component:  Engine: Freescape
 Version:               |  Resolution:
Keywords:               |        Game:
------------------------+--------------------------------
Comment (by shdon):

 The palette selection is made using a very basic check. From disassembling
 the DRILLC.EXE, I find this code:
 {{{
 mov ah, 0B
 mov bx, 0100
 test byte ptr ds:[1E5F], 01
 jne $+1
 inc bx
 int 10
 }}}
 This is a call to INT 10h AH=0B BH=01 which selects the palette according
 to what is in BL (if BL=0 it sets black/green/red/brown, if BL=1 it sets
 black/cyan/magenta/grey). The determining factor is whether the byte at
 offset [1E5F] is odd or even. For even values, palette 1 is used; for odd
 values, palette 0 is used. The byte at offset [1E5F] is the room ID. So
 basically, rooms with an odd room ID use red/green/brown and rooms with an
 even room ID use cyan/magenta/grey.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15049#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list