Commit Graph

408 Commits

Author SHA1 Message Date
sorgelig
323b842dbe Merge branch 'master' of https://github.com/MiSTer-devel/Main_MiSTer 2019-01-10 08:16:17 +08:00
sorgelig
664045fb59 Merge pull request #43 from dholm/file_io/zip
file_io: Zip file support
2019-01-10 08:12:25 +08:00
David Holm
868c60f99f file_io: Zip file support
Support for loading files stored inside a zip file.

Treats zipped files as folders and allows loading files from inside the
zip file.  Files are loaded on-demand from the archive.

Nested zip-files are currently not supported.
2019-01-09 21:00:56 +01:00
David Holm
0a0341bf81 file_io, DiskImage, sharpmz: Replace fd with FILE*
Replace file descriptor with a file stream in preparation for supporting
zipped files.

The API to miniz requires the use of file streams and since a file
descriptor can easily be extracted from a stream using `fileno` it's
much more convenient to use file streams everywhere.
2019-01-09 20:58:29 +01:00
David Holm
1bc427bc76 miniz: 2.0.8
Include miniz 2.0.8 for zip file support.
2019-01-09 20:58:29 +01:00
sorgelig
5c5ffa4f75 Fix reboot option. 2019-01-10 02:05:26 +08:00
sorgelig
9b91e50d4e Merge pull request #42 from bbond007/master
MidiLink System menu option for TCP/UDP/MUNT/FSYNTH
2019-01-09 16:26:35 +08:00
bbond007
1885a7d106 Merge https://github.com/MiSTer-devel/Main_MiSTer 2019-01-08 18:42:57 -05:00
bbond007
77cd97a578 check for /etc/asound.conf to enable MidiLink : MUNT/FSYNTH 2019-01-08 18:40:38 -05:00
sorgelig
3d1976ce2c Release 20190108. 2019-01-08 19:23:30 +08:00
sorgelig
bf19823309 Support up to 6 gamepads. 2019-01-08 17:45:07 +08:00
sorgelig
f344ac931a Fix the warnings. 2019-01-08 10:08:02 +08:00
sorgelig
aaf0712856 Makefile: fix files deletion, disable strict-aliasing warning. 2019-01-08 10:07:11 +08:00
sorgelig
5f8fbe5253 Open joystick buttons setup menu if not defined. 2019-01-06 23:47:46 +08:00
sorgelig
ed36841f78 Fix the warnings. 2019-01-06 23:47:10 +08:00
sorgelig
7de4788f9a One more update in VS project. 2019-01-05 23:41:44 +08:00
sorgelig
1620069edf VS project update. 2019-01-05 20:43:39 +08:00
sorgelig
13ca537cbf minimig_boot: fix the warnings. 2019-01-05 19:15:14 +08:00
sorgelig
7b123e0803 lib folder for 3rd-party libraries. 2019-01-05 19:12:45 +08:00
sorgelig
a7b16694b5 Merge branch 'master' of https://github.com/MiSTer-devel/Main_MiSTer 2019-01-05 19:09:54 +08:00
sorgelig
af334d6ced Merge pull request #40 from dholm/makefile-clean
Makefile fixes
2019-01-05 19:09:42 +08:00
sorgelig
62de1cabc7 input: add tweaks for Logitech F710. 2019-01-05 18:54:17 +08:00
David Holm
7abfbd07dd makefile: Make obj and dep rules unique per language
The make rules for objects and dependency files must be unique per
language or make won't understand when to rebuild them.  Before this
change, if a cpp-file was changed, make would match it to the rule for C
files because it comes first in the `Makefile` and not rebuild anything.
2019-01-05 11:20:14 +01:00
David Holm
65a07e2c12 makefile: Support verbose build
Show build commands as they are being executed if `V=1` is specified
when running `make`.
2019-01-05 11:08:31 +01:00
David Holm
6f84a4f2d7 makefile: Move defines to DFLAGS
All defines should be set in `DFLAGS` or dependencies might not be
generated correctly.
2019-01-05 11:07:34 +01:00
sorgelig
4819aefc13 Merge pull request #39 from dholm/low-latency/coroutines
Main loop latency reduction with coroutines
2019-01-05 17:41:40 +08:00
sorgelig
69d1fe88ed Merge pull request #38 from dholm/cpu-pin
main: Always pin to core #1
2019-01-05 17:35:19 +08:00
David Holm
abf99063dc file_io: Yield while loading directories
Yield at an interval during the loading of directory entries as well as
while sorting them in order to not starve the poll functions.

