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
hendersa
Sep 17, 2006

SystemLogoff posted:

What about the SNES multitap?

I'm talking the raw SNES controller protocol, so I can understand anything using that protocol. Or rather, I'll receive the individual bits from that device on the proper clock cycles. On the software side in userspace, I can look at those retrieved bits and interpret them however I want. Each protocol cycle sends out 16 clock pulses and gets 16 bits back in return from each gamepad. I read the 16 bits from one and 16 from the other and interleave them into the 32-bit value that I place in shared memory. Gamepads only make use of 12 of those bits (four for the d-pad directions, and then one for each of the eight buttons), leaving the other four bits high.

The multitap uses two extra bits to specify which of the extra gamepads is the "active" one to be read from, though I haven't dug into the details of it much. I'm sure there are lots of other gizmos for the SNES that use a variation on the gamepad protocol for more bits and the like. I'd have to hack on the emulators a bit more to add in support for the oddball peripherals of the NES and SNES platforms and adjust the firmware as needed to accommodate any protocol variants.

Adbot
ADBOT LOVES YOU

munce
Oct 23, 2010

Shalinor posted:

Dang, this is slick. Really want to play Populous with that map.

The first game using this map style should be playable fairly soon. Will post more as it gets done.

biznatchio
Mar 31, 2001


Buglord

Shalinor posted:

Dang, this is slick. Really want to play Populous with that map.

My thoughts immediately went to how a Worms-like game would be on a spherical map like that.

Hyvok
Mar 30, 2010

Programmer Humor posted:

Sure, I think it's good enough for people to try out now.

http://fx21.github.io/playlists/

Tell me what you think and if you can think of any improvements.

Is signing in mandatory? I didn't sign in and pressing "make it" always just says "unknown error" :( FF 45.0.2

Neurion
Jun 3, 2013

The musical fruit
The more you eat
The more you hoot

I've been toying with the idea of writing a GameBoy Color emulator for DOS, and as a stepping stone along the way, I've been working on code that allows me to use SuperVGA video modes in a protected-mode program. As practice, I've updated my FM-synth based MIDI player and added a piano roll style visualization, using a 640 x 480 x 256 color mode. A lot of work went into this, especially the code for drawing text to the screen as fast as possible. My original version of the code would draw character by character, line by line (finishes drawing an entire character before moving to the next character). This turned out to be slower than the current version, which instead draws line-by-line, character-by-character (draws a 1-pixel high section of the entire row before moving down to the next). The latter worked out faster due to the fact that I can take advantage of the 32-bit bus size of the 386/486 running in protected mode, allowing me to write 4 pixels in a single MOV, among other reasons. You can review the code for a better idea, maybe.

Anyways, the next major change was to de-couple the MIDI player logic from the Programmable Interval Timer (PIT). Originally the MIDI player wrote directly to the PIT registers and handled the PIT interrupt, monopolizing use of the only free timer for itself. Now a Timer object sits between the MIDI player (and the new visualizer code) and the PIT, keeping track of a number of sub-timers and allowing other objects to query the states and elapsed ticks of these sub-timers.

Finally, the last major change was the addition of the visualizer itself. Originally I wrote a version that used the 80 x 50 text mode to display the visualization. It was very speedy, but had the limitations of low resolution (updated at 30 Hz), scrolling too quickly (even at 30 Hz), and only showing a subset of the 128 keys MIDI files support. I then wrote a different version that makes use of SuperVGA to allow me to show the entire key range as well as provide a higher resolution (60 Hz) and scrolling at an acceptable speed. In order to speed up the visualizer code, I avoided moving the entire visualizer graphic each frame, and would instead record what keys change their state on each frame to minimize the amount of drawing. Effectively, it adds color to the leading edge of a note and removes color from the trailing end on each new frame. Here's the code for the visualizer.

I recorded a new demo of the MIDI player to show off the visualizer:
https://www.youtube.com/watch?v=AWa4h0RiY8E

And here's the GIT for the entire project, if anyone's interested in my messy code.

Programmer Humor
Nov 27, 2008

Lipstick Apathy

Hyvok posted:

Is signing in mandatory? I didn't sign in and pressing "make it" always just says "unknown error" :( FF 45.0.2

Signing in isn't mandatory if you don't mind copy/pasting the raw playlist data into a playlist manually instead of clicking a button to save it. I don't think it should affect the "unknown error", which is just a placeholder error in case the response from the server isn't the expected JSON error object. I should probably change that some so it adds some other error details.

Anyway, does it keep happening with anything you try or is it just in some cases that allows me to reproduce the error? What artists/country/parameters did you input?

EDIT: I tried adding some error information to the unknown error, try it again and see if it says anything more useful.

