Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken gfx with modern Uzebox kernel #1

Open
danboid opened this issue Jul 9, 2020 · 8 comments
Open

Broken gfx with modern Uzebox kernel #1

danboid opened this issue Jul 9, 2020 · 8 comments

Comments

@danboid
Copy link

danboid commented Jul 9, 2020

Hi Steve

I was impressed that u-type still builds under a recent Linux using the latest Uzebox kernel, that's more than I can say for most open source UB games, but unfortunately its not really playable due to several graphical issues, as shown in the attached cuzebox screenshot.

The only warning output during build was:

avr-gcc -I"../../trunk/kernel"  -mmcu=atmega644 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=28636360UL -Os -fsigned-char -ffunction-sections  -MD -MP -MT shooter.o -MF dep/shooter.o.d  -DVIDEO_MODE=3 -DINTRO_LOGO=0 -DSCROLLING=1 -DOVERLAY_LINES=2 -DMAX_SPRITES=18 -DRAM_TILES_COUNT=24 -DFIRST_RENDER_LINE=28 -DSCREEN_TILES_V=26 -DVRAM_TILES_V=24 -DSOUND_CHANNEL_3_ENABLE=0 -c  ../shooter.c
../shooter.c: In function ‘check_enemy_hit’:
../shooter.c:1209:27: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
     && (y == enemies[i].y && y <= enemies[i].y+2) ) {
                           ^
avr-gcc -mmcu=atmega644 -Wl,-Map=shooter.map  -Wl,-gc-sections  uzeboxVideoEngineCore.o uzeboxCore.o uzeboxSoundEngine.o uzeboxSoundEngineCore.o uzeboxVideoEngine.o shooter.o     -o shooter.elf
![Screenshot from 2020-07-09 03-29-18](https://user-images.githubusercontent.com/1429783/86990887-960ddc00-c195-11ea-8b46-0501216b41dc.png)

Are there any working binaries anywhere?

Do you still have a Uzebox?

Thanks

@danboid
Copy link
Author

danboid commented Feb 3, 2023

Adding -fno-toplevel-reorder to the CFLAGS in the Makefile fixes some of the graphical glitches.

@SteveMaddison
Copy link
Owner

Thanks, have added that before I forget. Unfortunately my dev environment is woefully out of date so not tested it as yet.

@danboid
Copy link
Author

danboid commented Feb 3, 2023

Thanks Steve!

It'd be great if we can get Utype working properly again because not only is it one of the more advanced (scrolling) Uzebox games that has the source available, its the only horizontal shooter for the platform I'm aware of and its .uze file is missing from its Uzebox wiki page:

http://uzebox.org/wiki/U-Type_(working_title)

If you download the rom from that page, you actually get an incorrectly named Uze-a-move.

In lieu of us getting the display bugs fixed in the source, have you got a working .uze or .hex file for U-Type without the graphical glitches?

I've only just built my Uzebox (its still not fully finished) and now two of my friends are going to build one so its sloooowly gaining new users :)

@SteveMaddison
Copy link
Owner

No, I did have a look but couldn't find any old files anywhere. I guess next best thing would be to build against a contemporary kernel, just to get it working. I don't think I published any images, nor for Uze-A-Move, because neither of them were anything like finished games. I don't know where the glitches come from either - AFAIK I didn't use anything other than the regular library functions.

@danboid
Copy link
Author

danboid commented Feb 3, 2023

If we can fix it up I suppose its a bit more likely someone might finish it off if you don't? If nothing else, it would serve as a useful example of how to write a scrolling shooter for the Uzebox or something similar maybe, which is not something that can be said for R-Type and nearly all of its other clones.

As I'm sure you've noticed, retro gaming has boomed in popularity over the last few years, and as more and more NES' and C64s die, the Uzebox only stands to become more popular. It was only a few days ago that I told the Commander X16 forums about the Uzebox.

https://cx16forum.com/forum/viewtopic.php?t=6326

No-one had heard of it and this was on a forum of Commodore and retro computing enthusiasts. Uzebox hasn't done a good job of marketing itself as a project.

Speaking of IDE's, its very fast to set up a Uzebox IDE under Linux. I realise how ridiculously long it takes to install the Atmel / Microchip Studio under Windows. Yuck! I've documented how I configure Kate as a Uzebox IDE on the wiki here:

https://uzebox.org/wiki/Configuring_Kate_for_use_as_a_Uzebox_IDE

Yesterday I updated the Getting Started on the Uzebox guide to cover installing the UB dev stuff (and link to my Kate guide):

https://uzebox.org/wiki/Getting_Started_on_the_Uzebox

@danboid
Copy link
Author

danboid commented Feb 3, 2023

Have you seen or played Starduino, the Uzebox demake of Starfox, yet?

@danboid
Copy link
Author

danboid commented Feb 4, 2023

Hi Steve

I managed to find an early test build of Utype online but unfortunately there is only one level in it. There are four levels in the latest code right?

You may want to add these working binaries to your repo until we get it fixed up?

https://uzebox.org/forums/viewtopic.php?f=5&t=1005&start=30

@SteveMaddison
Copy link
Owner

That's good you managed to find an old binary. There are tiles and maybe some map data for more levels but only the first one was "finished". I think flash space started to get tight after that. At the time there was some speak of having some kind of multi-load system to support more but I'm not sure anything ever came of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants