I'LL TAKE THAT!gilesgoat wrote:That's ANOTHER thing ... "an extra" ...Markie wrote:Are we to be mowing lawns sometime soon then?gilesgoat wrote:I fear "someone can't wait to make an annoucement" .. but it's not me .. but I think you'll hear something about it .. soon ..![]()
Mini update
Re: Mini update
Re: Mini update
Oh man, hope it's what I caught a glimpse of last yeargilesgoat wrote: I fear "someone can't wait to make an annoucement" .. but it's not me .. but I think you'll hear something about it .. soon ..
Steam: SteelyDamn
Re: Mini update
Feel free to expand! :-)Rhythm wrote:Oh man, hope it's what I caught a glimpse of last yeargilesgoat wrote: I fear "someone can't wait to make an annoucement" .. but it's not me .. but I think you'll hear something about it .. soon ..
Re: Mini update
Bah, just seen Jeff's latest Tweet and it's probs not what I saw. Dammit 
Steam: SteelyDamn
- Misfit
- Sheepie Whore

- Posts: 10446
- Joined: Sat Sep 28, 2002 2:43 pm 0
- Location: Nottingham UK
- Contact:
Re: Mini update
But classic arcade lawn mowing is pretty exciting isn’t it?Rhythm wrote:Bah, just seen Jeff's latest Tweet and it's probs not what I saw. Dammit
Re: Mini update
HoverBovver is cool, nice remake, anyone know how to load it? and onto what?
Re: Mini update
It is, but man do I want the other project to come to fruitionMisfit wrote:But classic arcade lawn mowing is pretty exciting isn’t it?Rhythm wrote:Bah, just seen Jeff's latest Tweet and it's probs not what I saw. Dammit
Steam: SteelyDamn
- Misfit
- Sheepie Whore

- Posts: 10446
- Joined: Sat Sep 28, 2002 2:43 pm 0
- Location: Nottingham UK
- Contact:
Re: Mini update
https://www.dropbox.com/s/6v1pva07b621plw/scramble.zip
From the readme.txt file:
From the readme.txt file:
WHAT THE SMEG IS THIS?
It's a version of Hover Bovver made for Galaxian/Scramble arcade hardware.
WHY'VE YOU MADE THIS YOU DAFT TWONK?
Just for fun. Back in the dawn of time me and the Naughurst Piano Wizard used to go down the Hinds Head in Aldermaston village for a few beers and while there we'd usually play a bit of bar bills and also a few games of whatever was on the cocktail cab in there. It'd usually be some strangeness built on Galaxian/Scramble hardware, I recall playing stuff in there like Checkman, Uniwar S, Scorpion - that kind of thing.
A few years later when we did Hover Bovver I remember thinking it'd've probably gone well on that kind of hardware, I could just imagine playing it on the tabletop cab down the Hinds Head.
Fast forward far too long and I was browsing the web one day and came across the 8bitworkshop.com site where they had an in-browser IDE supporting, amongst other things, Galaxian/Scramble hardware. I had a look and there wasn a little example program that showed how the machine worked.
I pulled that apart to learn for myself, and before I knew it I'd started coding Hover Bovver, in odd spare moments.
IS IT COMPLETE?
In terms of gameplay, pretty much, there are 8 lawns to mow and the traditional Hover Bovver gameplay is there. At the moment there is no audio, in part because when we add audio it'll make the game more machine specific as Galaxian audio is much simpler than Scramble audio.
As it is, the build is near identical for Scramble hardware or Galaxian hardware (with 16k program rom). Eventually we'll do builds for each with sound.
WILL IT WORK ON REAL HARDWARE?
We think it ought! We've actually bought Galaxian and Scramble boards, and we'll be trying it out on those when we can. Galaxian would need modded to run 16k program ROM but that didn't ought to be too hard (Giles says). This ROM runs on the latest MAME, which I would think is a decent indicator that it'll work on real hardware, given that Galaxian/Scramble must be some of the best emulated stuff out there given how old it is and how long it's successfully been emulated.
Enjoy, have fun, let me know if you have any problems with it or find anything in the gameplay egregiously bad, maybe I can fix it.
There's not a huge amount of room to add more, the game is almost full to the 16k brim. I am sure if written in proper assembler it could probably be made to fit in a lot less memory. I have been lazy and just using the C compiler in the 8bitworkshop IDE, which makes for relaxed tinkering but which isn't necessarily optimal.
There are a couple of "hidden bonuses" in the game, "DOGLESS" and "VINDICTIVE". I'll let you find out for yourselves how to get them. Combine them both for maximum bonus points!
Re: Mini update
Firing this up now. Looks pretty nice from the Twitter posts....
Re: Mini update
Come on Giles hurry up with that audio
Must say I like it, but did get cuaght out by the diagonal movement and occasional turn that flung me into the flowers unexpectedly.
Top stuff!
Must say I like it, but did get cuaght out by the diagonal movement and occasional turn that flung me into the flowers unexpectedly.
Top stuff!
Re: Mini update
And how are you running the game? I'm completely lost lolWhiteball wrote:Come on Giles hurry up with that audio![]()
![]()
Must say I like it, but did get cuaght out by the diagonal movement and occasional turn that flung me into the flowers unexpectedly.
Top stuff!
Re: Mini update
The zip file is loaded as you would normally load a game using mame.
Personally, RetroArch is what I use as I have that set up already so I just put the zip in the folder along with all my other roms and select it from there.
Personally, RetroArch is what I use as I have that set up already so I just put the zip in the folder along with all my other roms and select it from there.
- gilesgoat
- Sheepie Whore

