Commit graph

473 commits

Author SHA1 Message Date
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
Linus Nielsen Feltzing
bfe9c5b608 Killed a warning (and a bug I introduced in the last commit)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3994 a1c6a512-1295-4272-9138-f99709370657
2003-10-28 22:23:33 +00:00
Linus Nielsen Feltzing
b47fa98b91 Better error reporting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3986 a1c6a512-1295-4272-9138-f99709370657
2003-10-26 11:16:15 +00:00
Jörg Hohensohn
9ace15871d cosmetic: moved my port inits to the "new" init function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3982 a1c6a512-1295-4272-9138-f99709370657
2003-10-21 21:03:42 +00:00
Björn Stenberg
fad8f2c8c8 Removed reboot when DC connected. It serves no purpose and is confusing to users.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3956 a1c6a512-1295-4272-9138-f99709370657
2003-09-19 23:20:09 +00:00
Jörg Hohensohn
118d45eb92 ATA io_address_detect() now doesn't probe any more, but uses the h/w mask. Probing failed for some flash users. I hope this works for everybody, we have to try to find out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3946 a1c6a512-1295-4272-9138-f99709370657
2003-09-01 05:48:42 +00:00
Linus Nielsen Feltzing
53ee344743 Slightly more correct initialization of the power/charging code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3940 a1c6a512-1295-4272-9138-f99709370657
2003-08-25 08:57:49 +00:00
Mats Lidell
37982493c2 Smarter jumpscroll.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3931 a1c6a512-1295-4272-9138-f99709370657
2003-08-18 05:27:13 +00:00
Mats Lidell
bd49e5f83b ide_power_enable for simulator added.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3851 a1c6a512-1295-4272-9138-f99709370657
2003-07-20 00:08:47 +00:00
Linus Nielsen Feltzing
68125796b8 Another go at the disk-full FAT driver fix. Now it skips the reserved sectors at all times.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3847 a1c6a512-1295-4272-9138-f99709370657
2003-07-19 00:34:22 +00:00
Jörg Hohensohn
f4b677eb3c report sleeping disk while not initialized, needed for changing before ata_init()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3844 a1c6a512-1295-4272-9138-f99709370657
2003-07-18 21:55:06 +00:00
Jörg Hohensohn
bfaf757db7 Magnus Holmgren: Just realized one thing: doing AN0-3 last is slightly better, as AN0
will then remain valid for the first execution of the tick task function.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3842 a1c6a512-1295-4272-9138-f99709370657
2003-07-17 20:40:16 +00:00
Jörg Hohensohn
61750ac07d one more missing init, prevented powering down the disk
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3839 a1c6a512-1295-4272-9138-f99709370657
2003-07-17 20:15:57 +00:00
Linus Nielsen Feltzing
a2134422d4 Removed a compiler warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3837 a1c6a512-1295-4272-9138-f99709370657
2003-07-16 22:39:15 +00:00
Linus Nielsen Feltzing
41249b7059 Fixed a bug that included the reserved clusters 0 and 1 in the search for available clusters. That could in some cases lead to a bogus disk-full error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3836 a1c6a512-1295-4272-9138-f99709370657
2003-07-16 22:28:24 +00:00