Giter Club home page Giter Club logo

analogue_pocket_neogeo's Introduction

Neogeo for Pocket (0.8.1)

This is the port of the Neogeo Core made by Furrtek to the Analogue Pocket using the APF framework and some of my own code.

NOTE! read the installation and Usage as the default Bios file has changed and saves can cause an issue.

Bug fixes in 0.8.1

  • Increased the memory access from the ASYNC CRAM cores.
  • Changed the PLL timing and clocks to the cores. And changed how the B1 chip gets its video clock now from the LSPC chip. Audio still on its own clock from the PLL.
  • AES and MVS modes and clock changes
  • redone teh V2 Masking and offset to get all the PCM audio working on some games - Like Blue's Journey, NAM-74 and The Super Spy
  • Add some bug fixes that paulb-nl found including the C1 waits and audio issues.
  • On the fly Aspect ratio changes in the interact menu
  • Mapable buttons in the menu - so the player type options are removed.
  • Reloadable bios and game jsons while in the core.
  • Reset has been removed from th eleft trigger to the interact menu.
  • 320 or 304 output for some of thos games that dont use the full screen.
  • masking fixed to CROMS in some games

Installation and Usage

If you have version 0.7.5 or below installed, it is recommended that you remove it and re-install with the new release

  • There is a added file sfix.sfix required for this installation as well. please see below

The current Darksoft paks will work with this with the following file names: *(Working on the *.Neo files soon)

  • 68K PROG Asset: prom
  • 68K PROG1 Asset: prom1 for the 7 games the require it.
  • Z80 Asset: m1rom
  • CROM Asset: crom0
  • SFIX Asset: srom
  • Voice Asset: vroma0
  • Bios: "uni-bios_4_0.rom" - This needs to be in the "/assets/ng/common" - I upgraded to 4_0 so this might cause your pocket to not be able to launch so follow the How to use differnet BIOS below
  • Lo Bios: "000-lo.lo" - This needs to be in the "/assets/ng/common"
  • Sfix : "sfix.sfix" - This needs to be in the "/assets/ng/common" - Please make sure you have this files now!!!
  • Copy the folders in the Github (dist) or the release .zip into the root of your SD card
  • Place your game files grouped by game into its own directory in the "\assets\ng\common" folder.
  • If you have an issue with an error 257 this means that the save files in the "\saves\ng\Mazamars312" folder might need to be deleted as the max size of the saves can be 8Kbytes

The Autoloading JSON's provided by terminator2k2 all work with the games using the Dark Soft directory names in the "/assets/ng/common' folder

How to use change the game

  • While in the game, press the home button and /Core Settings/Load Game JSON Setup and select a new game.

How to use differnt BIOS for the core

You have 2 options:

  • Change the filename to the firmware name you want to autoload in the /assets/ng/comman folder (Line 46 in the /Cores/Mazamars312.NeoGeo/data.json)
  • While in the game, press the home button and /Core Settings/Load Bios and select an other bios file

Controllers

These are all mapped by the Interact menu with Analogue Key mapper. So I have removed the old player controler types as it is not needed now.

Are Memories Supported?

No at this moment, there are a lot of moving parts in the Neogeo.

Will you get NEO files working?

Soon I want to do this in later versions at this moment. I dont fully understand how these files fully at this moment. So this is a limit on my side for this moment.

Do I have to build JSON files for each game

No not evey game, terminator2k2 has build every game that is in the ROMset that also configures the core for special chips as well. So big thanks to him on this. His code via python is in the folders as well. He has also added Xeno Crisis JSON as well, So please support Bitmap Bureau and get their fantastic game.

Pocket APF Modules

I've made the following modules which are free to use without any license and full permission from me to create with them :-)

  • CRAM (ASYNC) Access
  • SDRAM (SYNC) Access
  • SRAM (ASYNC) Access
  • I2S Audio Bus

Can I play in PAL mode