The maximum time between calls to `user_io_poll` in the main loop were
measured while loading a folder containing 29026 entries:

 - Original main-loop:       591ms
 - With coroutines + yields:  29ms

The amount of time it takes to load and sort the 29026 entries:

 - Original main-loop:       591ms
 - With coroutines + yields: 686ms

By increasing the value of `YieldIterations` in `file_io.cpp` the load
time will decrease while increasing the delay between calls to
`user_io_poll`.
2019-01-04 23:37:53 +01:00
David Holm
3908a7f583 main, scheduler: Improve latency by coroutine scheduling
Schedules tasks in the main loop using coroutines so that long running
tasks, particularly relating to the UI, can yield execution in order to
call the poll functions at a tighter interval.
2019-01-04 23:03:31 +01:00
David Holm
18ec305841 3pp: libco v18
Adds the coroutine library libco by byuu.

 - https://byuu.org/library/libco/
2019-01-04 23:00:14 +01:00
David Holm
dfa6dc97bd main: Always pin to core #1
Pin the MiSTer process to core #1 in order to stay clear of the hardware
interrupt handlers running in the Linux kernel on core #0.  This gives a
consistent improvement in the main loop cycle time of about 6-7x.
2019-01-04 22:53:06 +01:00
bbond007
1598c9fcb7 Merge https://github.com/MiSTer-devel/Main_MiSTer 2019-01-01 22:07:30 -05:00
sorgelig
9d21437895 Merge pull request #37 from dholm/file_io/vectorized-diritem
file_io: Support unlimited number of directory entries
2019-01-02 02:58:01 +08:00
sorgelig
f0dd11c50c Core name in joystick button definition as a hint. 2019-01-02 02:57:28 +08:00
David Holm
be5b51308b file_io: Support unlimited number of directory entries
Stores directory entries in a std::vector instead of an array of
hardcoded size.  The vector will dynamically grow to the number of
available entries in a folder without having a hardcoded upper limit.
2019-01-01 18:19:17 +01:00
sorgelig
d7bc150ff3 Release 20181231. 2018-12-31 16:39:07 +08:00
sorgelig
c22c365aa9 Fix memory corruption. 2018-12-31 14:38:36 +08:00
sorgelig
46a4353046 Autofire per key, not per function. 2018-12-31 05:10:16 +08:00
sorgelig
943d36a2c7 Release 20181229. 2018-12-29 23:22:56 +08:00
sorgelig
3e25b3ea51 More steps for autofire. 2018-12-29 21:28:31 +08:00
sorgelig
1c98d1e938 Improved look of datecode. 2018-12-29 21:22:28 +08:00
sorgelig
ddd5b75d2b Fix the warnings and some errors. 2018-12-29 21:15:25 +08:00
sorgelig
3aa5c4d438 Merge pull request #32 from dholm/code-fixes
Minor code fixes
2018-12-29 19:33:48 +08:00
sorgelig
2ecede610b Merge pull request #33 from dholm/compiler-diagnostics
Enable compiler diagnostics during build
2018-12-29 19:32:21 +08:00
David Holm
febb7f444f makefile: Enable all compiler diagnostics
Enable all diagnostics in the compiler so that it can help identify bugs
in the code during build.
2018-12-29 12:23:32 +01:00
David Holm
e3013e615d makefile: Set DFLAG before reference
Set the value of `DFLAG` to the include paths before it is being
referenced by `CFLAG`.
2018-12-29 12:22:31 +01:00
David Holm
7debf7ce1a input: Remove spurious backslash
Remove backslash at end of comment so that the next line doesn't get
commented out as well.
2018-12-29 12:20:03 +01:00
David Holm
e144cd713f menu: Initialize variables before use
Initialize `rdb` and `m` to zero at the top of `HandleUI` before they
are accessed.
2018-12-29 12:19:06 +01:00
David Holm
d16b899c95 sharpmz: sharpmz_ui does not return a value
The `sharpmz_ui` function does not have a return statement so declare it
as void.
2018-12-29 12:19:06 +01:00
David Holm
6813f707ea fpga_io, user_io, minimig: Remove unreferenced printf arguments
Remove arguments to *printf that were not being referenced by the format
strings.
2018-12-29 12:19:06 +01:00