Commit Graph

418 Commits

Author SHA1 Message Date
sorgelig
df42b90dd0 Release 20190112. 2019-01-12 20:50:30 +08:00
sorgelig
6b76a9a088 Use separate save folder for all saves. 2019-01-11 11:23:49 +08:00
sorgelig
259067b260 file_io: fix seek, fix fread/fwrite arguments. 2019-01-11 01:34:33 +08:00
sorgelig
e1186a95c4 Hide menu_20* items from list. 2019-01-11 00:28:11 +08:00
sorgelig
c2697a9473 Flush the buffer after write. 2019-01-10 23:55:30 +08:00
sorgelig
67442742c5 Fix locating the file in catalog. 2019-01-10 22:59:10 +08:00
sorgelig
9667e3996c file_io: use char* instead of string. 2019-01-10 21:54:14 +08:00
sorgelig
aa986789a8 file_io: fix and some refactoring. 2019-01-10 19:53:22 +08:00
sorgelig
c194013aa1 Update VS project. 2019-01-10 09:52:41 +08:00
sorgelig
ed41061adc Fix the warnings. 2019-01-10 09:52:27 +08:00
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