- Posts: 27258
- Joined: Wed Sep 03, 2003 7:54 am 0
- Location: Monfalcone, Italy
- Contact:
Re: Mini update
I am GETTING TOTALLY STUPID with the second CPU .. even IF, for our "real HW purpose" I know how I could disable that crap ..Whiteball wrote:Come on Giles hurry up with that audio![]()
![]()
Must say I like it, but did get cuaght out by the diagonal movement and occasional turn that flung me into the flowers unexpectedly.
Top stuff!
The CRAP seems to be "Custom IC 6J KIOS" as in the schematics that is a sort of "protection PAL", as you look at the schematics you'll note it seems to drive/get an "RESTS" line ( I suppose it's open collector ) that goes directly into the secondary Z80 board.
After a whole morning of "vaffanculonism" where NOTHING was even remotely working ( and that IDE does NOT allow to check/test this thing ) .. I got a suspect "don't tell me that chip drives that reset line" ? .. which apparently it does ...
After lot more fanculonism thanks to the disassembly of the original Scramble code done by someone I manage to extrapolate/create this :
Code: Select all
void Protection() __naked {
__asm
//
// Invoked from CLEAR_RAM_THEN_JP_0069
//
//
//
push ix
ld ix,#0x421E
ld a,(#0x7000) // kick watchdog
xor a
ld (#0x6801),a // disable interrupts
ld a,#0x9B
ld (#0x8103),a // does nothing
ld a,#0x88
ld (#0x8203),a // does nothing
ld a,#0x08
// ld (#0x4242),a // set IRQTRIGGER_CTRL
ld (#0x8201),a // bit 3 = interrupt trigger on audio CPU
// 007B: 31 00 48 ld sp,$4800
// Protection related code.
// It appears the protection chip needs specific values in a specific sequence to be written to it,
// in order to return a specific value indicating that the protection check succeeded (see $00C0)
//
// I wonder if the protection chip would reset the system if it doesnt get the values written to it in the correct sequence?
// Or would it lock the system completely?
ld a,#0x28
rlca
add a,#0x32
ld h,a
and #0x0F
ld l,a
add a,#0x0D
ld (hl),a // write $0F to protection
ld b,#0x07
ld e,#0x09
_dlp:
ld c,a
ld d,a
djnz _dlp
ld (hl),b // write 0 to protection
// It appears the scramble hardware sets IX to $421E when the system boots up (ie: hits address 0).
ld b,#0x03
_rdlp: ld c,3(ix) // read from $4221
djnz _rdlp
ld (hl),a // write $0F to protection
ld e,c
ld (hl),b // write 0 to protection
ld b,#0xFA
add a,b
ld (hl),a // write $09 to protection
ld c,#0x10
ld b,#0x20
add a,c
add a,b
ld e,(hl) // reads $F9 from protection...
ld a,#0xF0
and e // produces $F0..
cpl // produces $0F..
and #0xF0 // produces 0. Or should do - if it doesn't, protection kicks in.
// 00AE: C0 ret nz ; return if protection is triggered. Someone's hacking.
ld h,#0x82
ld a,h
and #0x3F
ld l,a // set HL to $8202 (protection)
ld (hl),#0x0A // write 10 to protection
add a,#0x02
ld (hl),a // write 4 to protection
add a,#0x05
ld (hl),a // write 9 to protection
ld a,(hl) // reads $B9 from protection check
and #0xF0 // produces $B0
cp #0xB0 // compare to $B0, which is value if protection check succeeds
// 00C2: C2 DC 05 jp nz,$05DC ; if protection check does not succeed, corrupt memory state by jumping to text strings, not code..
// When we get here, the preliminary protection checks have passed.
ld a,(#0x7000) // kick watchdog
xor a
inc a
ld (#0x6801),a // enable interrupts
pop ix
ret
__endasm;
}
Now for our "custom code" we don't give a shit but if the second CPU keeps in reset state you can't run any audio code.
Now I still have shit, still investigating .. it would LOOK LIKE IF "after X time" probably that PAL wants "something else" maybe at some intervals otherwise it resets again ?
I have very odd behaviour with my SW and LOOKS LIKE "something is resetting the CPU" or such, not sure yet but I am absolutely sure the audio CPU don't even start if I don't run that "Protection()" at least once at startup.
The Scramble code does "shit" with it "in many places" and every time seems to do "something different", I found out one part in the MAME sources where "they kinda say what that custom chip does" but they don't say/mention anything about that RESETS line so I am not super sure what's going on yet.
So yeah the audio is making me a bit nuts at the moment ..
Giles the billy goat
"Baa"
"Baa"
Re: Mini update
I tossed the zip file into the ROMs directory of MAME. Seeing as it was named Scramble I chose Scramble from the MameUI games list and ran that. It grumbled a bit about the ROM being wrong but then ran it with no complaints.Markie wrote:And how are you running the game? I'm completely lost lolWhiteball wrote:Come on Giles hurry up with that audio![]()
![]()
Must say I like it, but did get cuaght out by the diagonal movement and occasional turn that flung me into the flowers unexpectedly.
Top stuff!
- gilesgoat
- Sheepie Whore

- Posts: 27258
- Joined: Wed Sep 03, 2003 7:54 am 0
- Location: Monfalcone, Italy
- Contact:
Re: Mini update
You get the ROMs file ( or you zip ALL the individual rom files ) into "scramble.zip" then you put into the "roms" directory of MAME ( of course you'll need to re-name the original scramble.zip ROM into something like "scramble-orig.zip" if you don't want to loose it.Markie wrote:And how are you running the game? I'm completely lost lolWhiteball wrote:Come on Giles hurry up with that audio![]()
![]()
Must say I like it, but did get cuaght out by the diagonal movement and occasional turn that flung me into the flowers unexpectedly.
Top stuff!
Then you run "MAME scramble" from command line and/or GUI interface but the GUI could refuse to run the ROMs for "non matching CRC and SHA-1 signature".
HAS TO BE SAID I did/could compute the CRC-32 and SHA-1 signature BUT, the PROBLEM is that "the silly mame" gets the "roms definitions and expected CRCs/SHA-1" DIRECTLY FROM THE SOURCES, i.e. they are contained in scramble.cpp/galaxian.cpp "hard coded" AND it would appear in some .XML file too.
However without creating a NEW "definition" and a "new" modified "driver" ( and re-compiling it all ) there's no way to make those roms being recognized as "something else legit".
Which means "compiling a new version of MAME" this to me is a bit of a "bad planning" on the MAME sources.
Giles the billy goat
"Baa"
"Baa"



