Diablo ASM - a Collaborate effort.

A forum where you can announce your awesome project(s).

Moderator: MaxCoderz Staff

User avatar
Shadow Phoenix
Calc Guru
Posts: 835
Joined: Mon 03 Jan, 2005 7:54 pm
Location: out there. seriosly.

Post by Shadow Phoenix »

sure.....this way we will have a 3 people newbie at ASM group!
*goes to freeforums and makes a forum*
Life is getting better.
User avatar
dysfunction
Calc Master
Posts: 1454
Joined: Wed 22 Dec, 2004 3:07 am
Location: Through the Aura

Post by dysfunction »

Hmm, perhaps I will enjoy this game more on a calculator... at least in Diablo I (don't own II) I found the repetitive hack-and-slash rather tedious.
Image


"You're very clever, young man, but it's turtles all the way down!"
threefingeredguy
Calc King
Posts: 2195
Joined: Sun 27 Mar, 2005 4:06 am
Location: sleeping
Contact:

Post by threefingeredguy »

The thin that bugged me about D1 was that it easy to get stuck in later levels. I hope we can fix that and the repetitiveness.
Image
necro
Calc King
Posts: 1619
Joined: Sat 26 Mar, 2005 2:45 am
Location: your shadow

Post by necro »

well...is it going to be isometric like diablo?
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

Is it going to be a overhead view, first person :P, or kinda like zelda?
threefingeredguy
Calc King
Posts: 2195
Joined: Sun 27 Mar, 2005 4:06 am
Location: sleeping
Contact:

Post by threefingeredguy »

It better be isometetric *glares at threefingeredguy*
Image
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

threefingeredguy wrote:It better be isometetric *glares at threefingeredguy*
:?:
Liazon
Calc Guru
Posts: 962
Joined: Thu 27 Oct, 2005 8:28 pm

Post by Liazon »

No, but seriously, is there anything I could do to help? This is ASM right?
Image Image Image
threefingeredguy
Calc King
Posts: 2195
Joined: Sun 27 Mar, 2005 4:06 am
Location: sleeping
Contact:

Post by threefingeredguy »

Yeah it's ASM and sure, you can help. I don't see any reason why not. We need to start dividing the tasks between us. First, get ShadowPhoenix to send you that movement engine he wrote and between us we will optimize it. I have a lot of things to concentrate on ATM so it's good to have multiple people.
Image
User avatar
Shadow Phoenix
Calc Guru
Posts: 835
Joined: Mon 03 Jan, 2005 7:54 pm
Location: out there. seriosly.

Post by Shadow Phoenix »

Here is screenshot #1!

(EDIT by tr1p1ea) - Reduced your gif from 1.03MB to 11.6KB :).

Image

Code: Select all


;                       HEADER
    .nolist

       #include "ion.inc"		;tells TASM--the compiler--what file to read from to define rom call memory addresses and such

         #include "keys.inc"
;GameEnded	=    saferam3    ;This is UGLY way to end a program
apdSubTimer     =     $8448
apdTimer       =    $8449

        .list

#ifdef TI83P
        .org    progstart-2
        .db    $BB,$6D
#else
        .org    progstart
#endif
        ret				

        jr      nc,UltraStart		;Jumps to the beginning of the program (this line and the below three will be
        .db     "ZDiablo",0		;The title displayed by ION--anything you want



;
;           START   START    START   START
;
UltraStart:
          ; ld a,0
         ;  ld (GameEnded),a

Start:

                          ;Starting the loop
                          ;First check if needed to quit the program
       ;  ld a,(GameEnded)
        ; cp 1
        ; ret z

         call ClearGraphBuffer

         ;call getDI
          ;cp skUP
          ;call z, quit

         ;jp start

GetKey:
	LD a, %10111111   ;2nd can be the popup menu :) or the fight thing.
	call DirectInput
	BIT 5, A
	jp z,somewhere
	                  ;If 2nd was not  pressed...then
	call GetDi        ; Maybe I should use Directinput here too....
        cp skUp
	jp z, k_Up
	cp skRight
        jp z, k_Right
	cp skDown
	jp z, k_Down
	cp skLeft
	jp z, k_Left

	cp skUpRight
	jp z,k_UpRight
	cp skDownRight
	jp z,k_DownRight
	cp skDownLeft
	jp z,k_DownLeft
	cp skUpLeft
	jp z,k_UpLeft

	cp skMode
        jp z,quit

	cp skDel
	call z, CLI_TurnOff          ;This does APD + Power down
	jp draw                    ; Copied from
	                       ;      http://wikiti.denglend.net/index.php?title=83Plus:Ports:03
;Pause:


         ;bcall(_EnableAPD)


   ld hl, 1 \ ld (apdsubtimer), hl          ; THANKS Michael_V !!!!
 ret
Quit:
  ;ld a,1
  ;ld (GameEnded),a             ;This is an ugly way to quit out of the game
  ret                         ;Any ideas - tell me
k_UpRight:
           call m_up
           call m_right
           jp draw
k_UpLeft:
           call m_up
           call m_left
           jp draw
k_DownRight:
            call m_down
            call m_right
            jp draw
k_DownLeft
          call m_left
          call m_left
          jp draw

k_Left:
       call m_left
       jp draw
