Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Neurion
Jun 3, 2013

The musical fruit
The more you eat
The more you hoot

SupSuper posted:

That's really cool. Any chance you could explain your process or what resources you used to poke around an old 16-bit executable and figure out what's what?
I've always been curious about reversing old games, but have never gotten further than hex editing resource formats. There seems to be very few information on actually dealing with executables, and they all seem to just describe the results (rather than the process) and assume everyone can intuitively figure out something as crazy complex as IDA.

Like the poster mentioned above, TIE Fighter runs as 32-bit in protected-mode. Because of this I had to load the game in DOSBox's debugger, play to a point that enough of the resources were loaded in, and then do a memory dump of the first 4 MB of DOS memory, where the code and global variables were stored. Unfortunately it looks like TIE allocates memory beyond that point, but that's not a big deal for analyzing the code. Anyways, I opened the memory dump in IDA as a memory dump 'project' and it auto-analyzed and identified what parts of the dump were code. From there I would trace the execution in the DOSBox debugger and follow along and make notes/comments in the disassembly in IDA.

Adbot
ADBOT LOVES YOU

LP0 ON FIRE
Jan 25, 2006

beep boop
I have a domain I was doing nothing with, so I made a spiral graph thingy

http://www.mysterysystem.com











Make cool stuff







Have fun.

e: oh yeah, here's a poo poo load of images I made http://imgur.com/gallery/PCfHc

LP0 ON FIRE fucked around with this message at 14:43 on May 28, 2017

MrMoo
Sep 14, 2000

Thanks Barry, pretty sweet first day for full rollout:

https://twitter.com/CNBCClosingBell/status/868198555336495107
https://twitter.com/barrymanilow/status/868185195727474688

MrMoo fucked around with this message at 01:37 on May 28, 2017

crab avatar
Mar 15, 2006

iŧ Kë3Ł, cħ gøÐ i- <Ecl8

Holy poo poo, all this time I thought that was just a personal project you were doing for fun. That'll look loving great on your CV.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

Nice!

Mezzanine
Aug 23, 2009
Finally have a decent screenshot to post here

Story:
My wife loves turtles. She's been bugging me forever to make "an app where turtles show up and crawl all over your screen and get in the way and you have to shoo them away". Umm, okay

After literally years of "OK, sure, whenever I have a chance...", I finally realized that there must be a way, since Facebook Messenger has those floating avatars, even on the home screen. Turns out that Android lets you add views to the "WindowManager" with a "TYPE_PHONE" flag, which is typically used for cases like phone apps or something that absolutely must be visible at all times, even more important than a sticky notification. So, using a background service, I spawned a few ImageViews and animated them manually, resulting in this



Yes, they really crawl all over your screen, no matter what app you have running. The swipe-down status thing does go over it, however. I'm thinking of releasing it on Google Play with a huge disclaimer "this app does nothing beneficial and actually hurts productivity". I already added a selector so you can choose bugs, spiders etc in addition to turtles.

SystemLogoff
Feb 19, 2011

End Session?

Mezzanine posted:

Finally have a decent screenshot to post here

Story:
My wife loves turtles. She's been bugging me forever to make "an app where turtles show up and crawl all over your screen and get in the way and you have to shoo them away". Umm, okay

After literally years of "OK, sure, whenever I have a chance...", I finally realized that there must be a way, since Facebook Messenger has those floating avatars, even on the home screen. Turns out that Android lets you add views to the "WindowManager" with a "TYPE_PHONE" flag, which is typically used for cases like phone apps or something that absolutely must be visible at all times, even more important than a sticky notification. So, using a background service, I spawned a few ImageViews and animated them manually, resulting in this



Yes, they really crawl all over your screen, no matter what app you have running. The swipe-down status thing does go over it, however. I'm thinking of releasing it on Google Play with a huge disclaimer "this app does nothing beneficial and actually hurts productivity". I already added a selector so you can choose bugs, spiders etc in addition to turtles.

Release this, add dlc creatures and profit a little.

UraniumAnchor
May 21, 2006

Not a walrus.

Mezzanine posted:

Finally have a decent screenshot to post here

Story:
My wife loves turtles. She's been bugging me forever to make "an app where turtles show up and crawl all over your screen and get in the way and you have to shoo them away". Umm, okay

