New Release: Doom

Discussion, Reviews & High-scores

Moderator: Moderators

User avatar
pixel
Vic 20 Scientist
Posts: 1329
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: WIP: Doom

Post by pixel »

tokra wrote:It should show which blocks are available (should be 0,1,2,3,5) and then after pressing Space some seconds later just display "READY."
That went well but even with your register set it still won't start. :( It's the D64 from Github.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
tokra
Vic 20 Scientist
Posts: 1120
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: WIP: Doom

Post by tokra »

Very strange. I can only suggest you run crosstalk-check for at least 10 times, sometimes crosstalk will not appear at once, but only after several runs.

It may also be a good idea to test the full memory.

As said others, including myself, have been able to run this on original hardware with UltiMem, so there must be something wrong on your end. If you come to Revision this year Mike and I could have a look at it :D
User avatar
pixel
Vic 20 Scientist
Posts: 1329
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: WIP: Doom

Post by pixel »

tokra wrote:Very strange. I can only suggest you run crosstalk-check for at least 10 times, sometimes crosstalk will not appear at once, but only after several runs.

It may also be a good idea to test the full memory.
Sorted. Crosstalk.prg won't complain. memtest.prg breaks at $400 with all blocks enabled. Although +3K seems to work otherwise. BTW I don't understand the RND() thing really... will keep trying things out… perhaps an assembly version of a complete RAM test is in order.
As said others, including myself, have been able to run this on original hardware with UltiMem, so there must be something wrong on your end. If you come to Revision this year Mike and I could have a look at it :D
I'm sure that'd be an unforgettable experience. :D Now I'm feeling rather bad because I can't be there. :(
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
tokra
Vic 20 Scientist
Posts: 1120
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: WIP: Doom

Post by tokra »

Hmm, the 3K area is mostly affected by crosstalk, so maybe this still is the issue. Using the memtest, can you delete the lines that check the other memory blocks, so it just checks 3k? Then try adding BLK5 again and re-run, then the other blocks.

Also, try running crosstalk-check in an endless loop for some time (at least 10 minutes).

BTW: RND with a negative value resets the seed, so any value you check with rnd(1) after setting the seed will be the same. This makes sure you fill RAM with random values and check against the same random values.
User avatar
pixel
Vic 20 Scientist
Posts: 1329
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: WIP: Doom

Post by pixel »

tokra wrote:Hmm, the 3K area is mostly affected by crosstalk, so maybe this still is the issue. Using the memtest, can you delete the lines that check the other memory blocks, so it just checks 3k? Then try adding BLK5 again and re-run, then the other blocks.
As soon as I take one of the higher blocks out it works.
BTW: RND with a negative value resets the seed, so any value you check with rnd(1) after setting the seed will be the same. This makes sure you fill RAM with random values and check against the same random values.
Neat!
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
majikeyric
Vic 20 Afficionado
Posts: 349
Joined: Fri Oct 24, 2014 2:08 pm
Website: http://majikeyric.free.fr
Location: France

Re: WIP: Doom

Post by majikeyric »

The problem comes from the bank registers ($9ff4-$9fff).

Code: Select all

RAM_BANK ($9ff4-5 /  40948-9)
IO_BANK ($9ff6-7 / 40950-1)
BLK1_BANK ($9ff8-9 / 40952-3)
BLK2_BANK ($9ffa-b / 40954-5)
BLK3_BANK ($9ffc-d / 40956-7)
BLK5_BANK ($9ffe-f / 40958-9)
At the beginning of the Ultimem menu code, all Ultimem registers are zeroed and only the needed registers are initialized before exiting.

So when exiting all non needed bank registers are equals to zero.
if you activate other blocks of memory afterwards they all will share the bank 0 hence the crosstalk issues.

I think Tokra uses his own RAM manager which doesn't zero the Ultimem registers then that's why he has no problem :mrgreen:

Code: Select all

On reset, bank registers are set to the following values (RAM = 1, IO = 2, BLK1 = 3, BLK2= 4, BLK3 = 5, BLK5 = 0). This is done to ensure that BLK5 will point to the first bank of memory, and that if someone turn on all RAM, the banks will not collide.
Last edited by majikeyric on Wed Mar 08, 2017 7:07 am, edited 1 time in total.
User avatar
tokra
Vic 20 Scientist
Posts: 1120
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: WIP: Doom

Post by tokra »

If used correctly, my BASIC-program further back in this thread sets the registers correctly. However for ease of use I have created a doom.d64-image that has a program that sets the UltiMem correctly as the first file on the disk:

http://www.tokra.de/vic/doom/ultidoom.d64

So, just type

Code: Select all

load"ultiboot",8
run
After the machine resets you then need to manually load the original loader:

Code: Select all

load"boot",8
run
siccoyote
Vic 20 Dabbler
Posts: 91
Joined: Sun Nov 26, 2017 6:27 pm
Location: UK

Re: WIP: Doom

Post by siccoyote »

Wish I'd seen this post before I go the doom.d64 and ultidooom.d64 and tried ulitboot doom.prg etc.

Worked it out in the end also switching all dip switches to ON on Eslapion's 35k expansion.

Impressive game.
Reading_Steiner
Vic 20 Newbie
Posts: 5
Joined: Thu Feb 14, 2019 11:06 am
Location: Saratov, Russia
Occupation: Interpreter

Re: WIP: Doom

Post by Reading_Steiner »

Okay, so there's a Doom port that works on Vic 20? I thought this was still a WIP, I'll go and download it!
User avatar
Kweepa
Vic 20 Scientist
Posts: 1314
Joined: Fri Jan 04, 2008 5:11 pm
Location: Austin, Texas
Occupation: Game maker

Re: WIP: Doom

Post by Kweepa »

Yeah, I never actually created a thread in completed games, now that I think about it.
Oh well.
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: WIP: Doom

Post by beamrider »

You can just edit the title of this one :D
siccoyote
Vic 20 Dabbler
Posts: 91
Joined: Sun Nov 26, 2017 6:27 pm
Location: UK

Re: New Release: Doom

Post by siccoyote »

Image

Just decided to knock up a cassette inlay for this

Then thought, it probably wouldn't work very well from cassette :)
User avatar
darkatx
Vic 20 Afficionado
Posts: 470
Joined: Wed Feb 04, 2009 2:17 pm
Location: Canada

Re: New Release: Doom

Post by darkatx »

looks awesome!!!
Learning all the time... :)
User avatar
Kweepa
Vic 20 Scientist
Posts: 1314
Joined: Fri Jan 04, 2008 5:11 pm
Location: Austin, Texas
Occupation: Game maker

Re: New Release: Doom

Post by Kweepa »

Hilarious!
I like the screen from the Speccy version :lol:
But yeah, a disk inlay would be better :P
Post Reply