Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - ponut64

Pages: [1] 2 3 ... 15
General Jo Engine Help / Re: TGA 8-bit in background
« on: January 21, 2022, 11:07:40 pm »
Check the "demo - vdp2 plane".

While not exactly what you want, it does demonstrate the process of loading an indexed color targa file to a VDP2 background layer.
You could copy this structure entirely, and simply not rotate the background layer.

General Jo Engine Help / Re: How to properly convert WAV to PCM?
« on: September 03, 2020, 01:17:28 pm »
You are converting it correctly, the problem is inside the audio playback function.

I can't remember how exactly to change it inside Jo. You can join the segaXtreme discord, or the segaXtreme forum, and we can give you more direct assistance (though we will push you outside of jo engine to solve this problem).

You can also check out emerald nova game's tutorials and archived streams on youtube.

To be clear, the function you're looking to use is slPCMOn. That functions' arguments are pretty complicated and you will need to go through the SGL manuals for it.

Free talk / Re: Very busy
« on: February 01, 2020, 10:26:44 am »
Dear Johannes,

I really wish you were around!
We at segaXtreme are working on a lot of things that would be very helpful for an eventual SGL replacement library.

Not only is there libyaul (an SDK), I have also written a functional sound driver, and XL2 has helped me build a render path. He also made a model converter which I have forked.

I'm just letting you know that because of the springboard Jo Engine was to us, we've gone forward and made progress with Saturn libraries, but we're all in our own park.

As soon as you have free time, we would all love to help you integrate these things back into Jo Engine and make it not only easy, but truly great.

Free talk / Re: Jo engine in Discord
« on: January 15, 2020, 05:41:14 am »
The Saturn Dev discord is SegaXtreme.

Share your code / Re: 68K Access / Sound Driver Demo
« on: January 07, 2020, 10:20:18 pm »
Those are the correct outputs. If you look in the main.c of the 68k program, that's the data it writes.

Just to be clear, this is _not_ a driver yet. Simply, I shared the environment I am using to make the driver.

Share your code / 68K Access / Sound Driver Demo
« on: January 04, 2020, 10:42:26 am »


Thanks cWx for linker script and help

Includes gcc 4.8 elf compiler environment

compiles main.c in PROJ folder to a binary file

the 68k_test is a jo engine demo which will load the binary to sound RAM and run it

it will print the memory written by the program on-screen.

I will be going further....

Free talk / Re: Very busy
« on: November 24, 2019, 04:43:29 am »
I'm months late but its good to hear from you :)

Project announcement / Re: what p64 does
« on: November 23, 2019, 02:34:41 pm »
ZIP file contains source code for new render path, including animated entities from XL2's binary file converter.
Also compiles in high-res mode.

General Jo Engine Help / Re: Best way to: Put an image background
« on: July 01, 2019, 04:31:26 pm »
It's possible that one or another of jo engine's memory pointers are going out of range when you repeat this much.

It may not be in the documentation, but it is definitely in the source code.

Upon review, every call of jo_tga_loader will malloc.
It is true that jo_free_img is supposed to clear this. But, it is important you ensure that this function never repeats on a pointer unless that pointer is allocated.

There's also the issue of runtime performance.
The file system expects a system halt. You could try putting a while loop on tga loader and jo_free calls. This isn't for a logical reason, instead it is for the reason that the SH2 will cache instructions up to a conditional jump, could be causing problems.

Another thing is that upon review, jo_tga_loader should work fine loading different files (as long as the first file is the maximum image size you'll use) to the same image data region without being free'd. img->data is never treated with an incremental pointer; none is stored except in for loops. jo_free_img destroys the pointer and points img->data to NULL. That can cause errors if it's ever used out of order.

Why would it ever be used out of order?
VDP2 and Slave SH2 don't halt where Master SH2 halts.
Also, potentially compiler errors.

I've also had success clearing up file system errors by disassociating file names. IMG1 and IMG2 could be too similar and subtle memory corruptions that "just happen" with Jo engine make the code confused. It's possible that IM  .TGA is expressing that the text "G1" and/or "G2" were corrupted into illegal text codes. I suggest you specify "IMD1" and "IBG2" or something like that.

I will say that whatever Yabause is doing, ignore it. It's most likely wrong.
Trust Mednafen.

About you / Re: Hello there!
« on: June 27, 2019, 09:02:55 pm »

About you / Re: Hello there!
« on: June 26, 2019, 07:53:15 pm »
You would be served well by the SegaXtreme discord channel.

1. Use compile.bat and edit compile.bat to ensure it ends with PAUSE. At which point you don't need any command line, just double-click it and it will halt so you can read what happened.
If you're still missing main.o, check the makefile in the project directory. it must list your source files in the SRCS line.


Both function A and B halts the program if you never press A. THE ENTIRE PROGRAM.


Code: [Select]
void stuff_for_A(void){

static bool lastTouch = false;

 jo_printf(lineX, lineY, "stuff%i", data);
 lastTouch = true;
 } else if(lastTouch == true){
 jo_printf(lineX, lineY, "                                         ");
 lastTouch = false;

What does this do:
When you press the A button, print text.
When you release the A button, on the next frame, clears that text area off the screen.

If you want to insert a wait, add a timer. Don't try and halt by process, that slows down the entire program.
And of course, I'm not talking about some abstraction of a timer. You make an integer and add to it every frame. When it reaches the number you want, run the associated function and set it back to zero.

Jo-Engine release / Re: Jo Engine update with GCC 8.3 and Mednafen
« on: May 27, 2019, 10:30:21 am »
Feel free to use these new ccflags from vbt if you run into an issue.

This is a replacement line for all parameters from "ccflags" line 195 in jo_engine_makefile, found in compiler directory.

Code: [Select]
CCFLAGS += -Wall \
--param max-inline-insns-single=50 -fms-extensions -std=gnu99 \
-Og -c -m2 -Wno-narrowing -fuse-linker-plugin -fno-unit-at-a-time -fomit-frame-pointer -flto -I$(JO_ENGINE_SRC_DIR)

Project announcement / Re: what p64 does
« on: May 26, 2019, 12:59:39 pm »

Jo-Engine release / Jo Engine update with GCC 8.3 and Mednafen
« on: May 16, 2019, 11:47:58 pm »
Hello. Linked here is an updated Jo Engine package that utilizes GCC 8.3 as well as SGL in ELF form. No code base changes have been made to Jo Engine, aside from the inclusions of SEGA_SCL and SEGA_INT, which are SBL libraries.
If a demo\feature was broken before, it's still broken.

However, with GCC 8.3 comes 10+ years of compiler optimization over previous versions, so you can expect smaller binary sizes as well as increased performance (up to 40%, by some estimates).
The biggest feature used is LTO, or link-time optimizations.
Please understand however that not all code is guaranteed to work between compiler versions. Some things that were warnings before are now flat-out errors. Other things that were totally fine in older GCC versions now may be errors or warnings. Inside Jo Engine itself, there is now a warning. Be careful.

Special Thanks to VBT and mrkotftw of SegaXtreme for making & coordinating the software package & compiler flags that were necessary to deliver this update.
The specific software package used comes from VBT's update to SSSDK:

Pages: [1] 2 3 ... 15
SMF spam blocked by CleanTalk