After literally years of "OK, sure, whenever I have a chance...", I finally realized that there must be a way, since Facebook Messenger has those floating avatars, even on the home screen. Turns out that Android lets you add views to the "WindowManager" with a "TYPE_PHONE" flag, which is typically used for cases like phone apps or something that absolutely must be visible at all times, even more important than a sticky notification. So, using a background service, I spawned a few ImageViews and animated them manually, resulting in this



Yes, they really crawl all over your screen, no matter what app you have running. The swipe-down status thing does go over it, however. I'm thinking of releasing it on Google Play with a huge disclaimer "this app does nothing beneficial and actually hurts productivity". I already added a selector so you can choose bugs, spiders etc in addition to turtles.

At work we like to prank each other with turtle related media. PLEASE put this up somewhere, I absolutely need to install it on our Android test devices.

Sereri
Sep 30, 2008

awwwrigami

Mezzanine posted:

Finally have a decent screenshot to post here

Story:
My wife loves turtles. She's been bugging me forever to make "an app where turtles show up and crawl all over your screen and get in the way and you have to shoo them away". Umm, okay

After literally years of "OK, sure, whenever I have a chance...", I finally realized that there must be a way, since Facebook Messenger has those floating avatars, even on the home screen. Turns out that Android lets you add views to the "WindowManager" with a "TYPE_PHONE" flag, which is typically used for cases like phone apps or something that absolutely must be visible at all times, even more important than a sticky notification. So, using a background service, I spawned a few ImageViews and animated them manually, resulting in this



Yes, they really crawl all over your screen, no matter what app you have running. The swipe-down status thing does go over it, however. I'm thinking of releasing it on Google Play with a huge disclaimer "this app does nothing beneficial and actually hurts productivity". I already added a selector so you can choose bugs, spiders etc in addition to turtles.

That's really great and I'd love to see this on my phone. Make it so I can IAP some more creatures.

Also: accept the new frog :argh:

Mezzanine
Aug 23, 2009
Wow, I guess I'll have to release it, then. Although managing IAP is a pain in the rear end, so I might just take the lazy route and do a free version and "pro" version.

Also, there's another SA app? I thought I had the good one already

crazysim
May 23, 2004
I AM SOOOOO GAY

Mezzanine posted:

Finally have a decent screenshot to post here

Story:
My wife loves turtles. She's been bugging me forever to make "an app where turtles show up and crawl all over your screen and get in the way and you have to shoo them away". Umm, okay

After literally years of "OK, sure, whenever I have a chance...", I finally realized that there must be a way, since Facebook Messenger has those floating avatars, even on the home screen. Turns out that Android lets you add views to the "WindowManager" with a "TYPE_PHONE" flag, which is typically used for cases like phone apps or something that absolutely must be visible at all times, even more important than a sticky notification. So, using a background service, I spawned a few ImageViews and animated them manually, resulting in this



Yes, they really crawl all over your screen, no matter what app you have running. The swipe-down status thing does go over it, however. I'm thinking of releasing it on Google Play with a huge disclaimer "this app does nothing beneficial and actually hurts productivity". I already added a selector so you can choose bugs, spiders etc in addition to turtles.

On Classic MacOS, I remember there was a custom screensaver, probably of After Dark heritage, that basically idled with cartoon characters interacting with elements and icons on your screen. Things like, tipping the Trash can icon or pointing at Desktop icons.

Unfortunately, I can't seem to find any videos on YouTube on this at all. Wikipedia says there's a "Chameleon" After Dark screensaver module that seems to be just that.

edit: Nevermind, it didn't "interact" with the desktop. https://youtu.be/ZsKYXftB68M?t=69

crazysim fucked around with this message at 16:46 on May 29, 2017

Spatial
Nov 15, 2007

Very cute, nice work dude. :)

Ranzear
Jul 25, 2013

LP0 ON FIRE posted:

I have a domain I was doing nothing with

I always have a few of those. Get idea, buy $5 domain, backburner it. If it comes up for renewal and I haven't started it I'll likely drop it.

Stjarna.Tech - 3D star fox style multiplayer in the atmosphere of a dwarf star. The lower you fly, the faster you store energy, but taking hits, firing, or using your booster depletes that energy. If you have no energy you lose speed and then sink until you burn up or gain enough energy to get going again. Also you have a vision toggle for being able to see up or down (glare or darkness). Stay aloft and make people plummet to their toasty doom.

