Gens4All with Z80 Emulation

Place for discussing homebrew games, development, new releases and emulation.

Moderators: pcwzrd13, deluxux, VasiliyRS

User avatar
WedgeStratos
blackout!
Posts: 134
Contact:

Re: Gens4All with Z80 Emulation

Post#191 » Fri Jan 28, 2022 2:24 pm

aldair wrote:
WedgeStratos wrote:
TapamN wrote:
  • Precompiled Windows game list compiler included in src/glparse. I don't use Windows, but I was able to cross-compile with MinGW.
  • Larger game lists are supported. The maximum size of a game list file was originally 100 KB bytes, with 1000 entries. These limits have been raised by 75%.
The template generator of the game list compiler doesn't support ZIP files. That's more work than I wanted to do, so you'd have to have it run on the BIN files, compress the BIN files into ZIP files with the same name, then do a search and replace on the game list source file to replace .bin with .zip.

Also, the "data" directory in the 7z file doesn't need to be included on a disc, it's only used when compiling Gens4All. The stuff in there gets inserted directly into the 1ST_READ.

The data part is good to know. I'm curious though, considering what I'm trying to do with glc, how would one go about sending several ROMs into glc for an output all at once? I'm testing the waters but not getting good results. I've tried command redirection by generating a list using "dir > list.txt" and then trying to use the contents of list.txt with "glc -g OUTPUT.TXT < list.txt" but it simply operates without results, and generates the mostly empty OUTPUT.TXT file. It doesn't appear to take just a DIR for the data, and I'm not too well versed in using Windows command prompts It'd probably be streamlined if I was on Linux, but all my Dreamcast work has been on Windows thus far. Obviously passing list.txt on its own doesn't work because it is looking for header data from the ROM itself, but glc doesn't appear to accept the method I'm using for redirection.

I've been overcomplicating it. I simply made a shortcut, added "-g output.txt" to target, and then drag-and-drop works fine on the shortcut.

To make iso to dreamshell: run Create_katana_ISO.bat
ISO Make pack 2010: iso_make.7z

Will consider it for the next release of G4D.

User avatar
WedgeStratos
blackout!
Posts: 134
Contact:

Re: Gens4All with Z80 Emulation

Post#192 » Fri Jan 28, 2022 9:49 pm

GENS SMASH PACK Anniversary Release, powered by Gens4all v4.3

preview.png
preview.png (113.97 KiB) Viewed 4719 times


This release is available in CDI and ISO formats for CD-R, GDemu and Dreamshell users. I've implemented the gamelist for this, and the experience will be useful for improving Gens4Dreams. That said, I hope some of you find this useful as a replacement for Sega Smash Pack Volume 1, what with its terrible sound emulation and all...

User avatar
animekai
lithium
Posts: 35
Contact:

Re: Gens4All with Z80 Emulation

Post#193 » Thu May 12, 2022 7:50 pm

i'm having troubles for compiling the GLC program for generating the gamelist.bin, can someone send me a pm with the glc program compiled plz?

TapamN
letterbomb
Posts: 149

Re: Gens4All with Z80 Emulation

Post#194 » Fri May 13, 2022 7:37 am

The latest version should have a precompiled Windows binary included as src/glparse/glc.exe

User avatar
animekai
lithium
Posts: 35
Contact:

Re: Gens4All with Z80 Emulation

Post#195 » Tue May 17, 2022 9:17 pm

TapamN wrote:The latest version should have a precompiled Windows binary included as src/glparse/glc.exe


can you help me with the lastest version, because the one i have the src doesnt have any glc.exe on it, plz help.

TapamN
letterbomb
Posts: 149

Re: Gens4All with Z80 Emulation

Post#196 » Wed May 18, 2022 2:48 am

animekai wrote:can you help me with the lastest version, because the one i have the src doesnt have any glc.exe on it, plz help.

Are you sure you're looking at the latest version? It's in the file in this post. I just downloaded it and checked that it's in there. Open the 7z file, go into src, go into glparse, and then use glc.exe.

