![]() |
![]() |
#1 |
Registered User
![]() Join Date: Dec 2013
Location: Auckland
Posts: 3,339
|
WIP Mega Drive library
Started work on a Blitz Basic library for Mega Drive, source code and example "hello world" project (based on a BigEvilCorporation tutorial) is here.
Still early days, and it is very prone to breaking, but I'm hoping it'll eventually become mature enough to make a game with. It's largely based on the Super Skidmarks port to Mega Drive (including the way they inserted a pointer to a fake exec.library at $4 in order to have a fake version of allocmem at a place where Blitz Basic would expect it to be). ![]() |
![]() |
![]() |
#2 |
Cuthbert The Movie
![]() Join Date: Jun 2006
Location: 5150
Posts: 5,442
|
Sounds interesting - so the aim is Blitz Basic will compile to a Mega Drive executable?
How did the Skidmarks Mega Drive conversion work? Was it still based on it Blitz Basic roots? |
![]() |
![]() |
#3 | |
Registered User
![]() Join Date: Dec 2013
Location: Auckland
Posts: 3,339
|
Quote:
I believe this is more or less how the Skidmarks conversion worked. I don't know their exact toolchain but I did copy how they used a fake exec with a fake allocmem function in order to essentially trick the Mega Drive port into thinking it was running on an Amiga (and thus, allocating memory the standard Amiga way through exec->allocmem) |
|
![]() |
![]() |
#4 |
Cuthbert The Movie
![]() Join Date: Jun 2006
Location: 5150
Posts: 5,442
|
Just curious do you think you could make MegaDrive Skidmarks run on the Amiga?
|
![]() |
![]() |
#5 |
Registered User
![]() Join Date: Dec 2013
Location: Auckland
Posts: 3,339
|
Ahhh.. probably not, I don't think I've got enough of the source. In any case, Skidmarks on both systems were optimised for the respective hardware (The detail in the Amiga tracks is a lot higher since you've got a lot more video memory, whereas the Sega version takes advantage of the Mega Drive graphics hardware to have bridges overlapping the tracks and cars), probably wouldn't be anything gained by backporting the Sega version to Amiga.
|
![]() |
![]() |
#6 |
Registered User
![]() Join Date: Dec 2013
Location: Auckland
Posts: 3,339
|
Did a minor update to the library - MD_FadePalette is a new command that's an analog to the FadePalette command in Blitz Basic proper. As such, the "hello world" demo has been updated with a fade in.
(note that the Mega Drive's tiny 512 base palette means it's far less smooth than doing the same on an OCS Amiga, let alone an AGA one!) |
![]() |
![]() |
#7 |
Registered User
![]() Join Date: Dec 2013
Location: Auckland
Posts: 3,339
|
Did a couple of minor bug fixes (palette function should have been using word length, not long length moves), and updated the hello world sample to include loading of a full bitmap
![]() |
![]() |
![]() |
#8 |
Registered User
![]() Join Date: Dec 2013
Location: Auckland
Posts: 3,339
|
New update: Added a "Name Table" copy function that copies an arbitrary rectangle of tiles.
What was previously coded as: Code:
;Load each row VDPDestination.l = $c000 NameTableSource.l = ?NameTable for row = 0 to 31 MD_CopyTo_VDP NameTableSource,40,VDPDestination,2 VDPDestination + 64*2 NameTableSource + 40*2 next Code:
;Source Address,Dest Address,XSize,YSize,Source Modulo,Dest Modulo MD_CopyTo_NameTable ?NameTable,$c000,40,32,40,64 Basically it's one line that you could use for copy an entire row, column, or rectangle of tiles. |
![]() |
![]() |
#9 |
Registered User
![]() Join Date: Dec 2013
Location: Auckland
Posts: 3,339
|
Did a fairly major update to it, there's now a very very simple included "game" (with scrolling, sprites and a tilemap) that cross compiles to both Amiga and Mega Drive.
Video explanation: [ Show youtube player ] |
![]() |
![]() |
#10 |
Registered User
![]() Join Date: Dec 2013
Location: Auckland
Posts: 3,339
|
[ Show youtube player ]
Been quietly updating this, fixing a few bugs and supporting more and more of the VDP's features. There's now also audio support via the MDSDRV driver. |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Mega Drive questions | antonvaltaz | Retrogaming General Discussion | 89 | 13 February 2022 11:44 |
SSFII - Mega Drive Stages | viddi | request.Other | 13 | 05 September 2018 11:30 |
Mega Everdrive - An SD device for your SEGA Mega Drive [REVIEW] | Neil79 | Retrogaming General Discussion | 15 | 22 December 2014 15:06 |
Well, so long dear Mega Drive | MethodGit | Retrogaming General Discussion | 48 | 25 September 2003 16:35 |
Mega Drive Joypads | steztheskinhead | support.Hardware | 6 | 23 July 2001 16:10 |
|
|