Programmer Humor fucked around with this message at 11:22 on Apr 27, 2016

mortarr
Apr 28, 2005

frozen meat at high speed
When I read a bedtime story to my kids, they always ask for "pretend stories" which was my daughters name for where I have to tell them a story based on a character and scenario they think of.

Recurring themes are ninja turtles and bad guys for my boys, and my daughter and her friends getting up to mischief, but sometimes I get tired of telling effectively the same story every night.

When I saw a mates' story cubes I thought there must be something equivalent online, and tried to find one for that night's pretend stories - I couldn't find anything, so I made one myself.

Its my first time making something for my kids... dunno about you guys but its bloody hard telling a 5y old about sql queries and api's etc, so its quite nice to have something they can see and (kind-of, anyway) understand.

http://meataxe.github.io/StoryThing/

Sex Bumbo
Aug 14, 2004
just clowns please

clockwork automaton
May 2, 2007

You've probably never heard of them.

Fun Shoe
A series of twitter jokes later I find myself working on a dating sim game called Hunky Dodecahedron

AmericanBarbarian
Nov 23, 2011

clockwork automaton posted:

A series of twitter jokes later I find myself working on a dating sim game called Hunky Dodecahedron


I hope you have the line, "I want to see your platonic solid" in it.

netcat
Apr 29, 2008


Mapper thing for oldass games

TheresaJayne
Jul 1, 2011

netcat posted:



Mapper thing for oldass games

why am i always too lazy to make something like that - looks great.

Le0
Mar 18, 2009

Rotten investigator!

Programmer Humor posted:

Sure, I think it's good enough for people to try out now.

http://fx21.github.io/playlists/

Tell me what you think and if you can think of any improvements.

Hey this is awesome I'm using it and only had one unknown error. Good job

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?

AmericanBarbarian posted:

I hope you have the line, "I want to see your platonic solid" in it.

A pun about platonic love would be better

Hubis
May 18, 2003

Boy, I wish we had one of those doomsday machines...
I just assumed it was a David Bowie reference

Bob Morales
Aug 18, 2006


Just wear the fucking mask, Bob

I don't care how many people I probably infected with COVID-19 while refusing to wear a mask, my comfort is far more important than the health and safety of everyone around me!

netcat posted:



Mapper thing for oldass games

How do you do the horizontal walls? Rotate a tile?

netcat
Apr 29, 2008

Bob Morales posted:

How do you do the horizontal walls? Rotate a tile?

Walls are just their own objects drawn along the grid lines. Another option is to have the walls as properties on the tiles (so one wall for each side of the tile, I think Wizardry does it like this) but that would make the mapping more tedious I think.

Bob Morales
Aug 18, 2006


Just wear the fucking mask, Bob

I don't care how many people I probably infected with COVID-19 while refusing to wear a mask, my comfort is far more important than the health and safety of everyone around me!

netcat posted:

Walls are just their own objects drawn along the grid lines. Another option is to have the walls as properties on the tiles (so one wall for each side of the tile, I think Wizardry does it like this) but that would make the mapping more tedious I think.

Oh, so drawn and not stamped?

munce
Oct 23, 2010

Mars with water:

kayakyakr
Feb 16, 2004

Kayak is true

munce posted:

Mars with water:



Well, that would be an interesting planet to figure out how to terriform.

Also, cool animation.

Programmer Humor
Nov 27, 2008

Lipstick Apathy

Sebbe posted:

Awesome; I dig it. It seems cool so far.

Perhaps it'd be cool to be able to generate a new playlist based on another playlist, or one's own collection?

(My motivation: I write a bunch of silly songs for a student revue, and I'm curious to see, if running it on my "Stuff I want to write songs on"-list would find me any other songs I'd want to write on.)

I added a button to add every artist found in a playlist. I looked around for ways to find tracks based on other tracks, and while such a function exists in the web api, it doesn't really fit into the rest of the list-of-artists->related-artists framework of this app. Maybe I'll make another app that works with that instead.

Anyway, this should allow users to make playlists based on the moods set by already existing playlists, so that should be pretty good.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

Neurion posted:

I've been toying with the idea of writing a GameBoy Color emulator for DOS,
So... an emulator you run inside an emulator?

Neurion
Jun 3, 2013

The musical fruit
The more you eat
The more you hoot

Rocko Bonaparte posted:

So... an emulator you run inside an emulator?

Yes. Why? It'd be a fun challenge. Plus I'd have to write my own sound, keyboard, and graphics code for extra challenge.

hendersa
Sep 17, 2006

Neurion posted:

Yes. Why? It'd be a fun challenge. Plus I'd have to write my own sound, keyboard, and graphics code for extra challenge.