GranTuris.moe - Top down car game with anime girls? idk

And yesterdays:
YouHaveOneJob.Online - Single-screen multiplayer warioware/.io-ish game, you are a dot amongst many others and you are given a single task to perform (be in the box, don't be in the box, touch somebody, touch nobody, etc) and not everybody has the same task and nobody knows the others' tasks. Everything will be designed to conflict but not exclude. A few players might get "touch the left wall and then the right wall" and a few will get "touch the right wall and then the left wall" and the rest (enough to fill the screen from top to bottom) will have "Stay on this vertical line".

crab avatar
Mar 15, 2006

iŧ Kë3Ł, cħ gøÐ i- <Ecl8

Ranzear posted:

I always have a few of those. Get idea, buy $5 domain, backburner it. If it comes up for renewal and I haven't started it I'll likely drop it.

Stjarna.Tech - 3D star fox style multiplayer in the atmosphere of a dwarf star. The lower you fly, the faster you store energy, but taking hits, firing, or using your booster depletes that energy. If you have no energy you lose speed and then sink until you burn up or gain enough energy to get going again. Also you have a vision toggle for being able to see up or down (glare or darkness). Stay aloft and make people plummet to their toasty doom.

GranTuris.moe - Top down car game with anime girls? idk

And yesterdays:
YouHaveOneJob.Online - Single-screen multiplayer warioware/.io-ish game, you are a dot amongst many others and you are given a single task to perform (be in the box, don't be in the box, touch somebody, touch nobody, etc) and not everybody has the same task and nobody knows the others' tasks. Everything will be designed to conflict but not exclude. A few players might get "touch the left wall and then the right wall" and a few will get "touch the right wall and then the left wall" and the rest (enough to fill the screen from top to bottom) will have "Stay on this vertical line".

Please make all of these

Luigi Thirty
Apr 30, 2006

Emergency confection port.

I dug out my Apple IIGS and I've been playing around with 65816 assembler and the vast array of functions built into the ROM. A week later we have affine transformation of a polygon!

https://twitter.com/LuigiThirty/status/869435501232762880

It's supposed to spin on its center point but it did this awesome spiral thing instead. :toot:

LP0 ON FIRE
Jan 25, 2006

beep boop
That's pretty awesome. The functions built into the ROM are directly accessible from assembly?

Luigi Thirty
Apr 30, 2006

Emergency confection port.

Yeah, there's a bunch of built-in libraries plus some provided by the OS. Everything from an implementation of QuickDraw to a music sequencer.

LP0 ON FIRE
Jan 25, 2006

beep boop

Luigi Thirty posted:

Yeah, there's a bunch of built-in libraries plus some provided by the OS. Everything from an implementation of QuickDraw to a music sequencer.

You should port some of my JavaScript (it's sort of written like poo poo though) from the thing I posted above, since it's just drawing lines made from points over and over onto a canvas, so there's nothing really heavy going on that a IIGS couldn't handle.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

That's pretty much what I'm doing. I wrote a Bresenham algorithm line drawing function and some more functions for rotating and translating points.

Here's a list of all the IIGS tools and their dependencies. (Kind of a clusterfuck but the OS handles them for you in System 6.) It's a very similar API to the Macintosh Toolbox.

Meat Beat Agent
Aug 5, 2007

felonious assault with a sproinging boner

Luigi Thirty posted:

65816 assembler

:getin:

Related: here is an unfinished attempt at cramming a SNES program into 256 bytes of ROM. It's kind of painful when you have to burn a lot of it just to initialize the hardware.

The colors are ugly and I'm not all that satisfied with the actual movement yet, but I'm only working with a 32-byte LUT.

(edit: i finished it)

Meat Beat Agent fucked around with this message at 03:58 on Jun 1, 2017

LP0 ON FIRE
Jan 25, 2006

beep boop
I have an experimental page that you can set quadratic curves. Parameters can be added to the URL that can be recalled, but I need to do whatever to edit the existing parameters on the URL without loading..(not just adding them on) Hopefully browsers still allow you to do this.


Clicky for big

http://mysterysystem.com/indexBig.p...ngesClear=false

Chunjee
Oct 27, 2004

Mezzanine posted:

Wow, I guess I'll have to release it, then. Although managing IAP is a pain in the rear end, so I might just take the lazy route and do a free version and "pro" version.

I think these kind of screen wandering animals are popular in Asian cultures. I saw a useless sheep butler on every phone a few years ago, and its Chinese year of the rooster/chicken atm.

"Machi-chara" I think?

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slgt skal flge slgters gang



LP0 ON FIRE posted:

I have an experimental page that you can set quadratic curves. Parameters can be added to the URL that can be recalled, but I need to do whatever to edit the existing parameters on the URL without loading..(not just adding them on) Hopefully browsers still allow you to do this.


Clicky for big

http://mysterysystem.com/indexBig.p...ngesClear=false

its fun!

a suggestion: some different styles of presets to work from, showing off capabilities etc

also it took a couple of clicks to figure out how to save images. Eventually I saw they're underneath and I can right chlick but then they end up as "Untitled" and I have to to add .jpg. whateves, just fyi

LP0 ON FIRE
Jan 25, 2006

beep boop

Powaqoatse posted:

its fun!

a suggestion: some different styles of presets to work from, showing off capabilities etc

also it took a couple of clicks to figure out how to save images. Eventually I saw they're underneath and I can right chlick but then they end up as "Untitled" and I have to to add .jpg. whateves, just fyi

Presets of examples - that's a good idea!

Yeah when clicking the camera button I should make it scroll or have a little notification saying it's below maybe. I still need to figure out how to apply a file type, MIME or whatever properly. I think by default it is a png if you choose to save the image as or drag it out the window. In Safari, if you click download linked file it won't have any file type applied.

Workaday Wizard
Oct 23, 2009

by Pragmatica

Chunjee posted:

I think these kind of screen wandering animals are popular in Asian cultures. I saw a useless sheep butler on every phone a few years ago, and its Chinese year of the rooster/chicken atm.

"Machi-chara" I think?


Anyone remembers the orange from the windows 98 days?
https://www.youtube.com/watch?v=ABwSzeIIXAw

Luigi Thirty
Apr 30, 2006

Emergency confection port.

And a few days later thanks to reading up on sick IIGS video tricks, we have a rotating polygon :toot:

https://twitter.com/LuigiThirty/status/870467936607248384

LP0 ON FIRE
Jan 25, 2006

beep boop
Siiiiick

But come on, it has to be able to go faster than that! Is drawing part of a screen that slow on that computer? On a side note, what's reflecting onto the right side of the screen?

Luigi Thirty
Apr 30, 2006

Emergency confection port.

LP0 ON FIRE posted:

Siiiiick

But come on, it has to be able to go faster than that! Is drawing part of a screen that slow on that computer? On a side note, what's reflecting onto the right side of the screen?

The NBA Finals.

It's probably the calculations that are taking so long since I haven't set up lookup tables for all the transcendental calculations yet or optimized it. There's a lot of fixed-point calculations that go into rotating points!

I'm actually drawing literally as fast as you can, using the same technique as used in the Wolfenstein 3D port. It's pretty cool actually. I went from visible frame clearing and drawing to it being totally transparent.

With the 65816, memory is divided into 64KB banks. The framebuffer is a 32KB chunk of Bank $E1. Unfortunately for compatibility purposes, Bank $E1 is accessed through the Apple II system-on-chip at 1.024MHz, the clock speed of the Apple II. The main CPU runs at 2.8MHz so you're stuck in wait states that slow down execution.

One way the hardware designers worked around this was adding a register that when enabled will automatically mirror writes from Bank $01 (which is just general-purpose RAM) to Bank $E1. So you can allocate a 32KB chunk of Bank $01 through the memory manager and use it as a full-speed framebuffer. Easy.

There's a faster way, though, that takes advantage of the 6502's fast zero-page instruction execution. For backward compatibility with 128K Apple IIs, you can redirect reads and writes from Bank $00 to Bank $01. Basically, you turn this on and set the stack pointer and direct page pointer to the same area of memory and push the stack onto itself 256 bytes at a time. The reads and writes are redirected from Bank $00 to Bank $01 and then mirrored to Bank $E1, saving valuable cycles.

Xerophyte
Mar 17, 2008

This space intentionally left blank
Not sure if you've seen David Braben's (fantastic) Elite post mortem but one observation that they had was that frame clearing was way too slow for their purposes. They sped up the drawing by "undrawing" the previous frames with black lines, and then drawing the next frame. They also used different line drawing operations depending on the line orientation, because Bresenham's was too slow.

3D graphics in 1982: slightly more hardcore.

Jo
Jan 24, 2005

:allears:
Soiled Meat
After not having a chance to work on it for weeks and having some seriously :barf: inducing false starts on camera controls, I've thrown my hands up and stolen the camera design from Nuclear Throne.



EDIT: And got the map maker to automatically select from the appropriate tileset. :woop: All the different tile options are packed together as a single object, then model instances of the meshes are spawned and attached based on the neighboring tiles. Kinda' like terrain in TileD.

Jo fucked around with this message at 07:16 on Jun 28, 2017

Blue Footed Booby
Oct 4, 2006

got those happy feet

A while ago I started on a crappy Doom-like engine. I picked it back up again this past friday, and spent the weekend hacking away at it (and some incomplete and janky WAD parsing code I stumbled across on github) and made way more progress than I expected.

Using an abortive attempt at writing a level editor as a visualizer to make sure the WAD is being parsed correctly. Still have to implement the part that handles the actual BSP hierarchy, ie the most complicated part. I'm pretty happy, though, considering I spent a good part of the weekend looking at messes like this:

Jo
Jan 24, 2005

:allears:
Soiled Meat

Blue Footed Booby posted:

A while ago I started on a crappy Doom-like engine. I picked it back up again this past friday, and spent the weekend hacking away at it (and some incomplete and janky WAD parsing code I stumbled across on github) and made way more progress than I expected.


:allears: I love BUILD-style editors. In what language are you writing it?

Blue Footed Booby
Oct 4, 2006

got those happy feet

Jo posted:

:allears: I love BUILD-style editors. In what language are you writing it?

C#. The grid window is an embedded XNA game.

The editor probably won't get too much more work until I start trying to do things real Doom editors don't support. Mostly it's just a really effective way to check my understanding of how the files work, what everything means, and so on.

duck monster
Dec 15, 2004

munce posted:


Click to jack into the matrix.

Its all still placeholder art, but the general feel is close to finished.

Stick a banging sound track on this, and you have a hit.

munce
Oct 23, 2010

duck monster posted:

Stick a banging sound track on this, and you have a hit.

That's the dream.

Valtis
Sep 21, 2009
I put my compiler on hold for now for various reason, but I ended reusing some of the knowledge and wrote a Brainfuck JIT compiler:

Interpreted:


Compiled:



or roughly ~4.6x speedup interpreted vs compiled in this particular case. Both the interpreter and the compiler implement some minor optimizations, for example '+++++' would be a single instruction rather than five.

I also dug up a NES emulator project from my project graveyard and implemented audio emulation and fixed some bugs:

https://www.youtube.com/watch?v=TROIHUkHvR8

Donkey Kong and Raid on Bungeling Bay seem to work just fine, but Super Mario has some graphical glitches and Bomberman freezes in title screen.

I think both of these are caused by poor\incorrect emulation of the synchronization mechanisms of NES (sprite 0 hits and vblank interrupts). Super Mario uses sprite 0 hit (when first sprite in the sprite memory is drawn on top of non-transparent background pixel) to determine when to change the screen scroll values to prevent the score bar scrolling alongside the rest of the background graphics. The graphics glitch happens when scrolling, some of the title bar actually ends up scrolling when it shouldn't. There's likely a timing issue somewhere, maybe sprite 0 hit happens a bit too early or something. Bomberman on the other hands seems to be sensitive to vblank interrupt emulation if Google is to be believed.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

What do you do when you dont know the first thing about 2D art? Animate the background with pixel shaders!

https://twitter.com/LuigiThirty/status/885685242924761088

LP0 ON FIRE
Jan 25, 2006

beep boop

Luigi Thirty posted:

What do you do when you dont know the first thing about 2D art? Animate the background with pixel shaders!

https://twitter.com/LuigiThirty/status/885685242924761088

How hard would it be to inverse the colors on the pixel shader wherever the text is?

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slgt skal flge slgters gang



You could possibly do it by leaving the shader alone & have the text be a layer mask that inverts whatever's beneath it?

Adbot
ADBOT LOVES YOU

Luigi Thirty
Apr 30, 2006

Emergency confection port.

Powaqoatse posted:

You could possibly do it by leaving the shader alone & have the text be a layer mask that inverts whatever's beneath it?

The complementary color of purple is a nasty shade of lime green. :barf:

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply