Not another boulder dash clone!
Not another boulder dash clone! FINAL? release
Hello
this is (i hope) the final release for not another boulder dash clone!
in this release (rev 124)
Major bug fixed : boulders & diamonds are correctly falling on right side now.
Minor ones too...
fixed possible extra move.
new sound engine & sound fx for amoeba & magic walls.
more optimizations , game loop about 95% asm
Enjoy !
this is (i hope) the final release for not another boulder dash clone!
in this release (rev 124)
Major bug fixed : boulders & diamonds are correctly falling on right side now.
Minor ones too...
fixed possible extra move.
new sound engine & sound fx for amoeba & magic walls.
more optimizations , game loop about 95% asm
Enjoy !
Re: Not another boulder dash clone!
Thanks! It really is an excellent conversion. ![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Re: Not another boulder dash clone!
Hi
I dig up a quite old thread, but this good game deserves to be highlighted![Smile :-)](./images/smilies/icon_smile.gif)
Most of the reviews on Oric.org point out how difficult this game is.
So to practice a little bit, here is how to get infinite lives and how to remove the time limit.
First, you must prevent the auto start of the game.
Then:
DOKE#4038, #EAEA: POKE#403A, #EA (for infinite lives, case player's wrong move)
DOKE#75E7, #EAEA: POKE#75E9, #EA (for infinite lives, case Esc key pressed)
DOKE#6BD4, #76AD: DOKE#6BD6,#EA4B (to squeeze time limit)
an finaly,
CALL#500 to pick up a max of diamonds![Smile :)](./images/smilies/icon_smile.gif)
I dig up a quite old thread, but this good game deserves to be highlighted
![Smile :-)](./images/smilies/icon_smile.gif)
Most of the reviews on Oric.org point out how difficult this game is.
So to practice a little bit, here is how to get infinite lives and how to remove the time limit.
First, you must prevent the auto start of the game.
Then:
DOKE#4038, #EAEA: POKE#403A, #EA (for infinite lives, case player's wrong move)
DOKE#75E7, #EAEA: POKE#75E9, #EA (for infinite lives, case Esc key pressed)
DOKE#6BD4, #76AD: DOKE#6BD6,#EA4B (to squeeze time limit)
an finaly,
CALL#500 to pick up a max of diamonds
![Smile :)](./images/smilies/icon_smile.gif)
Last edited by Dom on Wed Jun 30, 2021 9:32 am, edited 1 time in total.
- ibisum
- Wing Commander
- Posts: 1652
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Not another boulder dash clone!
>First, you must prevent the auto start of the game.
There's an easy way to do this, but I forget .. some sort of DOKE prior to CLOAD, right?
There's an easy way to do this, but I forget .. some sort of DOKE prior to CLOAD, right?
Re: Not another boulder dash clone!
If I remember well, the DOKE trick was only useable with BASIC programs.
To prevent autostart, I always use the same method since 1984
Hereunder is the traduction of a post I did on the French Oric Forum in 2018.
*************************************************************************************************
In fact, on real oric, you can prevent the autostart of a program in ASM in the same way as a BASIC program.
In 1984 in Théoric n ° 2, we found on page 32 a small utility which corrected the problem of "false" ERRORS found, by forcing, during interrupts, the error flag ($ 2B1) to 0.
10 FOR I = #221 to #22A
20 READA: POKEI, A: NEXT
30 DOKE #245, #221
40 DATA #48, #A9,0, #8D, # B1,2, #68, #4C, #22, #EE
$0221 48 PHA
$0222 A9 00 LDA #$00
$0224 8D B1 02 STA $02B1
$0227 68 PLA
$0228 4C 22 EE JMP $EE22
My goal as a young cheater was the opposite ... Always prevent the auto starts.
I had therefore replaced in the list of DATA the # B1 by #AD, so that $02AD, auto-start flag, is forced to 0 at each interrupt.
I called this little prog: STOP. It systematically migrates to the TAPE directories of each of my new PCs since that time. To prohibit an AUTO start I always type:
CLOAD "STOP"
CLOAD "game to study"
Then as many CLOAD "" as there are parts in the game.
*************************************************************************************************
To prevent autostart, I always use the same method since 1984
![Smile :)](./images/smilies/icon_smile.gif)
Hereunder is the traduction of a post I did on the French Oric Forum in 2018.
*************************************************************************************************
In fact, on real oric, you can prevent the autostart of a program in ASM in the same way as a BASIC program.
In 1984 in Théoric n ° 2, we found on page 32 a small utility which corrected the problem of "false" ERRORS found, by forcing, during interrupts, the error flag ($ 2B1) to 0.
10 FOR I = #221 to #22A
20 READA: POKEI, A: NEXT
30 DOKE #245, #221
40 DATA #48, #A9,0, #8D, # B1,2, #68, #4C, #22, #EE
$0221 48 PHA
$0222 A9 00 LDA #$00
$0224 8D B1 02 STA $02B1
$0227 68 PLA
$0228 4C 22 EE JMP $EE22
My goal as a young cheater was the opposite ... Always prevent the auto starts.
I had therefore replaced in the list of DATA the # B1 by #AD, so that $02AD, auto-start flag, is forced to 0 at each interrupt.
I called this little prog: STOP. It systematically migrates to the TAPE directories of each of my new PCs since that time. To prohibit an AUTO start I always type:
CLOAD "STOP"
CLOAD "game to study"
Then as many CLOAD "" as there are parts in the game.
*************************************************************************************************
- ibisum
- Wing Commander
- Posts: 1652
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Not another boulder dash clone!
Ah, right... I think I remember having a "!STOP" and "!OLD" also was another thing I had back in the day on my UTIL tape .. which simply undid any "NEW" that was done in a program, such that the BASIC sources could also be dumped.
Re: Not another boulder dash clone!
Just to say I had forgotten to take into account the case the Esc key is pressed.
This key reinit the present level but also decrease lives number...
So DOKE#75E7,#EAEA:POKE#75E9,#EA is also necessary.
I have edited my previous post to add this![Smile :-)](./images/smilies/icon_smile.gif)
This key reinit the present level but also decrease lives number...
So DOKE#75E7,#EAEA:POKE#75E9,#EA is also necessary.
I have edited my previous post to add this
![Smile :-)](./images/smilies/icon_smile.gif)
Re: Not another boulder dash clone!
wow what a doke avalanche
i could make some like of trainer if you need it
if i could rebuild the project with new sdk
best regs
seb
i could make some like of trainer if you need it
if i could rebuild the project with new sdk
best regs
seb
Re: Not another boulder dash clone!
hi
i 've just made the github repo for curious ones !
https://github.com/psypoker/NABDC2023.git
i need to clean up some things , code is so old now !![Smile :)](./images/smilies/icon_smile.gif)
best regards
seb
i 've just made the github repo for curious ones !
https://github.com/psypoker/NABDC2023.git
i need to clean up some things , code is so old now !
![Smile :)](./images/smilies/icon_smile.gif)
best regards
seb
Re: Not another boulder dash clone!
Hey !! That's cool .. thank you !!seb wrote: ↑Sun Jan 15, 2023 6:20 pm i 've just made the github repo for curious ones !
https://github.com/psypoker/NABDC2023.git
![Very Happy :D](./images/smilies/icon_biggrin.gif)
That's very kind of you to share your code with the community.
I managed to clone and build the project.
I couldn't use the obtained DSK version (it asks me a system disc) .. but the TAP file loads and works nice.
![Smile :)](./images/smilies/icon_smile.gif)
Very nice game.
Re: Not another boulder dash clone!
last version with infinite time and infinite lifes
cheats under development !
(rev 128)
(clrscr routine fixed)
best regards
seb
cheats under development !
(rev 128)
(clrscr routine fixed)
best regards
seb
- Attachments
-
- notanotherboulderdashclone.tap
- (38.05 KiB) Downloaded 83 times
Last edited by seb on Sun Jan 15, 2023 11:10 pm, edited 2 times in total.
Re: Not another boulder dash clone!
hello, thxjbperin wrote: ↑Sun Jan 15, 2023 7:10 pmHey !! That's cool .. thank you !!seb wrote: ↑Sun Jan 15, 2023 6:20 pm i 've just made the github repo for curious ones !
https://github.com/psypoker/NABDC2023.git![]()
That's very kind of you to share your code with the community.
I managed to clone and build the project.
I couldn't use the obtained DSK version (it asks me a system disc) .. but the TAP file loads and works nice.
Very nice game.
to build in visual studio some changes need to be made for setting the correct paths to oricutron & osdk
go to visual studio - debug menu / debug properties (sorry but my visual studio is french edition 2022 community)
then replace the hilighted entries with the correct pathes
if you can build the .tap file with this config that will be cool
next you can build the project with "build" or "rebuild"
view memorymap with "clean"
run directly oricutron with the .tap file with "debug"
(i ve added a copy of output (in build directory) to oricutron path \ bin\make.bat...)
osdk\bin\make.bat
[...]
::
:: Append the tape header
::
ECHO Creating final program %OSDKNAME%.TAP
%OSDKB%\header.exe %OSDKHEAD% build\final.out build\%OSDKNAME%.tap %OSDKADDR%
%OSDKB%\taptap.exe ren build\%OSDKNAME%.tap %OSDKTAPNAME% 0
:BuildOk
ECHO Build of %OSDKNAME%.tap finished
:::::::::::::::::::: add these lines :::::::::::::::::::::::::::::::::::
copy build\%OSDKNAME%.tap D:\EMU\Oric\Oricutron\tapes\
copy build\%OSDKNAME%.tap D:\EMU\Oric\Oricutron\OSDK.TAP
copy build\symbols D:\EMU\Oric\Oricutron\
::
:: Generate the DSK file. If OSDKFILE is empty we assume (hm hmmm) that the caller is packaging itself with floppybuilder. (WIP)
::
IF "%OSDKDISK%"=="" GOTO EndBuildDisk
IF "%OSDKFILE%"=="" GOTO EndBuildDisk
also don't forget to set up environment variable for OSDK
ps: i ve updated "develop" branch, mainly configs
build with last osdk 1.20 is ok
tap file updated in previous post (rev 128) with clrscr routine fixed and refactored
i hope all this will help
![Smile :)](./images/smilies/icon_smile.gif)
best regards
seb