Тёмный

Lotus 1 Deconstruction Showdown - Original vs Lotus STE! 

gridleaderretro
Подписаться 429
Просмотров 2,1 тыс.
50% 1

Игры

Опубликовано:

 

18 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 75   
@shaunsouthern
@shaunsouthern 3 года назад
Just... "Wow". No idea how you did this, but well done and very well explained :)
@gridleaderretro
@gridleaderretro 3 года назад
Thank you! By the way, I'm extremely humbled and a bit starstruck if you are who your RU-vid username would suggest :)
@shaunsouthern
@shaunsouthern 3 года назад
@@gridleaderretro Cheers. I'm always amazed how much interest there is for the old games. I can barely remember that long ago, certainly not how things worked, but It brought back many memories of optimising things. Great to see the Atari version looking and sounding like the Amiga one. I have no idea how you even did this without any sourcecode. Amazing.
@Amiga1200Mark
@Amiga1200Mark 3 года назад
Hey Shaun ... we were speaking about this earlier on messenger. Nice to see you stopping by mate. Great games are great games. Thats why we still play what you and Andrew created👏
@gridleaderretro
@gridleaderretro 3 года назад
There's still a lot of love for these games - as Amiga1200Mark says below, good games are good games! I'm glad that the video gave you a trip down memory lane. I imagine they were good times, if possibly somewhat stressful and pressured given the sheer quantity of code you wrote for Lotus across both platforms! I'd love to say that there was some degree of genius behind what we've done here, but I guess we're just two reasonably motivated and intelligent guys with access to much better tools than were available back in 1990! We were able to trace through the game code in the CARS.REL game code file using an emulator debugger, identify the parts we wanted to change, and then drop in new binary patches created using an assembler. It helped a lot that the original Lotus code was well-written and easy to follow - even the parts using self-modifying code! We've published our source code for the benefit of the community at github.com/jonathanopalise/lotus-ste if you do wish to explore further. Thanks so much again for dropping by and leaving the comment - it means so much that our humble little project has been noticed by one of the original dev team behind this timeless game.
@shaunsouthern
@shaunsouthern 3 года назад
@@gridleaderretro It's a long time ago now, so my memory of exactly how the Amiga and Atari worked is hazy, but I always wrote in assembler - Devpac on the Amiga ? All the art was done by Andrew Morris in Deluxe Paint. I have the sourcecode (for the Amiga version ) if you want a look - cant find the Atari code though most would be the same - but it seems you've done everything well enough without it. The Atari versions of all the Amiga games were always ports, usually took a month. I think on some games, maybe Supercars, we prerotated maps for machines with more memory. As I said though, it's a very long time ago :)
@Vretrocomputing
@Vretrocomputing 3 года назад
Excellent backbuffer videos! I love that. Please continue.
@gridleaderretro
@gridleaderretro 3 года назад
Thanks - I appreciate your kind feedback!
@IntoTheVerticalBlank
@IntoTheVerticalBlank 3 года назад
Very interesting. You are displaying more to the screen in the STE version, so it looks better and the single pixel skew maves it look smoother, The perception is that it's just as fast or faster because of the added content and smooth rendering.
@gridleaderretro
@gridleaderretro 3 года назад
Yes - the Blitter is faster, but it also has more work to do!
@mortenera2294
@mortenera2294 3 года назад
Last time I've been so early, the Atari ST just got announced
@TPau65
@TPau65 3 года назад
Now this is a VERY interesting comparison between the two ST(e) versions of the game. Quite surprising to see the ST rendering quicker, but with less content and details (road lines). A very good video series! 👍
@gridleaderretro
@gridleaderretro 3 года назад
Thanks for your feedback - I'm glad you're enjoying the series! We could almost certainly get the STE version to render as quickly as the ST version if we were to use more memory, but that would of course be cheating :)
@mortenera2294
@mortenera2294 3 года назад
A bit off topic, but I think it would be a great idea to port 8-bit Sonic 1 to Atari STe. It has a faster CPU compared to the Master System, but the sound chip is almost the same. Maybe we can add some more colors too
@gridleaderretro
@gridleaderretro 3 года назад
Interesting idea! I imagine the STE could do something in-between the Master System and Megadrive/Genesis versions. Zool on the STE gives a good benchmark of what might be possible.
@lucian2701
@lucian2701 2 месяца назад
I agree and I think the STe (and ST with a bit of push) could do conversions of the greatest 8 bit console, and the master system :)
@OCROldComputerRebuilds
@OCROldComputerRebuilds 3 года назад
Vary good. Looks fantastic
@gridleaderretro
@gridleaderretro 3 года назад
Thanks!
@dmasct1
@dmasct1 3 года назад
I guess the road lines and the more precise sprite positioning aid the perception of a smoother game.
@gridleaderretro
@gridleaderretro 3 года назад
Yep, I think it must be something along those lines!
@nekononiaow
@nekononiaow 3 года назад
This seems indeed very likely as their fluid motion is immediately visible whereas 16 pixels movement seems likely to be interpreted as choppy. This may be a case where it may have been preferable to go with much simpler car rendering (pseudo 3D flat surfaces) to allow them to be positioned at pixel precision rather than super nice cars at 16 pixels intervals.
@d_vibe-swe
@d_vibe-swe 29 дней назад
Would be interesting to see a comparison between the Amiga version and the STE version.
@gridleaderretro
@gridleaderretro 29 дней назад
Here's one I made earlier: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-pJtaB_JPx5U.html The framerate shown in the STE (top half) is a bit slower than the final version as some further optimisation work was done after this video was produced.
@d_vibe-swe
@d_vibe-swe 29 дней назад
@@gridleaderretro Yep, I saw that one, but I thought it was interesting to see one frame drawn like in this video :) Edit: Aha, so the STE is an unofficial work in progress version?
@gridleaderretro
@gridleaderretro 29 дней назад
@@d_vibe-swe Ah - you mean you'd want to see a frame buildup video for the Amiga version? Sorry, I know very little about the Amiga and wouldn't know where to start :) The STE version is considered finished by the way - I don't have plans to do any further work on it.
@d_vibe-swe
@d_vibe-swe 29 дней назад
@@gridleaderretro Aha again, you made the conversion? Impressive work :)
@krona2k
@krona2k 3 года назад
I thought that if you don’t run the blitter in HOG mode then you wouldn’t have to split up the drawing into small blocks, you do need a tight cpu loop though after starting the blitter to restart it if the operation is not complete. Or did you try this and found it to be slower?
@gridleaderretro
@gridleaderretro 3 года назад
I tried the Blit mode (the mode that isn't Hog) in Lotus STE and it didn't work unfortunately - there were interrupts being missed and the whole game was being slowed down. Using the Blitter in Hog mode and splitting into small chunks (of around 20 words each) seems to be the key to balancing the need for fast blitting and interrupts being serviced. It's a pain, but it is what it is :)
@francisbullen5007
@francisbullen5007 3 года назад
It would be really interesting to perform single pass masking using Anima’s masking technique. It would cost memory to pre shift the masks but it would be far better for rasters and probably twice as fast. Span filling the car in the foreground would be very very quick indeed. I think you might get a solid 25fps out of the blitter that way :)
@gridleaderretro
@gridleaderretro 3 года назад
Yes - there's definitely scope for speeding things up using techniques like that. I have made the source available on Github for anybody who fancies the challenge :)
@timediavideo
@timediavideo 3 года назад
This is fascinating to look at again! Keep on doing these! One question: Do you manually clear the screenbuffer before your recording, to start on a blank black canvas? I ask because in ANARCHO Ride I just draw over the last frame in the buffer - reusing as much as I can from the dashboard. Even if I could record the drawing, it would never be on a blank screen.
@gridleaderretro
@gridleaderretro 3 года назад
Yes - I clear both front and back buffer before starting the process!
@easyerthanyouthink
@easyerthanyouthink Год назад
​​​@@gridleaderretro ah cool was doing fast cheap hacks on the amiga version. But your tech is fantastic. Would love to colaberate some info if possible. I dont know any st hardware info, only amiga, but i know that lotus 1 , 2 and 3 basicly use recycled code with mods and enhancement. Rough inspection i see track data is in segs then read and turned into straights hill and curves in a table then that is read again and turned into copper and blitter etc etc I know there is a few luts for calcs. Ive done a few cheats some already in trainers. Speed collisions time , force fuel etc etc Anyway be good to talk about it.
@8bitgamerC64
@8bitgamerC64 Месяц назад
i wonder if you can help me? i tried to code a racing game for the C64 but could never figure out the maths for displaying the road properly? would you have a general idea or point me in the right direction?
@gridleaderretro
@gridleaderretro Месяц назад
The problem you're likely to have is that the most "correct" maths for displaying the road correctly will be way beyond the capabilities of the C64's CPU. You'll need to improvise heavily in the same way as the majority of commercial C64 racing games did. You may be able to get some inspiration from Lou's Pseudo 3d Page at www.extentofthejam.com/pseudo/, but you will almost certainly need to tailor these methods heavily to accommodate the constraints of the C64's CPU.
@8bitgamerC64
@8bitgamerC64 Месяц назад
@@gridleaderretro Many thanks!!
@DanRamosDR
@DanRamosDR 3 года назад
You've neglected to mention the fact that the STe version draws a somewhat different scene (gradient background, more lines on the road, etc.)
@gridleaderretro
@gridleaderretro 3 года назад
I like to think that the additional lines on the road speak for themselves in the visuals! The gradient isn't "drawn" as such - it's a solid block of colour 15 like on the ST but is put in place by means of Timer B rasters.
@Miesiu
@Miesiu 3 года назад
Good movie !
@gridleaderretro
@gridleaderretro 3 года назад
Thanks a lot - glad you enjoyed it!
@retrotronics1845
@retrotronics1845 13 дней назад
Yes but....can anybody improve the framerate of Lotus II on an STFM or is Shaun Southern the king of ST coders?
@gridleaderretro
@gridleaderretro 13 дней назад
No doubt the framerate of Lotus 2 could be increased - the real questions are "by how much?" and "how long would somebody have to spend on it?" 😀 Shaun Southern did a great job of optimising Lotus 2 for the ST - I suspect he reached a point of diminishing returns and left it there. I suspect the potential gains are in single figure percentage increase of framerate, even with use of the Blitter.
@retrotronics1845
@retrotronics1845 13 дней назад
@@gridleaderretro That new homebrew based on WEC Le Mans arcade for the STE is as fast and smooth as Lotus II on the Amiga so an STE port I suspect could be identical. The STFM however like you say is probably highly optimised, I know for a fact there is no chipset bandwidth left spare on the Amiga version hence to run Lotus III with zero frame drops you have to run it on an Amiga 1200 or better model as the RECS system needed some DMA/chipset bandwidth etc and something had to give. Lotus II is the fastest and smoothest STFM 2.5D routine I know of personally.
@gridleaderretro
@gridleaderretro 13 дней назад
@@retrotronics1845 That new homebrew based on WEC Le Mans arcade for the STE (my very own project in case you're not aware!) is much smoother than Lotus 2 on the Amiga. Lotus 2 on an OCS/ECS Amiga runs at around 20-25fps I believe, whereas the STE WEC game runs (mostly) at 50fps. But the STE WEC game is doing much less work than Lotus 2 (appearances can be deceptive I know). I personally don't think that Lotus 2 on the STE could be as smooth as the Amiga version without some superhuman effort, although it could come close (as we've done with the STE version of Lotus 1). The Amiga version makes heavy use of the Copper, and even with the extra chips in the STE, all those colour changes have to be done in software with the 68k carrying the burden. It might be possible to get some extra performance out of the STE by upping the memory requirement to 4 meg and making use of memory-intensive techniques such as compiled Blitter sprites (as used by the WEC game). You might also want to check out Crazy Cars 3 for the ST, which to me comes very close to Lotus 2 in terms of accomplishment.
@retrotronics1845
@retrotronics1845 13 дней назад
@@gridleaderretro Oh! I didn't know. I must congratulate you on such amazing work for the STE, I saw it on a thread on Amiga forum a couple of weeks ago. Your video is as impressive as the new MegaDrive 2.5D homebrew racing game or better even. PS I have two Mega STEs with 16mhz 68000 if you would like to support the limits ;) Rare machine but I needed a 16mhz ST/STE to play Gauntlet 1 smoother!
@RetroBoxRoom
@RetroBoxRoom 3 года назад
Amazing work! Has anyone played this on an accredited STE?
@gridleaderretro
@gridleaderretro 3 года назад
Thanks! By "accredited STE", do you mean real STE hardware rather than an emulator? If so, yes - we were testing on real STE hardware throughout the course of development to ensure compatibility. If anything, compatibility with real hardware is more important to us than compatibility with emulators!
@krona2k
@krona2k 3 года назад
Would there be enough memory to fully pre shift the masks so that you could use the CPU instead of the blitter to mask all 4 planes using the same data registers? If not could the blitter be used to shift the mask off screen then use the CPU to apply the mask on a screen? Would it save enough time to be worth the trouble though.
@gridleaderretro
@gridleaderretro 3 года назад
It's certainly a possibility, although it would involve a considerable amount of extra work, and as you say, it would need to be profiled. With the current implementation, we've been very fortunate in that we've not had to add or modify any of the existing graphics data in order to leverage the Blitter. The only exception to this is the data for the background mountains, which gets preprocessed on load for each stage.
@dbug64
@dbug64 3 года назад
Very surprised indeed. Would it be too much to ask to do a video like this for ST, STe and the Amiga version of the game? I think WinUAE has some cool features that allows you to see how efficient you are using the DMA slots. Someone said the Amiga version was in fact very well done. I always looked at it as a CPU only port from the ST, guess I was wrong.
@gridleaderretro
@gridleaderretro 3 года назад
What you have here already shows both ST and STE. I'm sorry, I wouldn't have a clue how to do this for the Amiga :) The Amiga version is anything but a CPU port from the ST. As I understand it, the game was designed and built around the Amiga hardware, and the ST version was then derived from the Amiga version with a whole load of sacrifices made to get the game working on the ST. There are lots of magazine articles from the time where Shaun Southern goes into some detail about how the game is designed to make specific use of the Amiga hardware.
@nekononiaow
@nekononiaow 3 года назад
WinUAE is unfortunately not very scriptable (or at least was not, last time I checked) so it would require tinkering with its source code to add the "freeze and simulate screen display" feature that @gridleaderretro is using here. It is definitely possible but unlikely to be easy.
@gridleaderretro
@gridleaderretro 3 года назад
@@nekononiaow Just to be clear, the backbuffer captures shown in this video don't involve any modifications to either the emulator or the game code. All I'm doing is setting the emulator debugger to break on horizontal blank, and then capturing the contents of the backbuffer to a numbered binary file every time this happens. I then convert the resulting sequence of binary files to PNGs and then sequence them into a movie. There's a bit of additional magic to make sure that the rasters show correctly. Assuming that the WinUAE debugger can also break on a horizontal blank or similar, a variation of this approach should also be possible on the Amiga (putting aside the additional complexities that things like the Copper and hardware sprites bring to the table). I can help out if somebody wants to give it a try.
@nekononiaow
@nekononiaow 3 года назад
​@@gridleaderretro Nice, I like the simplicity of it. On the Amiga things would be quite complicated by the presence of the Copper list which would need to be re-interpreted when drawing the back buffer with the proper colors. Some games also have mid-screen bitmap splits which would actually require the Copper list to be interpreted before drawing the back buffer. But all in all, the principle is indeed the same. Great idea.
@viinikellari
@viinikellari Месяц назад
Next make a comparison how smoothly Lotus runs on PC vs Amiga(any system) :- )
@gridleaderretro
@gridleaderretro Месяц назад
Is this possibly a futile comparison given that the PC version could be running on anything from 286 to Pentium?
@viinikellari
@viinikellari Месяц назад
@@gridleaderretro For sure, it might be! I admit that : ) It's just my 'disappointment' on how Lotus doesn't run smoothly even on A4000/4000T. As far as I've understood, they have a processor that is somewhat equivalent to the i486... which can run the lotus super smoothly! Lol. Not that these things would actually matter. I love playing with my c64, a500 and pentium II pc : )
@d_vibe-swe
@d_vibe-swe 29 дней назад
​@@viinikellariDoesn't Lotus already run nearly 50fps on Amiga? I don't think they use the CPU for any taxing tasks.
@viinikellari
@viinikellari 26 дней назад
@@d_vibe-swe Ah! I didn't know cpu isn't reserved for such taxing or heavy screen scrolling operations. Blitter and copper? Yeah. It's quite smooth for amiga :- ) but when I saw the PC version I was like lol this scrolls way too smooth it's almost disturbing, but yet, somehow nostalgic and nice : p
@d_vibe-swe
@d_vibe-swe 26 дней назад
@@viinikellari The PC has always been about raw CPU power until GPU:s arrived ;)
@mortenera4423
@mortenera4423 3 года назад
It would be great to see you develop an STe version of Super Hang-On. It's a decent racing game for the original machine, but it pales in comparison to the Amiga port
@gridleaderretro
@gridleaderretro 3 года назад
Interesting idea! Which specific areas of ST Super Hang-On do you think need to be improved?
@mortenera4423
@mortenera4423 3 года назад
@@gridleaderretro Sound (Music and/or sound effects), colors and movement in general. Sometimes it can get really choppy
@Barcrest
@Barcrest 3 года назад
So would it not be possible to use the original sprite drawing in the ste version? Or would it still be slower due to the sound? Is it something you have tested?
@gridleaderretro
@gridleaderretro 3 года назад
The original sprite drawing works fine in the STE version, but it's restricted to drawing the sprites at 16 pixel horizontal intervals. Using the Blitter gives us the ability to draw sprites at 1 pixel horizontal intervals (as with the Amiga version) but looks to be a little slower.
@Barcrest
@Barcrest 3 года назад
@@gridleaderretro sorry. What i was getting at was is it possible to revert that part of lotus ste back to the faster older code to speed things up or would that mean that the blitter couldn't be used for any of it like the road drawing?
@gridleaderretro
@gridleaderretro 3 года назад
@@Barcrest Yes, you could revert the sprite drawing back to the original code very easily. The performance gains would be marginal though, and it would look absolutely awful as with the original ST version :)
@Barcrest
@Barcrest 3 года назад
@@gridleaderretro yes i didnt realise about the sprite movement, sorry my bad.
Далее
The Making of Lotus STE: Cars and Scenery
3:50
Просмотров 1,3 тыс.
Dora was kidnapped and then… 😨 #shorts
00:18
Просмотров 2,9 млн
Apple October Event LEAKS - 7 NEW Devices are COMING!
10:20
Atari ST Power Drift - deconstructed!
2:41
Просмотров 1,1 тыс.
Namco Museum 64 "Pole Position"
3:56
Просмотров 608
Behind The Scenes of Atari ST Racing Games
2:20
Atari STE 50fps racer - WIP 29 Aug 2024
2:01
Просмотров 1 тыс.
Pole Position on the Atari STE
2:01
Просмотров 3 тыс.