Commit Graph

1944 Commits

Author SHA1 Message Date
Kevin Lange
e703c8761b removing log calls from timing-sensitive sound functions 2015-05-17 14:12:10 -07:00
Kevin Lange
8e61d4ee3a Cleanup unused functions in glogin 2015-05-15 22:51:47 -07:00
Kevin Lange
9df3810da9 Separate pipe write/read locking 2015-05-15 22:51:27 -07:00
Kevin Lange
e047cea9a3 Boring comment header cleanups [ci skip] 2015-05-15 22:50:58 -07:00
Kevin Lange
bebb58b189 Fix audio delays 2015-05-15 22:21:53 -07:00
Kevin Lange
141ca495d9 Write to buffers in sequence instead of splitting in half 2015-05-15 15:01:51 -07:00
Mike Gerow
64d771b4fa Remove the now unnecessary ioctl from play utility 2015-05-15 01:04:07 -07:00
Mike Gerow
320925d0d9 Convert ac97 module to use snd 2015-05-15 01:04:07 -07:00
Mike Gerow
b06b4af8b9 Add snd sound subsystem.
It's got a long way to go, but this provides basic mixing between
applications.
2015-05-15 01:04:07 -07:00
Mike Gerow
fd8c5db72a Surround list macros in parens in order to allow calls like this:
list_t list;
foreach(node, &list) {
  ...
}
2015-05-15 01:04:07 -07:00
Kevin Lange
9cf86430ee fix readme typo [ci skip] 2015-05-14 20:34:46 -07:00
Kevin Lange
58f84075bf Big rewrite of the README
Have wanted to convert the three lists of third-party software to a table for a while now.
2015-05-14 19:34:17 -07:00
Kevin Lange
e1720dbc8a Fix allocation of common symbols in modules
Fixes #87
2015-05-14 09:47:23 -07:00
Kevin Lange
66938e3123 Fix symbols not marked extern 2015-05-14 09:32:52 -07:00
Kevin Lange
6acef2ab41 Add audio player 2015-05-14 09:25:48 -07:00
Kevin Lange
456cbf1016 hacky, but working, /dev/dsp interface 2015-05-13 23:28:47 -07:00
Kevin Lange
3e605ec2d8 Crank the volume a bit 2015-05-13 18:58:24 -07:00
Kevin Lange
034cd38cf4 Gracefully handle failures to load audio files 2015-05-13 18:52:00 -07:00
Kevin Lange
5573199c4e Actually let the file finish playing instead of cutting it off 2015-05-13 18:39:56 -07:00
Kevin Lange
a3ca443492 Don't bind shell functions if we didn't find it 2015-05-13 15:27:41 -07:00
Kevin Lange
fb9e02fbd8 Clean up AC97 driver for merge 2015-05-13 15:26:28 -07:00
Mike Gerow
3b60e8c36f Added experimental ac97 driver.
This doesn't include a userland interface, but it does include a couple
of commands for the debug shell. ac97_status, which shows some register
and port values for the ac97 and ac97_noise which attempts to play a
(very annoying) 440Hz sine wave through the sound card.
2015-05-13 01:35:55 -07:00
Mike Gerow
ac17214207 Added ability to check if an IRQ is already occupied.
A proper solution would probably be to introduce shared IRQs at some
point in time.
2015-05-13 01:33:05 -07:00
Kevin Lange
eb3e865036 Update pong description 2015-05-12 23:29:24 -07:00
Kevin Lange
de3e405b52 Make pong prettier 2015-05-12 20:51:07 -07:00
Kevin Lange
2a59b09a9a This is terrible: Yutani Pong 2015-05-11 22:20:27 -07:00
Kevin Lange
f0f286acb7 Yield after flipping display after glogin
Fixes very common issue where artifacts of the login widget were visible
after logging in before the desktop started up.
2015-05-09 22:11:55 -07:00
Kevin Lange
85795869f2 Add an early boot testing module 2015-05-03 18:36:57 -07:00
Kevin Lange
0cdcef9b3e When requesting larger video modes, map more memory 2015-05-03 18:36:02 -07:00
Kevin Lange
8100af2d70 Recent dev changes to Makefile 2015-05-03 18:35:40 -07:00
Kevin Lange
c661e3073d Add more icon search paths 2015-05-02 18:57:49 -07:00
Kevin Lange
648aedc0a4 Use a different resynch strategy for timer 2015-05-01 23:01:12 -07:00
Kevin Lange
a6f071f9c8 New scroll rows should set background colors. 2015-05-01 00:36:50 -07:00
Kevin Lange
365295010c Make animations in Yutani faster. 2015-04-30 18:06:36 -07:00
Kevin Lange
49952347d6 add a piano app 2015-04-30 16:34:30 -07:00
Kevin Lange
59d0481db4 Fix pcspkr timing 2015-04-30 16:34:23 -07:00
Kevin Lange
dd74cdcec2 Map Vim config'd tab/space characters in VGA terminal 2015-04-29 16:29:36 -07:00
Kevin Lange
cf2bd4cb22 Fix missing in return in 'set' command 2015-04-26 18:14:52 -07:00
Kevin Lange
4fd1ae9aa3 Support scrollwheel mice 2015-04-26 18:05:14 -07:00
Kevin Lange
c360ca695a Enable ttymouse=xterm2 for toaru terminals by default in vim 2015-04-26 17:21:32 -07:00
Kevin Lange
a3f9ab465b Basic xterm (?1000 and ?1002) mouse support 2015-04-26 17:14:14 -07:00
Kevin Lange
278059d6a2 Use timers for animations (compositor, desktop)
Yutani, glogin, and wallpaper now use timing information from the kernel
to perform animations. Some animation lengths have been adjusted. The
animations should run at the same speed, though with varying
"smoothness" across different hardware (including non-KVM emulators).
2015-04-14 23:09:54 -07:00
Kevin Lange
7344a50fe0 Major changes to timing interfaces
- The kernel version has been bumped to 0.9.0
- The timer resolution in the kernel has been increased to millseconds.
- The preemptive scheduling interval has been descreased to one
  millisecond.
- Relative sleep continues to use 10 millsecond intervals for legacy
  reasons.
- `gettimeofday` now uses the internal tick counter to calculate the
  current time. Drift is calculated from the CMOS every 5 seconds and
  applies only to `gettimeofday` and other places that use it.
- The resolution of timing information provided by debug functions has
  been increased to three digits (milliseconds).
- The resolution of timing information provided by the procfs uptime
  virtual file has been increased to three digits (milliseconds).
- Functions have been added to the debug shell to read the TSC. The TSC
  is not used in timing functions at this time.
2015-04-14 23:05:07 -07:00
Kevin Lange
4a36d6bb9e Fix a potential deadlock and improve irq on/off 2015-04-13 23:39:23 -07:00
Kevin Lange
a27444656c Disable notice for travis IRC notifications 2015-04-11 18:51:14 -07:00
Kevin Lange
e7ff3e20f8 Wallpaper from config, readd old wallpapers 2015-04-11 18:22:26 -07:00
Kevin Lange
78db32cb6f Config files, theming in glogin 2015-04-11 18:06:54 -07:00
Kevin Lange
e95cbda703 Merge pull request #83 from lioncash/leaks
compositor: get rid of a leak in window_actually_close
2015-04-10 17:02:55 -07:00
Lioncash
99c907bf95 compositor: get rid of a leak in window_actually_close
The function call allocates on the heap, so this would cause a leak.
2015-04-10 19:21:28 -04:00
Kevin Lange
dec9a0f031 Superfluous terminal size programs 2015-04-07 08:53:28 -07:00