User avatar
MoeFoh
Uber
Posts: 1038

Re: Gens4All with Z80 Emulation

Post#197 » Sat Jun 04, 2022 5:11 pm

Dir of titles in the GAMES dir:
Attachments
games_dir_gens4dreams_v4.3rc2.txt
Titles
(22.12 KiB) Downloaded 124 times
Last edited by MoeFoh on Sat Jun 04, 2022 5:14 pm, edited 1 time in total.
“The problem with the world is that the intelligent people are full of doubts, while the stupid ones are full of confidence.”
- Charles Bukowski

BLEEN
shadow
Posts: 5

Re: Gens4All with Z80 Emulation

Post#198 » Tue Jun 07, 2022 5:23 pm

TapamN wrote:After seeing some of what was going on in the Gens4Dreams thread, I ended up making another small update. Here are the changes:
  • Non-interlaced 240p mode added. I think that on NTSC, ideally, the Dreamcast's interlace mode would match the Genesis's (with an option to force interlaced for displays that don't handle non-interlaced well), but that's more work than I want to do now. I looked at what the 240p Test Suite did when setting the video mode, and tried to replicate it. I haven't actually tested this out on a real TV, so it's off by default. To enable 240p, press Y on the title screen before pressing Start. Interlacing is still enabled in the loader.
  • Button map display. Press Y on the controls menu to show the button mappings for the highlighted layout.

The rest of the chances are improvments to the game list feature:

  • Precompiled Windows game list compiler included in src/glparse. I don't use Windows, but I was able to cross-compile with MinGW.
  • Larger game lists are supported. The maximum size of a game list file was originally 100 KB bytes, with 1000 entries. These limits have been raised by 75%.
  • Better handling of non-game entries. Pressing A on an entry with no ROM files specified before would cause the loader to try to load a non existent game (which would cause the screen to flicker). Now entries without a ROM file do nothing when A is pressed. So you can add messages to a list like this:

    Code: Select all

    Game: This is a message
    Game: Nothing happens if you press A
    Game:
    Game: You can add blank lines
    Game:
    Game: Altered Beast (This actually loads a game)
    Rom: abeast.bin
  • Links that allow switching between game lists have been added, so it's possible to separate official games, hacks, and homebrew titles or stuff like that. You can add a link with a entry using this format:

    Code: Select all

    Game: [[Go to hacks]]
    Rom: hackgamelist.bin
    Switcher

    The brackets in the "game" title aren't necessary, but currently the loader doesn't do anything to make the link stand out on it's own, so you'll have to make it clear that it does something. There's no way to automatically go back a list, you'll have to add a link that goes back.
  • Added support for a "!" section to the game list index when using the "Letter:" command. It's intended to be used to jump to links to other game lists.
  • It's possible to specify line scroll emulation with "Scroll:" entries. Possible settings are line (default), line_a4, line_b4, cell, cell_a4, cell_b4. They match up to the settings in the in-game video menu.
  • It's possible to disable shadow emulation with the option "Shadows: off"
The template generator of the game list compiler doesn't support ZIP files. That's more work than I wanted to do, so you'd have to have it run on the BIN files, compress the BIN files into ZIP files with the same name, then do a search and replace on the game list source file to replace .bin with .zip.

Also, the "data" directory in the 7z file doesn't need to be included on a disc, it's only used when compiling Gens4All. The stuff in there gets inserted directly into the 1ST_READ.

Hi, TapamN! I really appreciate the hard work you've managed to pull off with this release! It works extremely well! I just have one question. Is it possible for you to release a version of this that supports the correct aspect ratio/resolution in 240p thru S-video? A lot of users still use the Dreamcast on CRTs and the Genesis in an emulated 240p state would look amazing! I'm sure everyone who still uses S-video (and RGB and composite) would be super grateful! The Dreamcast on a CRT looks so, so good already! Genesis @ proper 240p would be the icing on the cake! Most, nearly all, CRTs don't have a VGA port and S-video is pretty close to RGB quality-wise and much better than composite.

I've read thru multiple threads and tried multiple releases but pretty much enabling/disabling 'Interlace' mode has no effect. The graphics, while they do look great, you can tell there's a blur because something is not displaying the resolution correctly? Would that be an easy fix?

Or is it possible I can compile this to display correctly myself? I just wouldn't know where to start. Thanks once again!

TapamN
letterbomb
Posts: 149

Re: Gens4All with Z80 Emulation

Post#199 » Tue Jun 07, 2022 7:21 pm

BLEEN wrote:Hi, TapamN! I really appreciate the hard work you've managed to pull off with this release! It works extremely well! I just have one question. Is it possible for you to release a version of this that supports the correct aspect ratio/resolution in 240p thru S-video? A lot of users still use the Dreamcast on CRTs and the Genesis in an emulated 240p state would look amazing! I'm sure everyone who still uses S-video (and RGB and composite) would be super grateful! The Dreamcast on a CRT looks so, so good already! Genesis @ proper 240p would be the icing on the cake! Most, nearly all, CRTs don't have a VGA port and S-video is pretty close to RGB quality-wise and much better than composite.

I've read thru multiple threads and tried multiple releases but pretty much enabling/disabling 'Interlace' mode has no effect. The graphics, while they do look great, you can tell there's a blur because something is not displaying the resolution correctly? Would that be an easy fix?

Or is it possible I can compile this to display correctly myself? I just wouldn't know where to start. Thanks once again!

Yeah, I wasn't able to test the 240p mode myself. I looked at the source for the 240p Test Suite, tried to adapt it to Gens4All, and just hoped that I did it right. I normally use a VGA CRT, next to my computer and Dreamcast, that I use to test things with. I have a small 480p LCD TV that I could use to test things with, but that wouldn't be good for testing 240p. I also have a CRT TV from around 1999 or 2000, but that's in another room and it's too big to move to where I keep my computer, so it's very inconvenient to test with. I'll try taking another look at it, but I don't know when.

Getting the aspect ratio correct for 256x224 is tricky. The Dreamcast doesn't really support resolutions other than 640 or 320 wide. (You can kind of fake some of them by doing things by adjusting the overscan or sync signal widths, but that's not well supported by all displays.) The best option for getting aspect correct 256 wide resolution on the DC would be to basically render to a point sampled 512 wide texture, then do a bilinear upscale to 640. This would avoid a lot of the blur from a 256->640 direct bilinear upscale, and limit the shimmering from uneven pixel widths from drawing stretched point sampled to 640.

