mirror of
https://github.com/Tolik-Trek/2D-Studio.git
synced 2026-06-15 01:21:33 +03:00
bug fixes
This commit is contained in:
parent
2db8eaa037
commit
29d51ab763
125
2DSTUDIO.ASM
125
2DSTUDIO.ASM
@ -1,40 +1,64 @@
|
||||
;ORG_ ORG #8100
|
||||
INTA: EQU #80
|
||||
MSH: EQU 19
|
||||
IPOINT: EQU 8
|
||||
;IPOINT: EQU 8
|
||||
|
||||
;DOSPAGE EQU #00
|
||||
WINPAGE: EQU #08 ;#20
|
||||
DIRPAGE: EQU #09 ;#21
|
||||
; WINPAGE: EQU #08 ;#20
|
||||
; DIRPAGE: EQU #09 ;#21
|
||||
|
||||
;[BEGIN]
|
||||
;
|
||||
; 2DSTUDIO.EXE
|
||||
;
|
||||
ORG #8100-512
|
||||
ORG #8100-23
|
||||
; INCLUDE "dos_equ.asm"
|
||||
INCLUDE "SYS_EQU.ASM"
|
||||
DB "EXE" ;EXE ID
|
||||
EXE_HEADER: DB "EXE" ;EXE ID
|
||||
DB #00 ;EXE VERSION
|
||||
DW #0200 ;CODE OFFSET LOW
|
||||
DW EXE_HEADER.Size ;CODE OFFSET LOW
|
||||
DW #0000 ;CODE OFFSET HIGH
|
||||
DW #0000 ;END-BEG ;PRIMARY LOADER
|
||||
DW #0000 ;
|
||||
DW #0000 ;RESERVED
|
||||
DW #0000 ;
|
||||
DW BEGIN ;LOAD ADDRESS
|
||||
DW _DATA_ ;LOAD ADDRESS
|
||||
DW BEGIN ;START ADDRESS
|
||||
DW #8000 ;STACK ADDRESS
|
||||
DS 490
|
||||
DW STACK_POINT ;STACK ADDRESS
|
||||
DB 0
|
||||
.Size EQU $ - EXE_HEADER
|
||||
;DS 490-1
|
||||
|
||||
|
||||
_DATA_: BLOCK 128
|
||||
STACK_POINT EQU $+1
|
||||
|
||||
|
||||
WINPAGE: DB #FF
|
||||
DIRPAGE: DB #FF
|
||||
|
||||
|
||||
BEGIN: DI
|
||||
JP START_2DS
|
||||
JP IKEYBOARD
|
||||
;JP START_2DS
|
||||
;JP IKEYBOARD
|
||||
|
||||
START_2DS: LD (_SP+1),SP
|
||||
LD SP,#80F0
|
||||
START_2DS: ;LD (_SP+1),SP
|
||||
;LD SP,#80F0
|
||||
PUSH IX
|
||||
;
|
||||
LD BC,1*256 + #3D ; getmem
|
||||
RST #10
|
||||
JR NC,.ok_1
|
||||
;
|
||||
.exit: LD BC,#1E*256 + #41 ; Exit - ¥¤®áâ â®ç® ¯ ¬ïâ¨
|
||||
RST #10
|
||||
;
|
||||
.ok_1: LD (WINPAGE),A
|
||||
LD BC,1*256 + #3D ; getmem
|
||||
RST #10
|
||||
JR C,.exit
|
||||
LD (DIRPAGE),A
|
||||
;
|
||||
POP HL
|
||||
INC HL
|
||||
INC HL
|
||||
@ -65,8 +89,7 @@ GETFNAME:
|
||||
JR NC,CONT_2DS
|
||||
XOR A
|
||||
LD (LOADING),A
|
||||
CONT_2DS:
|
||||
LD C,#51
|
||||
CONT_2DS: LD C,#51
|
||||
RST #10
|
||||
LD (CURRMODE),A
|
||||
LD A,#81
|
||||
@ -82,40 +105,35 @@ CONT_2DS:
|
||||
|
||||
LD C,PAGE0
|
||||
IN B,(C)
|
||||
PUSH BC
|
||||
;PUSH BC
|
||||
LD A,B
|
||||
LD (DOSPAGE),A
|
||||
LD A,WINPAGE
|
||||
LD A,(WINPAGE)
|
||||
DI
|
||||
OUT (C),A
|
||||
LD HL,WN_FACE
|
||||
LD DE,#100
|
||||
LD DE,0
|
||||
LD BC,WN_FACE.Size
|
||||
LDIR
|
||||
POP BC
|
||||
OUT (PAGE0),A
|
||||
|
||||
CALL GO
|
||||
; LD A,DOSPAGE
|
||||
;POP BC
|
||||
;LD A,B
|
||||
;OUT (PAGE0),A
|
||||
|
||||
; LD A,2
|
||||
; LD C,0
|
||||
; RST #18
|
||||
|
||||
LD A,WINPAGE
|
||||
CALL GO
|
||||
;
|
||||
LD A,(WINPAGE)
|
||||
OUT (PAGE0),A
|
||||
LD C,#93
|
||||
LD A,#0E
|
||||
CALL IPOINT ;CLEAR
|
||||
RST 8 ;CLEAR
|
||||
LD BC,#0592
|
||||
LD A,#0E
|
||||
CALL IPOINT ;GET MEMORY
|
||||
RST 8 ;GET MEMORY
|
||||
LD BC,#0094
|
||||
LD HL,PIXPAGE
|
||||
SLEPAGE: LD A,#0E
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL IPOINT ;GET PAGES
|
||||
RST 8 ;GET PAGES
|
||||
POP BC
|
||||
POP HL
|
||||
LD (HL),A
|
||||
@ -128,17 +146,17 @@ SLEPAGE: LD A,#0E
|
||||
; LD HL,#4000
|
||||
; LD BC,#0880
|
||||
; LD E,1
|
||||
; CALL IPOINT
|
||||
; RST 8
|
||||
LD HL,PALCOL ;SET DESKTOP PALETTE
|
||||
LD DE,#12EE ;& CURSOR COLORS
|
||||
LD BC,#FFA4 ;#EE,#EF
|
||||
XOR A
|
||||
CALL IPOINT
|
||||
RST 8
|
||||
LD HL,PALCOL ;SET DESKTOP PALETTE
|
||||
LD DE,#12EE ;& CURSOR COLORS
|
||||
LD BC,#FFA4 ;#EE,#EF
|
||||
LD A,1
|
||||
CALL IPOINT
|
||||
RST 8
|
||||
|
||||
POP DE
|
||||
POP HL
|
||||
@ -175,20 +193,13 @@ SLEPAGE: LD A,#0E
|
||||
; OUT (PAGE3),A
|
||||
LD A,0
|
||||
OUT (Y_PORT),A
|
||||
EXIT: ;LD BC,#0080
|
||||
; LD E,0
|
||||
; CALL #3D13
|
||||
DI
|
||||
; LD IY,#5C3A
|
||||
EXIT: DI
|
||||
LD A,(DOSPAGE)
|
||||
OUT (PAGE0),A
|
||||
;_SP LD SP,#0000
|
||||
EI
|
||||
|
||||
LD A,(CLEARRAM)
|
||||
OR A
|
||||
JR NZ,NOCLEAR0
|
||||
|
||||
;GET ID 1-ST RAMDISK
|
||||
LD A,#0D ;RAM DISK NUMBER
|
||||
LD C,#CE ;GET RAM DISK'S ID
|
||||
@ -202,7 +213,6 @@ EXIT: ;LD BC,#0080
|
||||
LD C,#CA ;FREE DRIVE
|
||||
LD A,#0D
|
||||
RST #08
|
||||
|
||||
SKK1:
|
||||
;GET ID 2-ND RAMDISK
|
||||
LD A,#0E ;RAM DISK NUMBER
|
||||
@ -218,9 +228,7 @@ SKK1:
|
||||
LD A,#0E
|
||||
RST #08
|
||||
|
||||
|
||||
SKK2:
|
||||
|
||||
NOCLEAR0:
|
||||
LD C,2
|
||||
RST #30
|
||||
@ -233,13 +241,16 @@ NOCLEAR0:
|
||||
LD C,#5C
|
||||
RST #10
|
||||
|
||||
DI
|
||||
_SP: LD SP,#0000
|
||||
EI
|
||||
LD B,0
|
||||
LD C,#41
|
||||
; DI
|
||||
; _SP: LD SP,#0000
|
||||
; EI
|
||||
LD BC,#41
|
||||
RST #10
|
||||
RET
|
||||
;RET
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
PALCOL: ; B G R
|
||||
DB #00,#00,#00,#00 ;CURSOR
|
||||
@ -264,8 +275,8 @@ PALCOL: ; B G R
|
||||
|
||||
INCLUDE "GRAFOPEN.ASM"
|
||||
|
||||
IKEYBOARD:
|
||||
RET
|
||||
;IKEYBOARD:
|
||||
; RET
|
||||
|
||||
DO_LOADING:
|
||||
XOR A
|
||||
@ -409,7 +420,7 @@ OPEN2DS: LD HL,SPRITE_
|
||||
LD DE,#12EE ;& CURSOR COLORS
|
||||
LD BC,#FFA4 ;#EE,#EF
|
||||
LD A,1
|
||||
CALL IPOINT
|
||||
RST 8
|
||||
LD HL,PALCOL ;SET DESKTOP PALETTE
|
||||
LD DE,#EE*4+NEWPAL
|
||||
LD BC,#12*4
|
||||
@ -1165,7 +1176,7 @@ PB1: CALL PUSHBUT
|
||||
LD DE,#12EE ;& CURSOR COLORS
|
||||
LD BC,#FFA4 ;#EE,#EF
|
||||
LD A,1
|
||||
CALL IPOINT
|
||||
RST 8
|
||||
LD HL,PALCOL ;SET DESKTOP PALETTE
|
||||
LD DE,#EE*4+NEWPAL
|
||||
LD BC,#12*4
|
||||
@ -2086,7 +2097,7 @@ PRMBUFF: DB 0
|
||||
|
||||
WN_FACE:
|
||||
MODULE _INTERFACE_
|
||||
DISP #100
|
||||
DISP 0
|
||||
INCLUDE "interface/face.asm"
|
||||
;INCLUDE "interface/face_alt.asm"
|
||||
ENT
|
||||
|
||||
30
2DS_DISK.ASM
30
2DS_DISK.ASM
@ -118,7 +118,7 @@ ADI LD BC,#0020
|
||||
|
||||
GETH IN A,(#E2)
|
||||
PUSH AF
|
||||
LD A,DIRPAGE
|
||||
LD A,(DIRPAGE)
|
||||
OUT (#E2),A
|
||||
GETH1 LD A,(HL)
|
||||
OR A
|
||||
@ -639,22 +639,22 @@ AREApix EQU #C000
|
||||
CONVERT DI
|
||||
LD C,#93
|
||||
LD A,#0E
|
||||
CALL IPOINT ;CLEAR "S"
|
||||
RST 8 ;CLEAR "S"
|
||||
; LD C,#93
|
||||
; LD A,#0D
|
||||
; CALL IPOINT ;CLEAR "R"
|
||||
; RST 8 ;CLEAR "R"
|
||||
;; LD BC,#0592
|
||||
;; LD A,#0E
|
||||
;; CALL IPOINT ;CREATE "S"
|
||||
;; RST 8 ;CREATE "S"
|
||||
; LD BC,#0592
|
||||
; LD A,#0D
|
||||
; CALL IPOINT ;CREATE "R"
|
||||
; RST 8 ;CREATE "R"
|
||||
LD BC,#0094
|
||||
LD HL,FLEPAGE
|
||||
SL2PAGE LD A,#0D
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL IPOINT ;GET PAGES
|
||||
RST 8 ;GET PAGES
|
||||
POP BC
|
||||
POP HL
|
||||
LD (HL),A
|
||||
@ -667,13 +667,13 @@ SL2PAGE LD A,#0D
|
||||
JP NZ,SL2PAGE
|
||||
EDP001 LD C,#92
|
||||
LD A,#0E
|
||||
CALL IPOINT ;CREATE "S"
|
||||
RST 8 ;CREATE "S"
|
||||
LD BC,#0094
|
||||
LD HL,PIXPAGE
|
||||
SL3PAGE LD A,#0E
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL IPOINT ;GET PAGES
|
||||
RST 8 ;GET PAGES
|
||||
POP BC
|
||||
POP HL
|
||||
LD (HL),A
|
||||
@ -689,7 +689,7 @@ EDP002 CALL TURNBMP
|
||||
LD DE,#0000 ;! EE (00) AMOUNT COLORS
|
||||
LD BC,#FFA4
|
||||
LD A,1 ;PALETTE FOR MODE 8(!)
|
||||
CALL IPOINT ;SET PALETTE
|
||||
RST 8 ;SET PALETTE
|
||||
EI
|
||||
AND A
|
||||
RET
|
||||
@ -1142,13 +1142,13 @@ ROVNO2 POP BC
|
||||
MAKEBMP DI
|
||||
; LD C,#93
|
||||
; LD A,#0E
|
||||
; CALL IPOINT ;CLEAR "S"
|
||||
; RST 8 ;CLEAR "S"
|
||||
LD C,#93
|
||||
LD A,#0D
|
||||
CALL IPOINT ;CLEAR "R"
|
||||
RST 8 ;CLEAR "R"
|
||||
; LD BC,#0592
|
||||
; LD A,#0E
|
||||
; CALL IPOINT ;CREATE "S"
|
||||
; RST 8 ;CREATE "S"
|
||||
|
||||
LD HL,(FLSIZE)
|
||||
LD (SIZE0),HL
|
||||
@ -1158,14 +1158,14 @@ MAKEBMP DI
|
||||
|
||||
; LD BC,#0592
|
||||
; LD A,#0D
|
||||
; CALL IPOINT ;CREATE "R"
|
||||
; RST 8 ;CREATE "R"
|
||||
|
||||
LD BC,#0094
|
||||
LD HL,PIXPAGE
|
||||
SLXPAGE LD A,#0E
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL IPOINT ;GET PAGES
|
||||
RST 8 ;GET PAGES
|
||||
POP BC
|
||||
POP HL
|
||||
LD (HL),A
|
||||
@ -1179,7 +1179,7 @@ SLXPAGE LD A,#0E
|
||||
SX2PAGE LD A,#0D
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL IPOINT ;GET PAGES
|
||||
RST 8 ;GET PAGES
|
||||
POP BC
|
||||
POP HL
|
||||
LD (HL),A
|
||||
|
||||
40
GRAFOPEN.ASM
40
GRAFOPEN.ASM
@ -1,58 +1,62 @@
|
||||
|
||||
APOINT EQU 8 ;#3D13
|
||||
GO DI
|
||||
;APOINT: EQU 8 ;#3D13
|
||||
GO: ;DI
|
||||
LD IX,TAB00
|
||||
LD HL,#0000
|
||||
LD E,1
|
||||
LD C,#B0
|
||||
CALL APOINT
|
||||
RST 8
|
||||
;
|
||||
LD IX,TAB01
|
||||
LD HL,#0703
|
||||
LD E,1
|
||||
LD C,#B0
|
||||
CALL APOINT
|
||||
RST 8
|
||||
;
|
||||
LD IX,TAB02
|
||||
LD HL,#0826
|
||||
LD E,1
|
||||
LD C,#B0
|
||||
CALL APOINT
|
||||
RST 8
|
||||
;
|
||||
LD IX,TAB03
|
||||
LD HL,#0000
|
||||
LD E,1
|
||||
LD C,#B0
|
||||
CALL APOINT
|
||||
RST 8
|
||||
;
|
||||
LD IX,TAB04
|
||||
LD HL,#0000
|
||||
LD E,1
|
||||
LD C,#B0
|
||||
CALL APOINT
|
||||
RST 8
|
||||
RET
|
||||
|
||||
TAB00 DEFB 40,32,#00,#00,#20,#00,#08,#00
|
||||
TAB01 DEFB 33,23,#03,#07,#60,#00,#0B,#07
|
||||
TAB02 DEFB 01,21,038,#08,#60,#00,046,#08
|
||||
TAB00: DEFB 40,32,#00,#00,#20,#00,#08,#00
|
||||
TAB01: DEFB 33,23,#03,#07,#60,#00,#0B,#07
|
||||
TAB02: DEFB 01,21,038,#08,#60,#00,046,#08
|
||||
|
||||
TAB03 DEFB 08,02,028,#04,#60,#00,#24,#04
|
||||
TAB04 DEFB 02,02,037,#04,#60,#00,#2D,#04
|
||||
TAB03: DEFB 08,02,028,#04,#60,#00,#24,#04
|
||||
TAB04: DEFB 02,02,037,#04,#60,#00,#2D,#04
|
||||
|
||||
NORTAB DEFB 12,23,#0F,#07,#20,#00,#17,#07
|
||||
SECTAB DEFB 12,23,#0F,#07,#60,#00,#17,#07
|
||||
NORTAB: DEFB 12,23,#0F,#07,#20,#00,#17,#07
|
||||
SECTAB: DEFB 12,23,#0F,#07,#60,#00,#17,#07
|
||||
|
||||
SETNWIN DI
|
||||
SETNWIN: DI
|
||||
LD IX,NORTAB
|
||||
LD HL,#0F07
|
||||
LD E,1
|
||||
LD C,#B0
|
||||
CALL IPOINT
|
||||
RST 8
|
||||
EI
|
||||
RET
|
||||
|
||||
SETAWIN DI
|
||||
SETAWIN: DI
|
||||
LD IX,SECTAB
|
||||
LD HL,#0F07
|
||||
LD E,1
|
||||
LD C,#B0
|
||||
CALL IPOINT
|
||||
RST 8
|
||||
EI
|
||||
RET
|
||||
|
||||
|
||||
@ -1,30 +1,48 @@
|
||||
|
||||
;ORG_ ORG #0000
|
||||
; DISP #0000
|
||||
INTA EQU #80
|
||||
; ROM__
|
||||
; A0000 JP NULL_0
|
||||
; DB #FF,#FF,#FF,#FF,#FF
|
||||
; A0008 PUSH AF ;INT BIOS
|
||||
; LD A,#00
|
||||
; OUT (#7C),A
|
||||
; POP AF
|
||||
; RET
|
||||
; RET
|
||||
; A0010 JP NULL_0 ;INT DOS
|
||||
; DB #FF,#FF,#FF,#FF,#FF
|
||||
; A0018 JP NULL_0 ;INT DISK
|
||||
; DB #FF,#FF,#FF,#FF,#FF
|
||||
; A0020 JP RST_20 ;
|
||||
; DB #FF,#FF,#FF,#FF,#FF
|
||||
; A0028 JP NULL_0 ;
|
||||
; DB #FF,#FF,#FF,#FF,#FF
|
||||
; A0030 JP NULL_0 ;INT MOUSE
|
||||
; DB #FF,#FF,#FF,#FF,#FF
|
||||
; A0038 JP RST_38 ;INTERRUPT
|
||||
;
|
||||
; BLOCK #100-$,#FF
|
||||
|
||||
|
||||
; ORG 0
|
||||
JP NULL_0
|
||||
|
||||
;INT BIOS
|
||||
BLOCK 8-$,#FF
|
||||
PUSH AF
|
||||
LD A,#00
|
||||
OUT (#7C),A
|
||||
POP AF
|
||||
RET
|
||||
|
||||
|
||||
;INT DOS
|
||||
BLOCK #10-$,#FF
|
||||
JP NULL_0
|
||||
|
||||
|
||||
;INT DISK
|
||||
BLOCK #18-$,#FF
|
||||
JP NULL_0
|
||||
|
||||
|
||||
BLOCK #20-$,#FF
|
||||
JP RST_20
|
||||
|
||||
|
||||
BLOCK #28-$,#FF
|
||||
JP NULL_0
|
||||
|
||||
|
||||
;INT MOUSE
|
||||
BLOCK #30-$,#FF
|
||||
JP NULL_0
|
||||
|
||||
|
||||
;INTERRUPT
|
||||
BLOCK #38-$,#FF
|
||||
A0038 JP RST_38
|
||||
|
||||
|
||||
BLOCK #100-$,#FF
|
||||
JP INIT
|
||||
JP DLGinit
|
||||
JP GETPARM
|
||||
@ -367,8 +385,4 @@ ADRST20;
|
||||
DB I500/256,I500/256,I500/256,I500/256,I500/256,I500/256,I500/256,I500/256
|
||||
DB I500/256,I500/256,I500/256,I500/256,I500/256,I500/256,I500/256,I500/256
|
||||
DS #F0
|
||||
|
||||
; ENT
|
||||
_______
|
||||
|
||||
|
||||
;
|
||||
@ -50,7 +50,7 @@ RDOS: DI
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
|
||||
LD A,WINPAGE
|
||||
LD A,(WINPAGE)
|
||||
OUT (PAGE0),A
|
||||
|
||||
POP HL
|
||||
@ -359,7 +359,7 @@ GET_DIR:
|
||||
CALL SDOS
|
||||
IN A,(#E2)
|
||||
PUSH AF
|
||||
LD A,DIRPAGE
|
||||
LD A,(DIRPAGE)
|
||||
OUT (#E2),A
|
||||
LD HL,#C000
|
||||
LD DE,#C001
|
||||
|
||||
Loading…
Reference in New Issue
Block a user