Commit graph

487 commits

Author SHA1 Message Date
Jörg Hohensohn
9c52b24b00 patch #922836 by Jens: way faster disk writing, in assembler. The code is in, but yet disabled by #define PREFER_C_WRITING unless it's proven safe for all disks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4460 a1c6a512-1295-4272-9138-f99709370657
2004-04-01 05:46:31 +00:00
Björn Stenberg
8918fd89cd No need to turn on the backlight for remote button presses.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4432 a1c6a512-1295-4272-9138-f99709370657
2004-03-22 13:27:20 +00:00
Linus Nielsen Feltzing
8bda0e1097 A hip shot trying to make the Red LED Death situation a little better
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4409 a1c6a512-1295-4272-9138-f99709370657
2004-03-19 13:26:43 +00:00
Jörg Hohensohn
5fb1e1024f - no second ata_hard_reset() call, saves ~2.5 seconds flash boot time (please test)
- Jens' new assembler code in copy_read_sectors(), but still disabled


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4358 a1c6a512-1295-4272-9138-f99709370657
2004-03-10 14:15:14 +00:00
Linus Nielsen Feltzing
3a6e2f497b Reverted the STANDBY fix from 2004-02-15, rev 1.106
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4352 a1c6a512-1295-4272-9138-f99709370657
2004-03-09 08:52:14 +00:00
Linus Nielsen Feltzing
f858697a8d Removed compiler warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4335 a1c6a512-1295-4272-9138-f99709370657
2004-03-02 19:37:25 +00:00
Linus Nielsen Feltzing
111a972b65 Made set_irq_level() an inline function, and optimized it by removing the bit shifts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4330 a1c6a512-1295-4272-9138-f99709370657
2004-03-02 11:32:59 +00:00
Linus Nielsen Feltzing
aa5b23d616 Removed the interrupt disabling in lcd_write_data()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4329 a1c6a512-1295-4272-9138-f99709370657
2004-03-02 10:01:26 +00:00
Linus Nielsen Feltzing
68331ffb08 Now sets the highest possible PIO mode in set_features()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4328 a1c6a512-1295-4272-9138-f99709370657
2004-03-02 09:55:23 +00:00
Linus Nielsen Feltzing
f9c780ccc1 The cli()/sti() functions are not safe. We should have removed them long ago.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4314 a1c6a512-1295-4272-9138-f99709370657
2004-02-25 13:00:36 +00:00
Linus Nielsen Feltzing
97955a714b fixed compiling errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4310 a1c6a512-1295-4272-9138-f99709370657
2004-02-17 01:31:50 +00:00
Linus Nielsen Feltzing
867415b3f8 set_features() is now called from ata_power_on()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4309 a1c6a512-1295-4272-9138-f99709370657
2004-02-17 01:30:25 +00:00
Linus Nielsen Feltzing
7bd92239ca Silly me, I forgot to remove my debugging code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4308 a1c6a512-1295-4272-9138-f99709370657
2004-02-16 23:27:02 +00:00
Linus Nielsen Feltzing
c3b9720ab4 Bug 1: The STANDBY mode is now explicitly disabled, since it could be set to 30s at powerup. Bug 2: set_features() wasn't called in ata_power_on().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4307 a1c6a512-1295-4272-9138-f99709370657
2004-02-16 23:25:01 +00:00
Jörg Hohensohn
dee17f7102 Assembly code for copy_read_sectors() disabled: Tests with Trent showed that this is to blame for file system corruptions, even waitstates didn't fix it. No idea why, sorry...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4304 a1c6a512-1295-4272-9138-f99709370657
2004-02-15 08:44:02 +00:00
Jörg Hohensohn
b646d4f278 Assembly code for copy_read_sectors() reworked: I've spread the ATA reads apart by filling independent instructions inbetween, this is also slightly faster because of no pipeline stall. Hopefully this fixes the problem Kargatron had with it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4302 a1c6a512-1295-4272-9138-f99709370657
2004-02-09 08:24:25 +00:00
Linus Nielsen Feltzing
a258fe1887 Better charging feedback for FM/V2 devices
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4296 a1c6a512-1295-4272-9138-f99709370657
2004-02-05 13:44:04 +00:00
Jörg Hohensohn
bf4460e477 no code change, I just forgot to take my template disassembly out (a big comment block)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4282 a1c6a512-1295-4272-9138-f99709370657
2004-01-27 09:38:59 +00:00
Jörg Hohensohn
cb570b9263 Assembler optimized copy_read_sectors() gives another speedup of factor 1.4 for aligned and 1.2 for misaligned. Including my previous change the file reading is now nearly twice as fast compared to when I started this. -> Less disk uptime, longer battery life.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4281 a1c6a512-1295-4272-9138-f99709370657
2004-01-27 09:12:51 +00:00
Jörg Hohensohn
c546b70e18 Really squeezed lcd_write_data() with tricky assembler optimization. Now it does 114 fps when playing video from memory (way more than the ~75 fps needed, I need to slow down the video player), leaving headroom for audio.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4278 a1c6a512-1295-4272-9138-f99709370657
2004-01-26 22:26:54 +00:00
Linus Nielsen Feltzing
da115da486 Oops. Wrong arguments to memset(). Thanks to Mike Wilson for pointing that out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4274 a1c6a512-1295-4272-9138-f99709370657
2004-01-26 10:14:46 +00:00
Linus Nielsen Feltzing
26f42605c2 Reverted to the old ADC driver, since it appeared to cause fake OFF keypresses (weird indeed, since the OFF key doesn't use the ADC on the plain Recorder). However, I did fix the batch convert, since it caused fake keypresses at boot time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4260 a1c6a512-1295-4272-9138-f99709370657
2004-01-20 11:57:50 +00:00
Jörg Hohensohn
862d2b5e3a warning + obsolete variable removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4248 a1c6a512-1295-4272-9138-f99709370657
2004-01-16 09:28:39 +00:00
Jörg Hohensohn
88faf38ef7 Optimized the sector read loop as much as C allows. I measured an overall speed improvement for file reading of 12.5% for 16-bit aligned and 35% for misaligned. I took the rest of ata_read_sectors() out of IRAM, it's sufficient if only the copy loop stays there.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4247 a1c6a512-1295-4272-9138-f99709370657
2004-01-16 09:02:21 +00:00
Linus Nielsen Feltzing
7c75386a83 Ooops. Forgot to clear the newly allocated cluster in mkdir()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4242 a1c6a512-1295-4272-9138-f99709370657
2004-01-15 19:05:49 +00:00
Linus Nielsen Feltzing
54353e04b1 Second bug in mkdir() :-)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4241 a1c6a512-1295-4272-9138-f99709370657
2004-01-15 15:56:19 +00:00
Linus Nielsen Feltzing
60b1c4bbe1 Implemented the mkdir() function in the FAT32 driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4238 a1c6a512-1295-4272-9138-f99709370657
2004-01-15 14:30:59 +00:00
Björn Stenberg
a53afc0330 Added acoustic management, power management and read look-ahead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4230 a1c6a512-1295-4272-9138-f99709370657
2004-01-14 13:15:19 +00:00
Daniel Stenberg
50b6358272 Craig Sather's patch #849405:
This patch fixes two bugs associated with lcd_puts and scrolling on the
recorder.