The vanilla KOS PVR driver isn't capable of doing that; it's render-to-texture is way to basic pull it off at full speed (it only supports rendering to framebuffer sized textures, and that would be too slow). I've written my own driver with better render-to-texture support, but I'd have to convert Gens4All over to using that. The rendering code wouldn't need any major changes, just the initialization and mode/resolution switching. Maybe I'll try working on it at some point, but I've been focusing on other things right now.

Compiling Gens4All from scratch is a bit more tricky than normal KOS programs. Not only do you need a KOS environment, you need DCSDL and the development libraries for GLib installed. When Gens was originally ported by Chui, he used GLib for part of the compilation process (GLib isn't used on the DC itself). The 68K emulator is written in assembly, but not by hand. A C program (or maybe it was C++?) is used to generate the SH-4 assembly for the 68K emulator, and that uses GLib for... something. I don't remember what for.

If you're using Linux or Cygwin, it's easy to install the GLib dev libraries through whatever package manager you use. If you're on another system, I don't know how you'd install it. But if you already have a KOS dev environment, I could upload the object files. Then you wouldn't need to compile the 68K core from scratch and could avoid the GLib dependency, as long as you don't "make clean".

User avatar
MoeFoh
Uber
Posts: 1038

Re: Gens4All with Z80 Emulation

Post#200 » Tue Jun 07, 2022 7:54 pm

BLEEN wrote:
TapamN wrote:After seeing some of what was going on in the Gens4Dreams thread, I ended up making another small update. Here are the changes:
  • Non-interlaced 240p mode added. I think that on NTSC, ideally, the Dreamcast's interlace mode would match the Genesis's (with an option to force interlaced for displays that don't handle non-interlaced well), but that's more work than I want to do now. I looked at what the 240p Test Suite did when setting the video mode, and tried to replicate it. I haven't actually tested this out on a real TV, so it's off by default. To enable 240p, press Y on the title screen before pressing Start. Interlacing is still enabled in the loader.
  • Button map display. Press Y on the controls menu to show the button mappings for the highlighted layout.

The rest of the chances are improvments to the game list feature:

  • Precompiled Windows game list compiler included in src/glparse. I don't use Windows, but I was able to cross-compile with MinGW.
  • Larger game lists are supported. The maximum size of a game list file was originally 100 KB bytes, with 1000 entries. These limits have been raised by 75%.
  • Better handling of non-game entries. Pressing A on an entry with no ROM files specified before would cause the loader to try to load a non existent game (which would cause the screen to flicker). Now entries without a ROM file do nothing when A is pressed. So you can add messages to a list like this:

    Code: Select all

    Game: This is a message
    Game: Nothing happens if you press A
    Game:
    Game: You can add blank lines
    Game:
    Game: Altered Beast (This actually loads a game)
    Rom: abeast.bin
  • Links that allow switching between game lists have been added, so it's possible to separate official games, hacks, and homebrew titles or stuff like that. You can add a link with a entry using this format:

    Code: Select all

    Game: [[Go to hacks]]
    Rom: hackgamelist.bin
    Switcher

    The brackets in the "game" title aren't necessary, but currently the loader doesn't do anything to make the link stand out on it's own, so you'll have to make it clear that it does something. There's no way to automatically go back a list, you'll have to add a link that goes back.
  • Added support for a "!" section to the game list index when using the "Letter:" command. It's intended to be used to jump to links to other game lists.
  • It's possible to specify line scroll emulation with "Scroll:" entries. Possible settings are line (default), line_a4, line_b4, cell, cell_a4, cell_b4. They match up to the settings in the in-game video menu.
  • It's possible to disable shadow emulation with the option "Shadows: off"
The template generator of the game list compiler doesn't support ZIP files. That's more work than I wanted to do, so you'd have to have it run on the BIN files, compress the BIN files into ZIP files with the same name, then do a search and replace on the game list source file to replace .bin with .zip.

Also, the "data" directory in the 7z file doesn't need to be included on a disc, it's only used when compiling Gens4All. The stuff in there gets inserted directly into the 1ST_READ.

Hi, TapamN! I really appreciate the hard work you've managed to pull off with this release! It works extremely well! I just have one question. Is it possible for you to release a version of this that supports the correct aspect ratio/resolution in 240p thru S-video? A lot of users still use the Dreamcast on CRTs and the Genesis in an emulated 240p state would look amazing! I'm sure everyone who still uses S-video (and RGB and composite) would be super grateful! The Dreamcast on a CRT looks so, so good already! Genesis @ proper 240p would be the icing on the cake! Most, nearly all, CRTs don't have a VGA port and S-video is pretty close to RGB quality-wise and much better than composite.

I've read thru multiple threads and tried multiple releases but pretty much enabling/disabling 'Interlace' mode has no effect. The graphics, while they do look great, you can tell there's a blur because something is not displaying the resolution correctly? Would that be an easy fix?

Or is it possible I can compile this to display correctly myself? I just wouldn't know where to start. Thanks once again!


You can test your rig for 240p display with this disc/cdi:
viewtopic.php?f=5&t=15673

Info on previous version:
https://junkerhq.net/xrgb/index.php?tit ... test_suite

Last edited by MoeFoh on Tue Jun 07, 2022 10:23 pm, edited 2 times in total.
“The problem with the world is that the intelligent people are full of doubts, while the stupid ones are full of confidence.”
- Charles Bukowski

  • Similar Topics
    Replies
    Views
    Last post

Return to “New Releases/Homebrew/Emulation”

Who is online

Users browsing this forum: No registered users