Yes. Once in the game, press the Anaolgue Pocket's Home button then direct yourself to the /Cor Settings/. In there you can select between NTSC and PAL on the fly. You can even move the screen around.

Can I play in AES mode

Yes. Once in the game, press the Anaolgue Pocket's Home button then direct yourself to the /Core Settings/ then to MVS/AES. In there you can select between MVS and AES and this does change the clock speeds too but causes a reboot due to the clock change. This will not change in the UniBios startup display as that is a feature of the Bios, so go into the UniBios setup and change it in there :-) Thanks

Are there bugs?

Yes. the current known bugs are in AOF 1 where some of the sprites are not displayed correcty (Im guessing a masking issue), and sometimes I have seen The Super Spy's logo will not come up. The next build I hope to have these done.

Why is the refresh different then to the Mister core?

Not anymore. im out by only .001 of a frame now!!! YAY

Some games are cut off on the sides of the image

Try running in High Res mode as that will run the game in 320 pixels and adjust both the screen X and Y to get the best image output.

What caused the slow downs in the previous build?

  • This happened due to me moving the SROMS into the CRAM memory that has both the 68K and Z80 programs with the SROM getting the highest prority. Thus the 68K was being staved of access.
  • So not only did I decrease the time to get the data from the CRAM from about 11 clock cycles to about 7-8 at 96mhz. But also I made the video core more accepting to a slight delay for SROM data if the 68K needs access first.
  • From what I can see this has improved the core a lot. Just not Metal Slug 2... we all know that it was full of slow downs even on real hardware. Get MSlug X or 2 Turbo and see the difference.

Aspect ratios are weird???

Yes that is why I have configered the core so you can have 4 options between 304 and 320 H pixel outputs. By default in the list there is:

  • 19:15 Best for the 304 output
  • 4:3 Best for 320 output
  • 160:144 Best for full screen on the Pocket
  • 16:9 Best for outputing fullscreen on a 1080P screen

No the Aspect rations are really weird!!!

Well if you dont like them, you can change them yourself........ in the following json files :-)

  • Video.json - in here there are the top 4 entrys are for the 304 resolution and the bottom 4 are for outputting in 320. From there you can change each one to the aspect ratio you want to see. Look for the aspect_h and aspect_v entries. Make sure you do this for both the 304 and 320 groups. Or mix it up thats your option here :-)
  • interact.json - search for "name": "Video Scaler output", "id": 7, and in that list there are only 4 entrys that work with top and bottom 4 entrys in the Video.json. From here you can name them to what ever you want for your own reference from the Video.json. Have a play with it as it will only affect the scaler. Hell, have a go with the rotation with values of 90 or 180 and give yourself a challange :-)

The clock does not work

Yes, I need to build the rtc and timer for the core for this to do this. in the list for the next build.

Why where you late with this release and the one before?

I have been both moving house and renovating at the same time. So I didnt want dust on and in my computer and Pocket. 20sq meters of ripping up tiles is a fun task but very dusty job. And add painting every room and building a new kitchen. Then there was building the Amiga core and working on a MPU for Media access on the pocket

License

  • All the code I have built is free and open to everyone to help on building cores.
  • All other Authors code is of their own licenses, so please support them.

How can we support you?

I would like to ask that you support the people like Furrtek and other devs as they have done a lot of work into these cores. I wish to support them by handing over my code for the modules I have made for making cores easier on the Pocket. However I am a coffee freak so feel free to buy me a coffee if you like

Are you getting paid by Analogue for all this work?

No not for any of the cores I have made for the pocket, they have given me hardware and always helped me when I have asked, so I am grateful for them for doing this. I do build these on the pocket as I do enjoy having a handheld device that I can use while on the train or going else where for my gaming fix(next to coffee). But the main thing is I love programming and love classic consoles when I can play them.

Why not Mister!

Mister stuff will come out soon, as I would like to see more cores out there. Right now Im already doing a lot and am not ready to get into more projects at this moment.