1 - Unlike the implementation in the player code, on the recorder a call to
lcd_puts does not stop the scrolling text from a previous lcd_puts_scroll
call, so the new line gets overwritten by the old scrolling text. More
discussion and details can be found at:
http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-11/0531.shtml

2 - When the function lcd_puts_scroll_style is called with an x offset greater
than 0, the scrolling text is placed at an offset of 2x instead of x.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4226 a1c6a512-1295-4272-9138-f99709370657
2004-01-13 14:59:51 +00:00
Linus Nielsen Feltzing
5bd3297fd4 Faster, simplified A/D driver. The previous batch convert in init_adc() produced garbage because of the fast conversion time, causing fake keypresses that made ask_resume() return prematurely. This should fix the intermittent resume problem reported by many users.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4222 a1c6a512-1295-4272-9138-f99709370657
2004-01-13 11:36:23 +00:00
Jörg Hohensohn
fa3f60ff1c nicer handling of button_flip(), swap stored value, too, and avoid race condition
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4184 a1c6a512-1295-4272-9138-f99709370657
2004-01-01 18:33:52 +00:00
Jörg Hohensohn
8446cc461c oops, optimized lcd_bitmap() too much, obey the clear flag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4178 a1c6a512-1295-4272-9138-f99709370657
2003-12-24 12:17:26 +00:00
Jörg Hohensohn
5040cc53ec Screen buffer transposed, such that bytes in X-direction are consecutive. This enables my turbocharged lcd_write_data() for regular screen updates. Please check the X11 sim, Win32 works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4177 a1c6a512-1295-4272-9138-f99709370657
2003-12-23 23:41:45 +00:00
Jörg Hohensohn
a5e1d06354 Upside Down option for display (and buttons) now wired into the display settings menu, persistence, simulator stubs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4168 a1c6a512-1295-4272-9138-f99709370657
2003-12-20 10:00:37 +00:00
Björn Stenberg
1fe97ec54e Improved timing in soft_reset. This hopefully cures spontaneous Red Led freezes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4161 a1c6a512-1295-4272-9138-f99709370657
2003-12-17 20:15:12 +00:00
Daniel Stenberg
fd1aa1e574 xoffset is only when not building for a simulator (for now)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4151 a1c6a512-1295-4272-9138-f99709370657
2003-12-15 11:19:27 +00:00
Linus Nielsen Feltzing
31044ce007 Ooops! I forgot to remove my debugging changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4149 a1c6a512-1295-4272-9138-f99709370657
2003-12-15 10:31:08 +00:00
Linus Nielsen Feltzing
c4e1bdf016 Now correctly informs gcc that r0 is clobbered in lcd_write_data(). The video LED bug is now dead and buried.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4147 a1c6a512-1295-4272-9138-f99709370657
2003-12-15 08:54:05 +00:00
Linus Nielsen Feltzing
50f63e334a Fix for the LED problem in lcd_write_data(). The r0 register was not preserved for each loop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4144 a1c6a512-1295-4272-9138-f99709370657
2003-12-15 02:04:18 +00:00
Jörg Hohensohn
56271b571a LCD flip (upside down) and a high-performance blit function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4143 a1c6a512-1295-4272-9138-f99709370657
2003-12-12 22:11:08 +00:00
Daniel Stenberg
006b2c1c25 adjustments for Neo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4130 a1c6a512-1295-4272-9138-f99709370657
2003-12-12 13:23:33 +00:00
Hardeep Sidhu
00acdfa6ef Added viewer for currently playing playlist. Accessed from Menu->Playlist Options->View Current Playlist.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4124 a1c6a512-1295-4272-9138-f99709370657
2003-12-10 00:11:25 +00:00
Linus Nielsen Feltzing
caff78802b Fix for the occasional problem on FMR devices, when the device can't be turned off
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4105 a1c6a512-1295-4272-9138-f99709370657
2003-12-04 11:26:10 +00:00
Jörg Hohensohn
816234f431 oops, a typo made the player build fail
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4097 a1c6a512-1295-4272-9138-f99709370657
2003-12-03 18:50:19 +00:00
Jörg Hohensohn
44298163ba No more spinning disk while charging flashed FM+V2 (you need the new bootloader to utilize it). ToDo: remove now false voltage reading from charging screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4095 a1c6a512-1295-4272-9138-f99709370657
2003-12-03 01:03:54 +00:00
Jörg Hohensohn
d9d63560fe a side effect in usb_enable() (writing back a "1" while reading a pulled-up input) masked a bug in power_init(), it would have turned off the disk with flash start. Became appearing while converting port access to and_b(), which touches only one byte.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4027 a1c6a512-1295-4272-9138-f99709370657
2003-11-07 21:09:01 +00:00
Linus Nielsen Feltzing
bef7ab0c26 The code police strikes back
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4024 a1c6a512-1295-4272-9138-f99709370657
2003-11-07 12:15:24 +00:00
Jörg Hohensohn
75bab49a54 set/clear port bits with atomic instructions instead of read-modify-write, saves time+space, allows port usage in ISR
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4022 a1c6a512-1295-4272-9138-f99709370657
2003-11-06 01:34:50 +00:00
Linus Nielsen Feltzing
c22b411731 Patch #798050 by Leslie Donaldson, activates Line In on Player models
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4008 a1c6a512-1295-4272-9138-f99709370657
2003-11-03 23:36:36 +00:00
Linus Nielsen Feltzing
d9e8bfee75 Patch #791531 by Barry McIntosh, fake time stamps for file creation/updates on Players
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4005 a1c6a512-1295-4272-9138-f99709370657
2003-11-03 00:59:04 +00:00