Anyone who fooled around with MS Paint in the '90s as much as I did is intimately familiar with the Invert Colors effect. Today it still has its uses; it's pretty handy for flashing enemies or bosses for example.
It's actually pretty simple to achieve the same effect in Game Maker 8.0, even without shaders.
Inverting a Rectangular Region
As long as the drawing color is set to c_white, you can invert a rectangular region simply by drawing a rectangle with a certain blend mode.
draw_set_blend_mode_ext(bm_inv_dest_color, bm_zero);
draw_rectangle(left, top, right, bottom, false);
draw_set_blend_mode(bm_normal);
I recommend turning the above into a script, perhaps named draw_invert_region(), for ease of use.
Inverting an Image
Often you'll want to invert an image, though, not an exact rectangle. The trick to doing this is to invert a region, draw the image in that region, and then invert the same exact region again. This sandwiches the image between two inversions, resulting in every pixel in the image being inverted but the pixels behind the image are returned to normal.
draw_set_color(c_white);
draw_invert_region(view_xview, view_yview, view_xview + view_wview, view_yview + view_hview);
draw_sprite(sprite_index, image_index, x, y);
draw_invert_region(view_xview, view_yview, view_xview + view_wview, view_yview + view_hview);
Further Effects
It's possible to sweeten up plain old inversions in order to create some nicer effects. By drawing the image with a blend color, you can give it different tones. Draw with a dark purple blend color to get a golden yellow inverted image; draw with an orange or red blend color to get an icy blue inverted image.
If you want an example, here's a GMK you can fool with.