[Back to Index]

  
[00:02] <mataniko> don't get your hopes up that much :)
[00:03] <mataniko> doesn't look like SM is actually doing anything
[00:03] <mataniko> weird
[00:03] <-- SylvainTV left irc: Read error: Connection reset by peer
[00:04] <mataniko> not just the screen
[00:04] <mataniko> but data overview
[00:04] <dreammaster> I feel likewise. It's good to have another reverse engineerer around :)
[00:04] <dreammaster> DosBox can be a bit fiddly about the data view on the memory screen. It can take a bit before the "hardware" refresh kicks in, and sometimes, the game's own code gets in the way, and repaints over the pixels you changed :P
[00:06] <snover> so heres an important question: are you running dosbox with normal core?
[00:06] <dreammaster> Oh.. yes.. that's a very good point
[00:07] <dreammaster> I've been using the same self-built version of DosBox with heavy debug for the last five years at least, passing it from system to new system, so I haven't had to think about the build settings in ages
[00:12] <dreammaster> Nor the dosbox.conf file, in this case
[00:13] <snover> IIRC you always get the normal core regardless of build, it just needs to be set in the dosbox.conf
[00:25] <mataniko> good question
[00:25] <mataniko> i'm using the build linked from the wiki
[00:26] <mataniko> http://source.dosbox.com/dosbox-74-debug.exe
[00:27] <mataniko> nm
[00:28] <mataniko> thats not a build setting
[00:28] <mataniko> just a conf
[00:28] <mataniko> auto, should it be normal?
[00:28] <mataniko> and i missed your whole last line
[00:29] <mataniko> :)
[00:29] <snover> http://www.dosbox.com/wiki/Configuration:CPU#core_.3D_simple_.7C_normal.7C_dynamic_.7C_auto information about the different options
[00:39] <mataniko> ok i definitely manager to scramble some pixels
[00:39] <mataniko> but not in a way i'd expect
[00:40] <mataniko> i've set the first few pixels in a row to white, but i'm seeing a weird patter
[00:40] <mataniko> so getting somewhere
[00:42] <mataniko> there's definitely an offset
[00:43] <dreammaster> Entirely possible. The VGA card had registers allowing for shifting screen offsets so to allow for smooth scrolling, shaking the screen, and so on
[00:44] <dreammaster> Though uncommon to see it in action unless scrolling was actually in progress, so it's likely not relevant in this case
[01:02] <-- ST1 left irc: Ping timeout: 255 seconds
[01:19] --> omer_mor joined #scummvm.
[01:21] <-- omer_mor_ left irc: Ping timeout: 258 seconds
[01:55] --> DominusExult joined #scummvm.
[01:57] <-- Dominus left irc: Ping timeout: 260 seconds
[01:57] Nick change: DominusExult -> Dominus
[03:28] <mataniko> i've set a000:5cd6-5cdd to FF and i see a change in the pixel at a000:7359 and every 4 bytes after that
[03:28] <mataniko> for the 8 bytes i changed
[03:29] <mataniko> sorry not byte, pixel
[03:35] <mataniko> and looking at the BMP, i can't fin any of the surrounding pixels
[03:36] <snover> mataniko: what are you looking to find out by poking at the vram?
[03:36] <mataniko> how these BMPs are drawn
[03:37] <mataniko> non-standard BMPs
[03:37] <mataniko> and also how to find a pixel, since it doesn't seem to be a 1:1 mapping with memory
[03:37] <mataniko> just going in the direction http://wiki.scummvm.org/index.php/HOWTO-Reverse_Engineering recommends
[03:39] <dreammaster> Hey. From the sounds of it, it's using a non-standard mode where every pixel in sets of 4 gets mapped to a different plane
[03:40] <dreammaster> With plane mapping, you output a special value to one of the ports, and it swaps in a different plane to occupy the same memory addresses.
[03:41] <dreammaster> As you can imagine, in cases like this, it gets much more complicated to keep track of any drawing the game does :P
[03:41] <mataniko> yep that sounds complicated
[03:42] <dreammaster> It's the same kind of problems faced when dealing with EGA code, since the EGA uses planes as well
[03:42] <dreammaster> Though in the EGA's case, it uses four planes which represent each bit of pixels, which can be one of 16 colors (4 bits).
[03:42] <snover> looking at some freevga documentation it seems like this could be verified by inspecting the graphics mode registers write mode
[03:43] <dreammaster> So each byte handles 8 pixels, with the plane select determining which bit of each of the 8 pixels will be altered
[03:43] <dreammaster> At least in this case, it sounds like bytes are mapping to single pixels at a time, it's just the plane select is being used to select which pixels are being altered. So it's somewhat simpler
[03:44] <snover> luckily i have been able to avoid most of this hardware stuff so far by not working on such old games ;)
[03:44] <mataniko> so basically we're in planar mode and not linear
[03:44] <mataniko> i think i understand, 2 bits control the plane and 2 bits control the color
[03:45] <mataniko> so you have plane 0-3 to control which pixel is colored
[03:51] <mataniko> ok not really, 0f 0f is the same patter, but now white
[03:51] <mataniko> pattern
[03:55] <dreammaster> That's weird. But it may still be a case of planes selecting pixel. Unless setting a byte to FF changes the color of multiple pixels. In which case, it's just a standard bit-plane display mode
[03:58] <dreammaster> Anyway, bed time for me. So goodnight. And good luck with your experiments
[03:58] <mataniko> thanks
[03:58] <-- dreammaster left irc:
[04:02] <mataniko> ok i don't understand whats going on here yet, every few frames the changes i do in memory reset and the picture looks good, and then my changes appear again
[04:02] <mataniko> so if the program is running full speed there's a flicker
[04:02] <mataniko> anyway, bed tim
[04:03] <mataniko> e
[05:02] --> omer_mor_ joined #scummvm.
[05:05] <-- omer_mor left irc: Ping timeout: 260 seconds
[05:20] --> omer_mor joined #scummvm.
[05:22] <-- omer_mor_ left irc: Ping timeout: 240 seconds
[05:45] --> waltervn joined #scummvm.
[05:45] #scummvm: mode change '+o waltervn' by ChanServ!ChanServ@services.
[05:45] <-- Lightkey left irc: Ping timeout: 255 seconds
[05:57] --> omer_mor_ joined #scummvm.
[05:59] <-- omer_mor left irc: Ping timeout: 246 seconds
[05:59] --> Lightkey joined #scummvm.
[06:07] --> _sev_ joined #scummvm.
[06:07] #scummvm: mode change '+o _sev_' by ChanServ!ChanServ@services.
[06:08] <-- _sev left irc: Ping timeout: 258 seconds
[06:32] --> m_kiewitz joined #scummvm.
[06:32] <-- m_kiewitz left irc: Changing host
[06:32] --> m_kiewitz joined #scummvm.
[06:32] #scummvm: mode change '+o m_kiewitz' by ChanServ!ChanServ@services.
[06:49] <-- LittleToonCat left irc: Remote host closed the connection
[07:18] --> omer_mor joined #scummvm.
[07:20] <-- omer_mor_ left irc: Ping timeout: 246 seconds
[07:29] <-- _sev|work left irc: Quit: This computer has gone to sleep
[07:42] --> exmensa joined #scummvm.
[07:42] <-- exmensa_ left irc: Read error: Connection reset by peer
[08:02] --> omer_mor_ joined #scummvm.
[08:04] <-- omer_mor left irc: Ping timeout: 268 seconds
[08:10] <-- TMM left irc: Quit: Ex-Chat
[08:23] --> t0by joined #scummvm.
[08:23] <-- t0by left irc: Changing host
[08:23] --> t0by joined #scummvm.
[08:23] #scummvm: mode change '+o t0by' by ChanServ!ChanServ@services.
[08:26] <t0by> Yay 3ds.
[08:35] --> Cheeseness joined #scummvm.
[08:42] <-- user9 left irc: Ping timeout: 240 seconds
[08:50] <logix> what's with 3ds?
[08:50] <Harekiet> scummvm now renders games in 3ds layering....
[08:51] <logix> oh man... I just wanted to suggest exactly that
[08:51] <Harekiet> seems unlikely, just scummvm running on a 3ds in 2d :)
[08:51] <logix> I had already started typing "heh, crazy idea", then I saw what you wrote
[08:51] <logix> oh, ok... but "normal scummvm" on 3ds has been around for quite some time, hasn't it?
[08:52] <logix> huh, not on the dl page, I must be confused
[08:52] <Harekiet> I have no idea, hardly tried any custom stuff on my 3ds
[08:53] --> ST joined #scummvm.
[08:53] #scummvm: mode change '+o ST' by ChanServ!ChanServ@services.
[08:53] --> Stormkpr joined #scummvm.
[08:54] <logix> I built/played scummvm a bit for the nds in 2008 or so, that was the last time I played it on a mobile platform
[08:54] <logix> (other than a laptop)
[08:56] <-- Stormkeeper left irc: Ping timeout: 240 seconds
[08:56] <Harekiet> yeh I tried scummvm with dott on my nds back then, but I remember nds having issues with executable size, must have been a hell to build/maintain :)
[08:57] --> Strangerke_ joined #scummvm.
[08:59] <-- Strangerke left irc: Ping timeout: 240 seconds
[08:59] Nick change: Strangerke_ -> Strangerke
[09:08] --> TMM joined #scummvm.
[09:08] #scummvm: mode change '+o TMM' by ChanServ!ChanServ@services.
[09:16] <-- Harekiet left irc: Remote host closed the connection
[09:17] --> Harekiet joined #scummvm.
[09:44] <-- t0by left irc: Quit: t0by
[09:46] --> salty-horse joined #scummvm.
[09:46] #scummvm: mode change '+o salty-horse' by ChanServ!ChanServ@services.
[10:22] --> Begasus joined #scummvm.
[10:31] --> user9 joined #scummvm.
[10:31] --> ajax16384 joined #scummvm.
[10:31] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services.
[10:37] <logix> Harekiet: yeah, I seem to remember that there were two builds, one that supported the dig, the other that supported the rest or something
[10:38] <logix> and that was back when scummvm was scumm-only, not even agi (at least that's how I recall it, that might be not exactly right...)
[10:39] <logix> mh, agi was merged in back in 2006, so perhaps it actually already did support agi when I tried it on the nds
[10:48] <-- Strangerke|work left irc: Ping timeout: 260 seconds
[11:39] <Harekiet> logix probably easier on 3ds indeed, but now they just gotta add that 3d effect :)
[11:40] --> Strangerke|work joined #scummvm.
[11:54] <mataniko> scummvm on the 3ds is frustrating :(
[11:54] <mataniko> the top screen always looks like theres a filter applied
[11:54] <mataniko> and not pixel perfect
[12:04] <logix> hm, as there are no recent scummvm builds for the DS, I decided to give it a try and start by building 1.2.0 (the last for which a build is available) - _host-alias there is set to arm-eabi, but in my devkitarm it's arm-none-eabi...
[12:05] <logix> I wonder if I messed up that devkitarm build or if they changed that at some point
[12:13] --> rootfather joined #scummvm.
[12:17] --> Begas_VBox joined #scummvm.
[12:20] <wjp> probably changed at some point
[12:21] <logix> yeah, I *just* found it, it was changed in june 2012
[12:21] <logix> https://github.com/devkitPro/buildscripts/commit/c9b0f0a9931b6045ca72f35e1b2aad5614ee4078#diff-a1c5a54201f9ec5041441aaec962b7ad
[12:39] <-- rootfather left irc: Read error: Connection reset by peer
[13:53] <-- Mia left irc: Read error: Connection reset by peer
[13:55] --> Mia joined #scummvm.
[13:59] <-- Begasus left irc: Ping timeout: 246 seconds
[14:12] --> Begasus joined #scummvm.
[15:01] --> Henke37 joined #scummvm.
[15:18] --> Strangerke_ joined #scummvm.
[15:20] <-- Strangerke left irc: Ping timeout: 258 seconds
[15:20] Nick change: Strangerke_ -> Strangerke
[15:24] <-- TMM left irc: Quit: Ex-Chat
[15:37] --> Joefish joined #scummvm.
[15:37] #scummvm: mode change '+v Joefish' by ChanServ!ChanServ@services.
[15:45] --> LittleToonCat joined #scummvm.
[15:49] --> ny00123 joined #scummvm.
[16:04] <-- ajax16384 left irc: Quit: Leaving
[16:07] --> WooShell joined #scummvm.
[16:09] <WooShell> meow =^.^=
[16:11] <madmoose> WooShell: Mooh
[16:12] <Strangerke|work> zog zog
[16:13] <-- Harekiet left irc: Ping timeout: 272 seconds
[16:26] --> ajax16384 joined #scummvm.
[16:26] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services.


[16:44] <-- Begasus left irc: Ping timeout: 255 seconds
[16:55] <-- Joefish left irc: Ping timeout: 245 seconds
[16:57] --> Begasus joined #scummvm.
[17:05] --> Farmboy0 joined #scummvm.
[17:05] <-- Farmboy0 left irc: Changing host
[17:05] --> Farmboy0 joined #scummvm.
[17:07] --> Vampire0_ joined #scummvm.
[17:07] --> omer_mor joined #scummvm.
[17:08] <-- Vampire0 left irc: Ping timeout: 260 seconds
[17:09] <-- omer_mor_ left irc: Ping timeout: 258 seconds
[17:13] --> TMM joined #scummvm.
[17:13] #scummvm: mode change '+o TMM' by ChanServ!ChanServ@services.
[17:47] --> SylvainTV joined #scummvm.
[17:47] #scummvm: mode change '+o SylvainTV' by ChanServ!ChanServ@services.
[17:56] --> Strangerke_ joined #scummvm.
[17:58] <-- Strangerke left irc: Ping timeout: 246 seconds
[17:58] Nick change: Strangerke_ -> Strangerke
[18:26] --> Joefish joined #scummvm.
[18:26] #scummvm: mode change '+v Joefish' by ChanServ!ChanServ@services.
[18:30] --> girafe joined #scummvm.
[18:32] --> frankyboy_ joined #scummvm.
[19:26] <-- salty-horse left irc: Quit: Leaving
[19:40] --> omer_mor_ joined #scummvm.
[19:42] <-- omer_mor left irc: Ping timeout: 240 seconds
[19:50] <snover> aaaaaaaaaaaaa!
[19:50] <snover> so much trouble caused by someone writing `ObjMap objects` instead of `ObjMap &objects`
[19:54] <snover> i am surprised this didnt break many more things
[19:55] --> Harekiet joined #scummvm.
[19:55] <wjp> ouch
[19:56] <wjp> the one for 'Failed to locate base object' ?
[19:57] <snover> there, and earlier in the same function
[19:57] <wjp> but the earlier one looks harmless (but inefficient)
[19:58] <wjp> oh, it's when loading
[19:59] <wjp> wow
[20:00] <wjp> scary
[20:00] <wjp> 5969c6bd2e141799d35d68559b9222772917e950 is a bit shocking
[20:05] <Lightkey> twitch.tv/gogcom the LoLing continues
[20:05] <snover> i spent so much time being utterly dumbfounded about why i could not seem to get names to stay restored on objects when loading from a save game, even though i *knew* they were being applied, until i finally put in a memory watchpoint and saw that HashMap was copying everything :\
[20:24] <-- Begas_VBox left irc: Quit: Vision[0.9.8]: i've been blurred!
[20:25] <-- Begasus left irc: Quit: Ex-Chat
[20:32] <-- ajax16384 left irc: Read error: Connection reset by peer
[20:44] <snover> i will push a fix one i go back through all my other changes and figure out what *really* needs to be done to set up object names
[20:44] <m_kiewitz> failed to locate base object is finally solved?
[20:47] <snover> probably, since that syncBaseObject call is running on a copy of the object owned by the ObjMap on the stack
[20:48] <snover> (instead of running on the actual object owned by the script)
[20:53] <snover> though& i actually might walk back that statement, since the initBaseObject call returns false only if getSpeciesSelector() doesnt return the address of a valid object
[20:54] <snover> (that objects.erase call isnt doing anything at all though)
[20:59] <-- Henke37 left irc: Quit: ERR_SHUTDOWN
[21:05] --> _sev|work joined #scummvm.
[21:05] <-- _sev|work left irc: Changing host
[21:05] --> _sev|work joined #scummvm.
[21:05] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services.
[21:10] <m_kiewitz> PSA: Dead in Bermuda currently free on Origin
[21:29] <-- waltervn left irc: Quit: Leaving
[21:31] <-- ny00123 left irc: Quit: Leaving
[21:35] <m_kiewitz> snover: i think we should implement the gk1 hires mouse cursors, but only optionally because afaik they were limited to b/w like the win311 cursors
[21:36] <m_kiewitz> im not 100% sure, but even if they had color, imo they also feel weird - like way too tiny. we already have an option to enable windows mouse curors for (some) SCI games
[21:51] <-- Farmboy0 left irc: Remote host closed the connection
[22:16] <snover> m_kiewitz: so this will probably sound like an ignorant question but: what gk1 hires cursors?
[22:21] <-- frankyboy_ left irc: Quit: ...
[22:26] <m_kiewitz> snover: there should be hires cursors, or well maybe they simply used the original 320x200 cursors but without upscaling them
[22:26] <m_kiewitz> i have to check that. in any case, we upscale mouse cursors, so that do not look out of place
[22:27] <snover> the upscaling is intentional, see the comment at cursor32.cpp:188
[22:27] <m_kiewitz> yes i know
[22:27] <m_kiewitz> i actually implemented original sci16 mouse cursor upscaling back then if I remember correctly :P
[22:28] <m_kiewitz> it seems as if sierra simply used the regular cursors but without upscaling
[22:28] <m_kiewitz> they are in color, for sci16 windows versions including kq6 they were black + white
[22:29] <m_kiewitz> so maybe we should make it possible that users can disable said upscaling optionally
[22:29] <-- girafe left irc: Read error: Connection reset by peer
[22:29] <m_kiewitz> or well, wait a moment, the look cursor actually looks hires
[22:32] <m_kiewitz> nah, optical illusion
[22:32] <m_kiewitz> its simply not upscaled and looks sorta hires because of that
[22:39] --> Strangerke_ joined #scummvm.
[22:39] <-- ced117 left irc: Ping timeout: 255 seconds
[22:41] <-- Strangerke left irc: Ping timeout: 240 seconds
[22:41] Nick change: Strangerke_ -> Strangerke
[22:41] --> ced117 joined #scummvm.
[22:52] <snover> i dont know why they bothered to create high-resolution assets for the menu bar but then didnt redraw the cursors, but it is what it is.
[23:00] <m_kiewitz> yeah it's weird
[23:00] <-- ced117 left irc: Ping timeout: 240 seconds
[23:02] <-- Joefish left irc: Ping timeout: 258 seconds
[23:02] --> ced117 joined #scummvm.
[23:04] <m_kiewitz> oh nice, Loom FM Towns
[23:04] <m_kiewitz> http://www.ebay.de/itm/Loom-FM-Towns-LucasArts-Lucasfilm-Games-/332220752373?hash=item4d59e661f5:g:HtMAAOSwLEtYl4iq
[23:04] <m_kiewitz> is this a good price?
[23:04] --> dreammaster joined #scummvm.
[23:04] #scummvm: mode change '+o dreammaster' by ChanServ!ChanServ@services.
[23:05] <-- WooShell left irc: Quit: If you understand or if you don't, if you believe or if you doubt - There's a universal justice, and the eyes of truth are always watching you.
[23:28] <-- m_kiewitz left irc: Quit: technology isn't intrinsically good or evil. It's how it's used. Like the Death Ray.
[23:33] Nick change: Vampire0_ -> Vampire0
[23:54] <-- SylvainTV left irc: Read error: Connection reset by peer
[00:00] --- Thu May 18 2017