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