k_Up:  
     call m_up
     jp draw
k_Down:
            call m_down
       jp draw
k_Right:
       call m_right
        jp draw

somewhere:
              jp draw
m_up:
          ld a, (Ycor)
    or a
    ret z
       dec a
       ld (Ycor),a
 ret
m_down:
   ld a, (Ycor)
    cp 56
    ret z
       inc a
       ld (Ycor),a
 ret
m_left:
 ld a, (Xcor)
    or a
    ret z
       dec a
       ld (Xcor),a
 ret
m_right:
 ld a, (Xcor)
    cp 88
    ret z
       inc a
       ld (Xcor),a
 ret



Draw:

        ld b,8
        ld a,(Ycor)
        ld l,a
        ld a, (Xcor)
        ld ix, person


     call ionPutSprite	 ; For version .000000000001 I used ion's non grayscale routine.
     call ionFastCopy




    jp start


Ycor:   .db 5

Xcor:   .db 5

Person:
 .db %00011000
 .db %00111100
 .db %00011000
 .db %00011110
 .db %01111100
 .db %00011000
 .db %00100100
 .db %01000010





 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ROUTINES - LATER FOR INCLUDE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 ;------------------------------
 ;------------------------------
 ;------------------------------
       ;;;Name: DirectInput
;Inputs: A = Key Group
;Outputs: A = Key Code; Zero If None
;Destroys: A, B
DirectInput:
   ld b,a
   ld a,$ff ;Reset the keypad
   out (1),a
   ld a,b
   out (1),a
   in a,(1)
   ret
;;;;;;;;;;;;;;;;
ClearGraphBuffer:
	ld hl,plotsscreen      ;used from Michael's OS due to my laziness
	ld (hl),0
	ld de,plotsscreen+1
	ld bc,767
	ldir
	ret
;;;;;;;;;;;;;;;
CLI_TurnOff:               ;Does this WORK? NOT TESTED!!!!!

;	res onKey,(iy+keyFlags)
	ld a,02h
	out (10h),a		;Turn off LCD
	ld a,08h
	out (3),a
	call $000B
	ld a,36h
	out (4),a
	ld a,01h
	out (3),a
;	call RAM_FAT_Checksum
;	ld (RAMChecksum),hl
	ex af,af'
	exx
	ei
	halt		;It halts until ON is pressed
	ld a,0Bh
	out (3),a
	ld a,03h
	out (10h),a			;Turn the LCD back on
;	res onKey,(iy+keyFlags)
	ret
;;;;;;;;;;;;;;;
Pause:
  DI                  ; disable interrupts
 LD  A, 01           ; bit 3 = lcd status
  OUT ($03), A        ; bit 0 = ON-interrupt status
  EI                  ; enable interrupts
  HALT                ; wait for ON (that's the only interrupt)
   RET
;;;;;;;;;;;;;;; Halt routine : B = delay
;;;;;;;;;;;;;;; PLEASE set B to something before launching this   ;P
Halt:
	ei  ; turn on interrupts so it doesn't crash

zloop:
	halt
        djnz zloop
	ret
	;------------------------------end


        #include "DirectInput.inc"
                  #include "getdi.inc"
                          #include	"keyval.inc"
.end
END

Last edited by Shadow Phoenix on Wed 14 Dec, 2005 2:03 am, edited 1 time in total.
Life is getting better.
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

Looks fast, and way better than the real thing! :P Keep it up.
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Post by CompWiz »

MirageOS? :x Try crunchyOS.I hope I don't have to list the advantages again. :)

Or, the NimbusOS beta is pretty good also.
In Memory of the Maxcoderz Trophy Image
User avatar
tr1p1ea
Maxcoderz Staff
Posts: 4141
Joined: Thu 16 Dec, 2004 10:06 pm
Location: I cant seem to get out of this cryogenic chamber!
Contact:

Post by tr1p1ea »

Looks good so far guys. You could tidy up the code a bit, but in general it seems to be a good start :).
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image
User avatar
Shadow Phoenix
Calc Guru
Posts: 835
Joined: Mon 03 Jan, 2005 7:54 pm
Location: out there. seriosly.

Post by Shadow Phoenix »

CompWiz wrote:MirageOS? :x Try crunchyOS.I hope I don't have to list the advantages again. :)

Or, the NimbusOS beta is pretty good also.
maybe CrunchyOS is a better shell....however, I dont know...please give me a list of advantages :) .

Anyhow, the demo is just a first demo which shows how fast it is. Take note - No Bcall's anywhere. When threefingerguy gets the greyscale isometric tile placcer, then we will be able to make a proper map placer and then we will change from the guy walking to the map moving. :twisted:

(EDIT by tr1p1ea) - Reduced your gif from 1.03MB to 11.6KB Smile.

Tell me the secret :O! !!! !! !!! !!!! !!!! !!! ! !! ! !!!! !!! !!!
*sorry couldnt keep my finger off the !'s!!! *
Life is getting better.
Liazon
Calc Guru
Posts: 962
Joined: Thu 27 Oct, 2005 8:28 pm

Post by Liazon »

CruchyOS supports ION, so as long as you don't you Mirage.inc, you're okay.

edit: Wow, so even in ASM, you have to sacrifice RAM size for speed and vice versa.
Image Image Image
Post Reply