I HEARD THE CALL. I AM HERE.

Compiler: Watcom with DOS Extender
DOS 21h interrupt functions: Interrupt list
Free version of Abrash's Graphics Programming Black Book
55ms timer interrupt: RTC interfacing
Z80 instruction set: Here
Sound Blaster programming: Guide here

HOORAY! YOU WILL LEARN MUCH. :science:

Edit: I just pulled this monster off of my bookshelf and weighed it. It has 1342 pages and weighs 5.5 pounds.

hendersa fucked around with this message at 23:55 on May 5, 2016

Aurium
Oct 10, 2010

munce posted:

Mars with water:



I love these.

Is there any topographical data for Mimas? I'd love to see that hugely exaggerated crater.

Meat Beat Agent
Aug 5, 2007

felonious assault with a sproinging boner

hendersa posted:

Z80 instruction set: Here

For additional learning: the actual Game Boy instruction set, which isn't really the Z80 instruction set (there's an easier-to-grasp comparison here, if you're already somewhat familiar with the Z80).

Meat Beat Agent fucked around with this message at 05:45 on May 6, 2016

Plumps
Apr 21, 2010

Aurium posted:

I love these.

Is there any topographical data for Mimas? I'd love to see that hugely exaggerated crater.

Seconding this, and I vote for Iapetus the walnut moon

Neurion
Jun 3, 2013

The musical fruit
The more you eat
The more you hoot

hendersa posted:

I HEARD THE CALL. I AM HERE.

Compiler: Watcom with DOS Extender
DOS 21h interrupt functions: Interrupt list
Free version of Abrash's Graphics Programming Black Book
55ms timer interrupt: RTC interfacing
Z80 instruction set: Here
Sound Blaster programming: Guide here

HOORAY! YOU WILL LEARN MUCH. :science:

Way ahead of you, friend! My MIDI player was built in Watcom C (with extender), I've long-since bookmarked Ralf Brown's interrupt list, I got the Graphics Programming Black Book (I'm using SuperVGA rather than Mode X trickery, but it's still a good read and useful reference), I already reprogrammed the RTC interrupt to fire at a higher frequency (while also making sure to chain the original interrupt at the proper 55ms interval), I've bookmarked a bunch of GBC technical docs including the Z80 instruction set, etc.

But thank you just the same, you guys are awesome!

munce
Oct 23, 2010

Aurium posted:

I love these.

Is there any topographical data for Mimas? I'd love to see that hugely exaggerated crater.

Mimas:

Nude
Nov 16, 2014

I have no idea what I'm doing.

Just curious how accurate are these? Like the mars one with the huge mountain, is it really that huge? Awesome either way.

munce
Oct 23, 2010

Nude posted:

Just curious how accurate are these? Like the mars one with the huge mountain, is it really that huge? Awesome either way.

The relation between the lowest and highest point on the surface is accurate, then that is exagerated out to around the size of the radius of the planet. So the features are several thousand times taller than they actually are. Most planets really look just like a smooth sphere. For example Mars is 6792km in diameter, and the surface features shown here only make up the final 20km of height. Olympus Mons (the big mountain) is still pretty drat big, i think its the biggest in the solar system.

https://en.wikipedia.org/wiki/Olympus_Mons

munce
Oct 23, 2010

The Moon:

Plumps
Apr 21, 2010

munce posted:

The Moon:



this is freaking awesome

Plumps
Apr 21, 2010

Plumps posted:

this is freaking awesome

moon looks like it got kicked in the southern hemisphere

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
how do we know what that side of the moon looks like if we cant see it???

ToxicSlurpee
Nov 5, 2003

-=SEND HELP=-


Pillbug

Suspicious Dish posted:

how do we know what that side of the moon looks like if we cant see it???

How do we know the refrigerator light is off when the refrigerator is closed?!?

Anyway I am doing this:





Crosspost from Makin' Games but still relevant.

munce
Oct 23, 2010

Suspicious Dish posted:

how do we know what that side of the moon looks like if we cant see it???

It's just what Big Space wants us to think. There's probably way more alien cities and stuff over there.

Dr. Stab
Sep 12, 2010
👨🏻‍⚕️🩺🔪🙀😱🙀

ToxicSlurpee posted:

How do we know the refrigerator light is off when the refrigerator is closed?!?

The government spent a lot of money on a rocket so they could take pictures?

Aurium
Oct 10, 2010

Awesome! thanks!

Adbot
ADBOT LOVES YOU

munce
Oct 23, 2010

ToxicSlurpee posted:


Anyway I am doing this:





Crosspost from Makin' Games but still relevant.


Looks like you've got your ui sorted. I always struggle with that. What are you making that in?

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