Credits

  • Furrtek - Please support Furrtek as much as you can as they have done a lot with the community and I enjoy seeing the de-cap processes they do.
  • Jotego - For his cycle accurate JT12 and JT49 implementation that is used in this core.
  • [Jorge Cwik] ([email protected]) The FX68K M68000 cycle accurate, fully synchronous CPU
  • [sorg - Alexey Melnikov] (https://github.com/sorgelig) Has created many of the special chips in the core and operates the Mister distribution
  • Mister team Everyone that is in this to build great cores
  • [paulb-nl] (https://github.com/paulb-nl) Great finds on the last sprites not getting rendered, JT11 bug fixes for sound in cores and the C1 wait stat bugs.
  • Please advise if there are others in this core as I do want to thank them and make sure they are supported on this.

Special Thanks

  • Electron Ash - Mate thanks for the laughs and the advise on things
  • retrocaster and thehughhefner for advising me on more names of people for the credits how put work into this core
  • terminator2k2 - advising on how some of the keymapping are on some controllers (Im still a fan of the SNES button layout tho LOL) And also building up the instanst.json file for this
  • alexcom - knows a lot of the NeoGeo games and was testin games while I was building the core. But that bloody pixel clock dude LOL
  • Bitmap Bureau - Loved playing Xeno Crisis and it was a good test rom for finding the audio masking that was happening - Will build that 32Mbyte Stereo version up soon!!!

Fun Facts

Everyone keeps on calling me Australian because my Github was created when I first moved to Auzzie about 12 years ago. Im in fact from New Zealand (Also known as Kiwis). So Im not going to let the Auzzies claim me like they try to with the band Crowded House and the cake known as Pavlova. Thats ours!!!! You Auzzies can keep Russel Crow tho HAHAHA.

  • Every time a Kiwi moves to Australia - The average IQ of both countries increases.
  • Fosters Beer is an Australian beer that is not made in Australia. Talk about marketing there!!!
  • After all the jokes we Kiwi's and Aussie say to each other, we will always come together for a beer and party with lots of laughs.

analogue_pocket_neogeo's People

Contributors

mazamars312 avatar davewongillies avatar timotheeg avatar

Stargazers

Dennis Stewart avatar skooch avatar RndMnkIII avatar  avatar  avatar Jon Mayo avatar  avatar Sébastien Roccaserra avatar  avatar Jiajing LU avatar Onur Büyükçağlar avatar  avatar Super Retro City avatar  avatar  avatar  avatar Enie Weiß avatar Jason Mitchell avatar Francisco Jiménez Cabrera avatar Dan Long avatar Kevin Hiscott avatar  avatar  avatar  avatar laurentius avatar David Gaxiola avatar  avatar  avatar  avatar Yukino Song avatar Logan Shire avatar  avatar  avatar Trey Turner avatar  avatar Kevin Kestner avatar  avatar Keenan Payne avatar Martin Markert avatar  avatar Duane King avatar James Edward Lewis II avatar James Benner avatar  avatar Max Fletcher avatar Daboo avatar  avatar Richard Anderson avatar  avatar Super Retro City avatar  avatar Shannon Freeman avatar  avatar  avatar  avatar Nick Ortakales avatar Luke Jones avatar Frederik Vogel avatar  avatar Eric Lewis avatar  avatar Joe Nichols avatar Brian Jackson avatar Alexander Revo avatar Andres Ruiz avatar Andrejs Agejevs avatar  avatar Eric Karnes avatar  avatar  avatar Larson T. avatar Jon Abrams avatar Ken Meservy avatar  avatar  avatar Nathan avatar Joe avatar  avatar  avatar  avatar Richard Ruedin II avatar  avatar Devin Sova avatar Kuro Houou avatar James Czaja avatar  avatar  avatar Sunny avatar  avatar  avatar Angel Mojarro avatar  avatar  avatar Mathieu DARTIGUES avatar Danny, a person. Me. avatar John Wu avatar Christian Nieves avatar Eric Smith avatar Joey Gauthier avatar Cédric Simon avatar

Watchers

Sébastien Roccaserra avatar Jeremy O'Brien avatar Eric MORAND avatar Mike Holzinger avatar  avatar Lmame avatar  avatar James Cloos avatar Game Paused avatar Stanley Chan avatar Rob Brammeld avatar  avatar  avatar  avatar Xanderale avatar Pentarou avatar Sho avatar  avatar  avatar Rey Abe avatar  avatar Steven the 2nd avatar Giles Hamson avatar  avatar  avatar  avatar  avatar  avatar  avatar Kevin Kestner avatar  avatar Ken Meservy avatar  avatar  avatar  avatar  avatar  avatar

analogue_pocket_neogeo's Issues

v0.8.0 controls missing for Pad 2

When going to setup controllers for this core, it's possible to configure which buttons to use for Pad 1. However, if a Pad 2 is connected, there is no way to set up the buttons.

Can the same settings for Pad 1 be exposed for Pad 2?

Thank you.

Unibios menu covers screen in garbage

Bringing up the Unibios covers the screen in garbage, which doesn't seem to go away after closing the unibios menu. Games are close to unplayable after using the unibios menu.

I don't know if this is in every game, as I only tested the various Metal Slug games.

Nope not in the core, but if you use unibios you can press start and select to pause in software

Originally posted by @Mazamars312 in #49 (comment)

Question: is an overclocking option possible?

Metal Slug 2, even the turbo rom, really struggles, I'm wondering whether the Pocket has enough juice to have an option to overclock the neogeo core, so it can play on the pocket even better than the original?

I'm asking candidly because I have no idea what it takes to make it happen, or if it's possible at all.

Thanks!

Access to BIOS settings

With version 0.5, I was able to set the BIOS options (region/mode) before a game started. With 0.6, Games are defaulting to USA/CONSOLE and I can't seem to change this. Is there anyway to configure the BIOS with 0.6?

Slow Downs on Super Sidekicks/Street Hoop with V0.7.5

With V0.6.0 there is no slow down in the game. Once i updated to v0.7.5 in order to be compatible with new analogue pocket firmware, heavy slow downs in this game.

Thank you very much for your effort and this neo geo core for the analogue pocket

Audio Layers Missing/Distorted

Some of the audio layers are missing from certain games, eg. in the opening level of Metal Slug 2 the Arabic style instrumental layer isn't present. Other games have distortion for some audio elements, eg. Samurai Shodown 2.

Neo Turf Masters - gaps in UI sprites

Some gaps in UI sprites can be seen in the player banner that appears at the start of the turn and around the shot power gauge - see the arrow at 50% and the low/nice/high labels.
Does not appear in the current MiSTer core.
Pocket
image
Mister NeoGeo 20220403
image

Crossed Swords 2 (CD Conversion) - Glitched graphics and missing lauers

20230118_154944
When playing the NeoGeo conversion of Crossed Swords 2, some sprite layers will flash or disappear completely. The game does not crash even if the video is completely missing or garbled.

Secondary issue is the the game can only be played with the Overdrive core. The standard core errors out with "File ID [257] too large".

Edited to add image of issue
Edit: Forgot to add I did not have this issue with Alpha_0.7.5_2022-19-09

Rename sfix.sfix

The core is looking for "sfix.sfix", where the original file is named "sfix.sfx". Renaming sfix.sfx to sfix.sfix got the core running for me. This is reflected in your README.md and Core.

Scrambled graphics on some layers with v0.7.5

image
image

With version 0.7.5 I see lots of scrambled graphics in some layers. Please see screenshots for details (The game used for the example is Andro Dunos).

This happens with all games, multiple bios files, different compilations of the core, version 0.7, different versions of the games, etc. I have reported this on Reddit and got one response of a user having the same issues. My Analogue Pocket is one of the newer ones for Group B preorders (maybe slight differences in memory tolerances in some of the new models?)

My files have been tested on a second Analogue Pocket that did not have any issues to confirm that the configuration was correct.

File size error

Been enjoying this core immensely since it's release.

Since updating to 8.1, I'm getting an error when loading a significant number of these Darksoft roms. "Error in framework File ID [257] too large"

Certain roms boot without issue, no error message.

I'm getting the error in too many games to list them all here. A few examples:

2020 Super Baseball
Aero Fighters 2
Fatal Fury
Ghostlop
KoF '94
Mutation Nation

Please help!!

Last Hope scrambled graphics

Unfortunately I am not able to get this game to run in a visibly good way. the graphics are always scrambled.
Gameplay/sound seem fine. As the game works good on the MiSTer I would like to know how to assemble the rom?

Do you need to concat the C-Roms out of order?
20230116_072616

Data slot allocation size too small for homebrew/demos (ex: Bad Apple)

The current 64MB memory slot allocation is too small for loading 128MB demos (ex: bad apple) and there is no support for CROM1.

Frequency: 100%
Impact: Minor

Description:
Some demo/homebrew NeoGeo applications require > 64MB of space. Usually they include a secondary CROM file (CROM1).

Repro Steps:
Download the Bad Apple demo in zip format (available on your favorite search engine)
Create folder Assets/ng/common/bada
Copy the contents of the ZIP file into the folder
Rename the files as follows:
bada-c1.bin -> crom0
bada-c2.bin -> crom1
bada-m1.bin -> m1rom
bada-p1.bin -> prom0
bada-s1.bin -> srom
bada-v1.bin ->vroma0
(this is simply to keep in convention with the standard json format).
Create a JSON file under Asssets/ng/Mazamars312.NeoGeo called "Bad Apple Demo.json"

Result:
Only the first character rom loads. Demo plays with corrupt graphics.

Attempted workarounds:
Adding a slot ID 10 to data.json that mirrors slot 5, but required = false, adding slot 10 to asset JSON file.
Concat crom0 and crom1 (too large, if data slot size is updated to 128MB in data.json, it loads with corrupted graphics).

Again, super minor issue and possibly not worth fixing, but it's a popular demo and other NG homebrew software may also use the larger split CROMs.

Playing with the CMC, SMA, and PVC values did yield some different corruptions, so perhaps there's a combo of memory mapping flags that could load a concatenated 128MB CROM0, but a cursory glance makes me think the memory is masked down to 64MB on that slot.

not all roms work

loaded many roms, followed your instructions and only metal slug, metal slug 2 and x work despite me using uni bios 4 which i renamed as per what u mentioned.

Add Jotego to the list of credits

As the readme mentions informing you of other devs involved in the initial core that should be mentioned, I noticed that it uses the JT12 and JT49 cores created by Jose Tejada (@topapate) more commonly known as Jotego. Just thought it was worth mentioning :)

Bad Apple demo - possible to get working?

Hi,

I've been trying to get the Bad Apple demo working on the Analogue Pocket but despite trying to setup the JSON files, I have had no luck.

Do you know if it is supported and it so, how I would go about trying it out?

Cheers

Giles

BIOS setting not saving after power-off

Steps to reproduce:

  1. Access BIOS settings during boot by holding A+B+C
  2. Change region/mode to USA/Console
  3. Wait for game to start. Play for a while.
  4. Press "Home" button to return to the menu. Choose "Quit"
  5. Power off Analogue Pocket by holding power button until the console shuts down
  6. Power on console by holding power button
  7. Launch the same ROM

Expected:
BIOS region/mode remains the same

What happens:
BIOS region/mode is reset to Europe/Arcade

Screen rotation option

We're working on a vertical/TATE shmup for the Neo Geo. Would adding a rotate screen feature be generally possible on the Analogue Pocket by any chance?

Predefined folders

There seems to be an issue with using the predefined folders which you provide. When placing the rom files into a game folder it ends up blank on the Pocket.
Using the a game‘s folder as is from the darksoft set and copy paste the game.json file from the predefined game folder into it seems to solve this issue. I could reproduce it and it happens every time. I don‘t know if this happens on a Windows PC but it does happen on macos in my case.

Sug: option to disable left shoulder (L1) reset

Thanks for this great core!

It would be great to be able to remap the controls, especially according to user playstyle for playing certain fighting games, but I saw in another issue that this is not planned.

A small suggestion that it would be great to have the option to disable the left shoulder (L1) game reset. It's sometimes too easy to accidentally use that button and reset a game in progress.

Zipped Rom support

Any chance this will support zipped ROMs in the future like "mslug.zip", "turfmast.zip", etc.?

Default Button Mapping Suggestion

When the user remappable controls become a thing, this may not matter, but I'd recommend adjusting the default button layout to the recently released official SNK Neo Geo pads that came with the MVS Mini and Arcade Stick Pro:
630804_211045_01_front_zoom
This would look like this on the Pocket (image by terminator2k2 on Discord):
analogue_pocket_header

This is an optimal layout for many games. Many fighting games (certainly the most popular) have punches on A and C, and kicks on B and D. For games like Metal Slug and other platforms, action is on A, and jump on B (with a third option on C), and this also works well.

Pad 2 Support

Add the option for Pad 2 to remap their controls when the Analogue Pocket is docked. Pad 2 uses the default mappings currently.

Core Doesn't support Stereo version of XenoCrisis

There are 2 versions of the XenoCrisis rom that you get when you purchase from BitMap Bureau:

  • A Mono mixed version with everything in one 16 MB vrom
  • A Stereo version with a 32 MB vrom (I believe two banked 16 MB roms, concatenated together)

The current version will throw a warning over this 32 MB vrom size, which is probably expected as its abnormal, but there does appear to be a way to implement for proper playback as it has been done via MiSTer.

The original file does have a special parameter to be included with the romset.xml listing for MiSTer, which is: vromb_offset="0x1000000"
The ROM can be officially purchased here:
https://shop.bitmapbureau.com/products/xeno-crisis-neo-geo-aes-mvs-rom-download

How do we reinstall?

I tried to overwrite my original install with the newest release, and now my games do not work. How do I reinstall as is recommended?

Edit: Also, thank you for the release of this core.

Xenocrisis MiSTer version "too large"

The larger Xenocrisis ROM still doesn't load, with an error message indicating it's too large. I know it's not one of the original NeoGeo ROMs so it isn't necessarily expected to work based on the readme, just wanted to document it here.

Feature: Pause option

Can a pause option be added?

When playing in arcade mode, there's no way to pause the game that's running. Even when bringing up the analogue menu, the game is still running in the background.

Bios Unreadable

With the suggest BIOS, in some games the options are not readable.
20220814_175910
When an option is toggled or changed, it's clear something is changing (vague collections of white pixels appear, not enough necessarily to tell what shape they represent) but it's more or less impossible to tell what I'm setting the values to.

Reset button

Core is amazing whole family is having the best time playing through these great arcade games , is it possible to move the reset game button to a menu option. My nephews are playing through the metal slugs and keep hitting the shoulder button equivalent on the 8bitdo arcade stick and resetting the game. I know it’s user error and most people won’t do that but it would make a big difference to these young guys!

Control options unavailable for Alpha 0.6.0

I'm able to run Alpha 0.6.0 for games well, but can't adjust the controls. According to the directions:
"Press the home button then goto "/Settings/Cores/Player Type 1" and selectet between the 3 types"

However, I don't see a "Cores" menu when doing this. I just see the following items in the top-level Settings:

  • Pocket
  • Analogue OS
  • Library (disabled)
  • Memories
  • About

Is there a prerequisite that should be added to the directions to see the Cores menu?

Aspect ratio

NeoGeo is 4:3, not 75:56 (almost but not quite 4:3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.