diff --git a/hash/apple2.xml b/hash/apple2.xml
index 0c91f22cb36..2a25b004a30 100644
--- a/hash/apple2.xml
+++ b/hash/apple2.xml
@@ -582,7 +582,7 @@
- Alcazar the Forgotten Fortress
+ Alcazar the Forgotten Fortress
1985
Activision
@@ -966,13 +966,13 @@
- Aztec
+ Aztec (clean crack)
1982
Datamost
-
+
@@ -1060,13 +1060,13 @@
- The American Challenge
+ The American Challenge (clean crack)
1986
MIndscape
-
+
@@ -1867,36 +1867,19 @@
-
- Batman (crack)
- 1988
- Data East
-
-
-
-
-
-
-
-
-
-
-
-
-
- Batman
+ Batman (clean crack)
1988
Data East
-
+
-
+
@@ -1914,18 +1897,18 @@
- BASIC Building Blocks (crack)
+ BASIC Building Blocks (clean crack)
1983
Micro Education
-
+
-
+
@@ -3764,13 +3747,13 @@
- Cogito!
+ Cogito! (clean crack)
198??
Reader's Digest Software
-
+
@@ -3993,13 +3976,13 @@
- Crisis Mountain
+ Crisis Mountain (clean crack)
1982
Synergistic Software
-
+
@@ -4797,8 +4780,8 @@
-
Genesis (clean crack)
+
1983
Datasoft / Design Labs
@@ -4850,14 +4833,14 @@
-
- Hitchhiker's Guide to the Galaxy
- 1984
- Infocom
+
+ Hardball (clean crack)
+ 1985
+ Accolade
-
+
@@ -4874,6 +4857,31 @@
+
+ The Heist (clean crack)
+
+ 1983
+ Microlab
+
+
+
+
+
+
+
+
+
+ Hitchhiker's Guide to the Galaxy
+ 1984
+ Infocom
+
+
+
+
+
+
+
+
Hollywood Hijinx
1986
@@ -5269,25 +5277,25 @@
- Mr. Do
+ Mr. Do (clean crack)
1983
Datasoft
-
+
- Ms. Pac Man
+ Ms. Pac Man (clean crack)
1983
Atari
-
+
@@ -5399,13 +5407,37 @@
- Pac-Man
+ Pac-Man - Atari (clean crack)
1983
Atari
-
+
+
+
+
+
+
+ Pac-Man - Datasoft (clean crack)
+ 1983
+ Datasoft / Namco America
+
+
+
+
+
+
+
+
+
+ Pac-Man - Thunder Mountain (clean crack)
+ 1983
+ Thunder Mountain / Namco
+
+
+
+
@@ -5551,6 +5583,30 @@
+
+ Racter (clean crack)
+ 1985
+ Mindscape
+
+
+
+
+
+
+
+
+
+ Rambo First Blood Part II (clean crack)
+ 1985
+ Mindscape / Angelsoft
+
+
+
+
+
+
+
+
Rampage
1988
@@ -5564,8 +5620,8 @@
-
Renegade (clean crack)
+
1988
Taito America / NovaLogic
@@ -6083,13 +6139,14 @@
- Tapper
+ Tapper (clean crack)
+
1983
Bally/Midway
-
+
@@ -8384,6 +8441,19 @@
+
+ Gumball (clean crack)
+
+ 1983
+ Broderbund
+
+
+
+
+
+
+
+
Heredity Dog (clean crack)
1983
@@ -8549,6 +8619,23 @@
+
+ Jumpman (clean crack)
+ 1983
+ Epyx
+
+
+
+
+
+
+
+
+
+
+
+
+
Jungle Hunt (clean crack)
1984
diff --git a/plugins/data/load_dat.lua b/plugins/data/load_dat.lua
index e6d0c5d63b8..3e9f88dab80 100644
--- a/plugins/data/load_dat.lua
+++ b/plugins/data/load_dat.lua
@@ -84,7 +84,7 @@ function datfile.open(file, vertag)
end
fh:seek("set", data[tag1][tag2][set])
for line in fh:lines() do
- if line == "$end" then
+ if line:sub(1, 4) == "$end" then
return table.concat(output, "\n")
end
output[#output + 1] = line
diff --git a/src/frontend/mame/ui/selgame.cpp b/src/frontend/mame/ui/selgame.cpp
index 0642be59cb5..2e4c3c7de17 100644
--- a/src/frontend/mame/ui/selgame.cpp
+++ b/src/frontend/mame/ui/selgame.cpp
@@ -293,7 +293,7 @@ void menu_select_game::handle()
if (!isfavorite())
{
const game_driver *drv = (const game_driver *)menu_event->itemref;
- if ((FPTR)drv > skip_main_items && ui_globals::curdats_view < ui_globals::curdats_total)
+ if ((FPTR)drv > skip_main_items && ui_globals::curdats_view < (ui_globals::curdats_total - 1))
{
ui_globals::curdats_view++;
m_topline_datsview = 0;
@@ -302,12 +302,12 @@ void menu_select_game::handle()
else
{
ui_software_info *drv = (ui_software_info *)menu_event->itemref;
- if (drv->startempty == 1 && ui_globals::curdats_view < ui_globals::curdats_total)
+ if (drv->startempty == 1 && ui_globals::curdats_view < (ui_globals::curdats_total - 1))
{
ui_globals::curdats_view++;
m_topline_datsview = 0;
}
- else if ((FPTR)drv > skip_main_items && ui_globals::cur_sw_dats_view < ui_globals::cur_sw_dats_total)
+ else if ((FPTR)drv > skip_main_items && ui_globals::cur_sw_dats_view < (ui_globals::cur_sw_dats_total - 1))
{
ui_globals::cur_sw_dats_view++;
m_topline_datsview = 0;