From 0597f9b2bb1bf5de36e489c38cbba84e13e491a9 Mon Sep 17 00:00:00 2001 From: Bill Chatfield Date: Mon, 4 May 2020 23:57:47 -0400 Subject: [PATCH] Convert to Dev65 assembler --- src/.Makefile.swp | Bin 12288 -> 12288 bytes src/Makefile | 8 +- src/as65-output.txt | 127 ------------- src/macros.s | 51 ++--- src/rnd.bin | Bin 0 -> 4097 bytes src/rnd.dsk | Bin 0 -> 143360 bytes src/rnd.lst | 345 ++++++++++++++++++++++++++++++++++ src/rnd.s | 26 +-- src/symbols.s | 60 +++--- storage/prodos-2.0.3-boot.dsk | Bin 143360 -> 143360 bytes 10 files changed, 419 insertions(+), 198 deletions(-) create mode 100644 src/rnd.bin create mode 100644 src/rnd.dsk create mode 100644 src/rnd.lst diff --git a/src/.Makefile.swp b/src/.Makefile.swp index 2f154523ef82ea9e278d30a48aac39edd15b9c09..ddbf8174fa1695c5d2dc9091c4663506d3b734ee 100644 GIT binary patch delta 234 zcmZojXh={sQf{Edr&;W-dL1LFHYyb6d{0`ZZ}2Nj-jZa$`^!YGoQpOUJeuA*XLU|^uD zqGAc8)F*$}4q(?y%FJWnRG#dqBgd_$r(ax>UzC`hsy{hh=ND^vW?rho=0x53OaKOU BHN*e_ delta 201 zcmZojXh={*HiS;uzAuGcY7&=HyJAsIt-JfIRD8P6mdf zlQ|WF(_(lT7{Y)!6o`d@_&g5-!+s!M1jGx0coGno0kH=V%K))75OVzk*AHLduT>hEXsY0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8Umvs NFd71*AuzZ?001WABnbcj literal 0 HcmV?d00001 diff --git a/src/rnd.dsk b/src/rnd.dsk new file mode 100644 index 0000000000000000000000000000000000000000..2ca3a6df8fc57f6cd57f8272f59cdf984541cd90 GIT binary patch literal 143360 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 hNZDd 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

_9?TJbm>G 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 c54nGY){#00Q=TE*Q8u{biZ4Or>y_|-0a{i)8vp 255 + 0000E7BE = FADD .EQU $E7BE ;FAC = MEM + FAC, MEM ADDR IS Y(HI) A(LO) + 0000E7A7 = FSUB .EQU $E7A7 ;FAC = MEM - FAC, MEM ADDR IS Y(HI) A(LO) + 0000E97F = FMULT .EQU $E97F ;FAC = MEM * FAC, MEM ADDR IS Y(HI) A(LO) + 0000EA66 = FDIV .EQU $EA66 ;FAC = MEM / FAC, MEM ADDR IS Y(HI) A(LO) + 0000E7C1 = FADDT .EQU $E7C1 ;FAC = ARG + FAC, MUST LOAD FACEXP INTO A FIRST + 0000E7AA = FSUBT .EQU $E7AA ;FAC = ARG - FAC, MUST LOAD FACEXP INTO A FIRST + 0000E982 = FMULTT .EQU $E982 ;FAC = ARG * FAC, MUST LOAD FACEXP INTO A FIRST + 0000EA69 = FDIVT .EQU $EA69 ;FAC = ARG / FAC, MUST LOAD FACEXP INTO A FIRST + 0000EA39 = MUL10 .EQU $EA39 ;MULTIPLY FAC BY 10 + 0000EBB2 = FCOMP .EQU $EBB2 ;COMP MEM TO FAC + 0000EBF2 = QINT .EQU $EBF2 ;CONVERT FAC TO INTEGER + 0000EB93 = FLOAT .EQU $EB93 ;CONVERT A TO FAC, I THINK + 0000EB63 = MOVAF .EQU $EB63 ;MOVE FAC INTO ARG + 0000EB2B = MOVMF .EQU $EB2B ;MOVE FAC TO MEMORY Y,X + 0000EB53 = MOVFA .EQU $EB53 ;MOVE ARG TO FAC + 0000EB2B = MOVFM .EQU $EB2B ;MOVE MEMORY TO FAC + 0000EC23 = INT .EQU $EC23 ;APPLESOFT INT FUNCTION + 0000ED2E = PRINTFAC .EQU $ED2E ;PRINT FAC. USES FOUT,STROUT + 0000ED34 = FOUT .EQU $ED34 ;FAC TO STRING, FAC DESTROYED + 0000EFAE = RND .EQU $EFAE ;APPLESOFT RND FUNCTION + + ;******************************* + ; * + ; SUBROUTINES PROVIDED BY * + ; SYSTEM MONITOR PROGRAM * + ; IN READ-ONLY MEMORY * + ; ADDRESSES $F800 - $FFFF * + ; * + ;******************************* + + 0000F800 = PLOT .EQU $F800 ;PLOT BLOCK ON LOW-RES SCREEN + 0000F819 = HLINE .EQU $F819 ;HORIZONTAL LINE + 0000F828 = VLINE .EQU $F828 ;VERTICAL LINE + 0000F832 = CLRSCR .EQU $F832 ;CLEAR LOW-RES SCREEN + 0000F836 = CLRTOP .EQU $F836 ;CLEAR THE TOP OF LOW-RES + 0000F85F = NEXTCOL .EQU $F85F ;INCREMENT COLOR BY 3 + 0000F864 = SETCOL .EQU $F864 ;SET LOW-RES GRAPHICS COLOR + 0000F871 = SCRN .EQU $F871 ;READ THE LOW-RES SCREEN + 0000FB2F = TEXTCMD .EQU $FB2F + 0000FB39 = TEXTMODE .EQU $FB39 + 0000FB40 = GR .EQU $FB40 ;BASIC GR COMMAND + 0000FCA8 = WAIT .EQU $FCA8 + 0000FDED = COUT .EQU $FDED ;WRITE A CHARACTER + 0000FD8E = CROUT .EQU $FD8E ;WRITE A CARRIAGE RETURN + 0000FDDA = PRBYTE .EQU $FDDA ;PRINT VALUE OF BYTE + +Portable 65xx Assembler - V1.2 (2008-03-09) + + + .include "macros.s" + ;******************************* + ; * + ; MACROS * + ; * + ; AUTHOR: BILL CHATFIELD * + ; LICENSE: GPL2 * + ; * + ;******************************* + +000000' PUSHY .MACRO + TYA + PHA + .ENDM + +000000' POPY .MACRO + PLA + TAY + .ENDM + +000000' PUSHXY .MACRO + TXA + PHA + TYA + PHA + .ENDM + +000000' POPXY .MACRO + PLA + TAY + PLA + TAX + .ENDM + + ;******************************* + ; * + ; PUTS .MACRORO - OUTPUTS STRING * + ; ]1 = ADDRESS OF NULL- * + ; TERMINATED STRING * + ; * + ;******************************* + +000000' PUTS .MACRO + PUSHY + LDY #0 ; PREPARE LOOP INDEX +000000' NEXT LDA \0,Y ; LOAD A CHARACTER + CMP #0 ; CHECK FOR END OF STRING + BEQ DONE + ORA #%10000000 ; SET HIGH BIT FOR OUTPUT + JSR COUT + INY + JMP NEXT +000000' DONE POPY + +Portable 65xx Assembler - V1.2 (2008-03-09) + + .ENDM + + ;******************************* + ; * + ; PUTF - * + ; PRINTS FLOATING POINT NUMBER * + ; IN FAC. DESTROYS VALUE IN * + ; FAC. DON'T KNOW WHY. * + ; * + ; ]1 - ABS ADDR FOR STRING * + ; * + ;******************************* + +000000' PUTF .MACRO + JSR FOUT ;CONVERT FAC TO STRING + STA \0 ;STORE LOW BYTE OF STRING + STY \0+1 ;STORE HIGH BYTE OF STRING + PUTS (\0) ;PRINT STRING + .ENDM + + + .org $8000 + +008000 202380 : main jsr seedrnd +008003 204B80 : jsr rndcol ;Set the color +008006 60 : rts + + ; Add A to FAC leaving result in FAC +008007 : addafac +008007 48 : pha +008008 2063EB : jsr MOVAF ;Move FAC to ARG +00800B 68 : pla +00800C 2093EB : jsr FLOAT ;Convert A to floating point in FAC +00800F A59D : lda FACEXP ;Required for FADDT +008011 20C1E7 : jsr FADDT ;Add ARG to FAC putting result in FAC +008014 60 : rts ;Return with result in FAC + + ; Multiply FAC by A leaving result in FAC +008015 : mulafac +008015 48 : pha ;Save A on stack +008016 2063EB : jsr MOVAF ;Move FAC to ARG +008019 68 : pla ;Get original value back in A +00801A 2093EB : jsr FLOAT ;Convert value in A to floating point in FAC +00801D A59D : lda FACEXP ;Required for FMULTT +00801F 2082E9 : jsr FMULTT ;Multiply ARG by FAC putting result in FAC +008022 60 : rts ;Return with result in FAC + + ; Seed RND function by calling it with a variable negative number. +008023 A54E : seedrnd lda RNDL ;RNDL is a good seed value, because it changes +008025 0980 : ora #$80 ;Make it negative so RND will interpret it as a seed +008027 2093EB : jsr FLOAT ;Convert it to floating point +00802A 20AEEF : jsr RND ;Seed the random number generator +00802D 60 : rts + + +Portable 65xx Assembler - V1.2 (2008-03-09) + + ; Generate a floating point random number in the range [0,1) with result in FAC +00802E A901 : genrnd lda #1 ;A 1 arg to RND says to give the next random num +008030 2093EB : jsr FLOAT ;Convert to floating point as required by RND +008033 20AEEF : jsr RND ;Generate the random number +008036 60 : rts ;Return with result in FAC + + ; Generate an integer random number in the range [0,A-1] with result in A +008037 : rnda +008037 48 : pha ;Save parameter in A to stack +008038 202E80 : jsr genrnd ;Generate random number [0,1) in FAC +00803B 68 : pla ;Load multiplier into accumulator +00803C 201580 : jsr mulafac ;Multiply FAC by A +00803F 20FBE6 : jsr CONINT ;Convert FAC to 1-byte int in X +008042 8A : txa ;Put the result in A +008043 60 : rts ;Return with result A + + ; Generate an integer random number in the range [1,A] inclusive + ; with result in A +008044 : rnd1a +008044 203780 : jsr rnda ;Get an integer between [0,A-1] in A +008047 18 : clc ;Change the range to [1,A] +008048 6901 : adc #1 +00804A 60 : rts + + ; Set the color to a random non-black value. +00804B : rndcol +00804B A90F : lda #15 ;Max color number +00804D 204480 : jsr rnd1a ;Generate a random non-black color number +008050 2064F8 : jsr SETCOL ;Set the color +008053 60 : rts + + + +Portable 65xx Assembler - V1.2 (2008-03-09) + +Symbol Table + +CLR80STO 0000C000 +CLR80VID 0000C00C +CLRSCR 0000F832 +CLRTOP 0000F836 +COL80 0000C01F +CONINT 0000E6FB +COUT 0000FDED +CROUT 0000FD8E +FACEXP 0000009D +FADD 0000E7BE +FADDT 0000E7C1 +FCOMP 0000EBB2 +FDIV 0000EA66 +FDIVT 0000EA69 +FLOAT 0000EB93 +FMULT 0000E97F +FMULTT 0000E982 +FOUT 0000ED34 +FSUB 0000E7A7 +FSUBT 0000E7AA +GIVAYF 0000E2F2 +GR 0000FB40 +HIRES 0000C01D +HIRESOFF 0000C056 +HIRESON 0000C057 +HLINE 0000F819 +INT 0000EC23 +KBD 0000C000 +KBDSTRB 0000C010 +MIXED 0000C01B +MIXEDOFF 0000C052 +MIXEDON 0000C053 +MOVAF 0000EB63 +MOVFA 0000EB53 +MOVFM 0000EB2B +MOVMF 0000EB2B +MUL10 0000EA39 +NEXTCOL 0000F85F +PAGE2 0000C01C +PAGE2OFF 0000C054 +PAGE2ON 0000C055 +PLOT 0000F800 +PRBYTE 0000FDDA +PRINTFAC 0000ED2E +QINT 0000EBF2 +RND 0000EFAE +RNDH 0000004F +RNDL 0000004E +SCRN 0000F871 +SET80STO 0000C001 +SET80VID 0000C00D +SETCOL 0000F864 + +Portable 65xx Assembler - V1.2 (2008-03-09) + +STO80 0000C018 +STROUT 0000DB3A +TEXT 0000C01A +TEXTCMD 0000FB2F +TEXTMODE 0000FB39 +TEXTOFF 0000C050 +TEXTON 0000C051 +VLINE 0000F828 +WAIT 0000FCA8 +__6501__ 00000000 +__6502__ 00000001 +__65816__ 00000000 +__65C02__ 00000000 +__65SC02__ 00000000 +addafac 00008007 +genrnd 0000802E +main 00008000 +mulafac 00008015 +rnd1a 00008044 +rnda 00008037 +rndcol 0000804B +seedrnd 00008023 diff --git a/src/rnd.s b/src/rnd.s index 3dc02cb..539e371 100644 --- a/src/rnd.s +++ b/src/rnd.s @@ -3,18 +3,19 @@ ; Random dungeon generator ; ;************************** - .include "symbols.s" - .include "macros.s" .code - org $8000 + .include "symbols.s" + .include "macros.s" + + .org $8000 main jsr seedrnd jsr rndcol ;Set the color rts -* Add A to FAC leaving result in FAC +; Add A to FAC leaving result in FAC addafac pha jsr MOVAF ;Move FAC to ARG @@ -24,7 +25,7 @@ addafac jsr FADDT ;Add ARG to FAC putting result in FAC rts ;Return with result in FAC -* Multiply FAC by A leaving result in FAC +; Multiply FAC by A leaving result in FAC mulafac pha ;Save A on stack jsr MOVAF ;Move FAC to ARG @@ -34,20 +35,20 @@ mulafac jsr FMULTT ;Multiply ARG by FAC putting result in FAC rts ;Return with result in FAC -* Seed RND function by calling it with a variable negative number. +; Seed RND function by calling it with a variable negative number. seedrnd lda RNDL ;RNDL is a good seed value, because it changes ora #$80 ;Make it negative so RND will interpret it as a seed jsr FLOAT ;Convert it to floating point jsr RND ;Seed the random number generator rts -* Generate a floating point random number in the range [0,1) with result in FAC +; Generate a floating point random number in the range [0,1) with result in FAC genrnd lda #1 ;A 1 arg to RND says to give the next random num jsr FLOAT ;Convert to floating point as required by RND jsr RND ;Generate the random number rts ;Return with result in FAC -* Generate an integer random number in the range [0,A-1] with result in A +; Generate an integer random number in the range [0,A-1] with result in A rnda pha ;Save parameter in A to stack jsr genrnd ;Generate random number [0,1) in FAC @@ -57,14 +58,15 @@ rnda txa ;Put the result in A rts ;Return with result A -* Generate an integer random number in the range [1,A] inclusive -* with result in A +; Generate an integer random number in the range [1,A] inclusive +; with result in A rnd1a jsr rnda ;Get an integer between [0,A-1] in A - inc ;Change the range to [1,A] + clc ;Change the range to [1,A] + adc #1 rts -* Set the color to a random non-black value. +; Set the color to a random non-black value. rndcol lda #15 ;Max color number jsr rnd1a ;Generate a random non-black color number diff --git a/src/symbols.s b/src/symbols.s index 144d819..26b6e53 100644 --- a/src/symbols.s +++ b/src/symbols.s @@ -1,22 +1,22 @@ -******************************** -* * -* SYMBOLS * -* * -* AUTHOR: BILL CHATFIELD * -* LICENSE: GPL2 * -* * -******************************** +;******************************* +; * +; SYMBOLS * +; * +; AUTHOR: BILL CHATFIELD * +; LICENSE: GPL2 * +; * +;******************************* RNDL .EQU $4e ;Continuously incremented while waiting for keyboard input RNDH .EQU $4f ;High byte of RNDL FACEXP .EQU $9d ;Address of FAC exponent used by FADDT,FSUBT,FMULTT,FDIVT -******************************** -* * -* MEMORY MAPPED INPUT/OUTPUT * -* ADDRESSES $C000 - $C0FF * -* * -******************************** +;******************************* +; * +; MEMORY MAPPED INPUT/OUTPUT * +; ADDRESSES $C000 - $C0FF * +; * +;******************************* KBD .EQU $C000 ;BIT 7 IS 1 IF KEY PRESSED KBDSTRB .EQU $C010 ;CLEARS KBD BIT 7 @@ -40,14 +40,14 @@ HIRESOFF .EQU $C056 ;SELECTS LOW-RES GRAPHICS HIRESON .EQU $C057 ;SELECTS HIGH-RES GRAPHICS HIRES .EQU $C01D ;0=LOW-RES, 1=HIGH-RES -******************************** -* * -* SUBROUTINES PROVIDED BY * -* APPLESOFT BASIC * -* IN READ-ONLY MEMORY * -* ADDRESSES $D000 - $F7FF * -* * -******************************** +;******************************* +; * +; SUBROUTINES PROVIDED BY * +; APPLESOFT BASIC * +; IN READ-ONLY MEMORY * +; ADDRESSES $D000 - $F7FF * +; * +;******************************* STROUT .EQU $DB3A ;PRINT STRING IN Y,A GIVAYF .EQU $E2F2 ;CONVERT 2-BYTE INT A(HI) Y(LO) TO FLOAT IN FAC @@ -73,14 +73,14 @@ PRINTFAC .EQU $ED2E ;PRINT FAC. USES FOUT,STROUT FOUT .EQU $ED34 ;FAC TO STRING, FAC DESTROYED RND .EQU $EFAE ;APPLESOFT RND FUNCTION -******************************** -* * -* SUBROUTINES PROVIDED BY * -* SYSTEM MONITOR PROGRAM * -* IN READ-ONLY MEMORY * -* ADDRESSES $F800 - $FFFF * -* * -******************************** +;******************************* +; * +; SUBROUTINES PROVIDED BY * +; SYSTEM MONITOR PROGRAM * +; IN READ-ONLY MEMORY * +; ADDRESSES $F800 - $FFFF * +; * +;******************************* PLOT .EQU $F800 ;PLOT BLOCK ON LOW-RES SCREEN HLINE .EQU $F819 ;HORIZONTAL LINE diff --git a/storage/prodos-2.0.3-boot.dsk b/storage/prodos-2.0.3-boot.dsk index 27c25adad94c5d3986e15ca031f6e63eef6f110b..a96a89937c593836fbc7ec210fe0338472345705 100644 GIT binary patch delta 110 zcmZp8z|ru4V}k%QWBq19<^}9(;=v(~K_Q_53{dc=fq{`hgn?m+hMBlB!(&Dc5QAwl zBa`-ICT?X$?#*i4x4wu7ad0v0dahxjX|1Fi80bPilL}p$9#PP$&u1 zm0VVYUQ&Nx4YhPE%5J05#Gi($up+JzPw^n3E#j$05PGl>cNgD*=X;s?;QcoWOxihU+{%9%JViHaW+J4>5eTKm6@a zq1Kw1@0%=%J5FnY{?$oHUM9WrtSYPfD!>2~$St)pY=He<1qS2SVUKpjzkE_&J8FL@ zbutt*PdNs1u1U^q>|BtXZRGqy&Jl@1{hmY<`WmKjy@Bah{S%=?cL*)$h0lcU)thAd zEHc2&tv4T0?KjHSzN4kQ8?mruH>BoIBVGZNc#&T2cvil@o1gZ*57{L04V;Uh0QBTB zskrhGfI%+AM+MP+bX`8c+3F-8K z4u;YQ9>XnlR$V40c_5hq+AXp)qYW<9tryuczhqmhk4x67KQirVgO`TnBsPGxqM7nt zVlZD;IzjuL+1xRJ+igA5)@>JWr`CbN*K|B@f`a=2^ttwm676+v1czc}{18|1ItHOI zA0^zeOy7(Or4CL@ard-w8;?r<9_|{EXiP{Y;t&QQ2SbpD0u&*FPzfrW5>f<3RFIOo o+(=(fU1_AR$}?(i4EMSt{-{5ypL}oKVJF%8&@F*k6xf6R0Ao(eLjV8(