_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

DEF-MODIFIK.ASM

FILE INFORMATION

FILENAME(S): DEF-MODIFIK.ASM

FILE TYPE(S): PRG

FILE SIZE: 1.9K

FIRST SEEN: 2025-10-20 00:37:11

APPEARS ON: 3 disk(s)

FILE HASH

3607afb82f07d1678870d0edd74e6cdb84d4e507c5ecb0dc162faef979725eea

FOUND ON DISKS (3 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SONDERHEFT 2 B DEF-MODIFIK.ASM PRG Curtcool, Klaus & Jan, Treasure Chest - Holger 30 1 DOWNLOAD FILE
M O C IN 1986 DEF-MODIFIK.ASM PRG hedning, shine 5 6 DOWNLOAD FILE
JARVIS 18 A DEF-MODIFIK.ASM PRG hedning, shine 5 6 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: FF 00 30 98 37 27 10 00  3B 2A 2A 2A 2A 2A 2A 2A  |..0.7'..;*******|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000020: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A AA 20 00 BB 30 00  |**********. ..0.|
00000030: 3B 20 6D 6F 64 69 66 69  7A 69 65 72 74 65 20 64  |; modifizierte d|
00000040: 65 66 66 6E 20 2D 20 66  75 6E 6B 74 69 6F EE 40  |effn - funktio.@|
00000050: 00 BB 50 00 3B 20 28 63  29 20 77 65 72 6E 65 72  |..P.; (c) werner|
00000060: 20 68 61 61 6B 20 20 20  20 31 39 38 B5 60 00 BB  | haak    198.`..|
00000070: 70 00 3B 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |p.;*************|
00000080: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000090: 2A 2A 2A 2A AA 80 00 BB  90 00 BB 00 01 3B 20 64  |****.........; d|
000000A0: 69 65 20 64 65 66 66 6E  20 66 75 6E 6B 74 69 6F  |ie deffn funktio|
000000B0: 6E 20 6B 61 6E 6E 20 6E  75 6E 20 61 75 63 68 20  |n kann nun auch |
000000C0: 65 69 6E E5 10 01 3B 20  73 74 72 69 6E 67 76 61  |ein...; stringva|
000000D0: 72 69 61 62 6C 65 20 7A  75 67 65 77 69 65 73 65  |riable zugewiese|
000000E0: 6E 20 62 65 6B 6F 6D 6D  65 EE 20 01 BB 30 01 3B  |n bekomme. ..0.;|
000000F0: 20 64 65 72 20 6E 65 75  65 20 73 79 6E 74 61 78  | der neue syntax|
00000100: 20 68 65 69 73 73 74 20  6E 75 6E BA 40 01 BB 50  | heisst nun.@..P|
00000110: 01 3B 20 64 65 66 20 66  6E 20 66 28 78 29 20 3D  |.; def fn f(x) =|
00000120: 20 75 73 72 20 28 61 62  24 A9 60 01 3B 20 20 20  | usr (ab$.`.;   |
00000130: 20 20 20 20 20 20 5E 20  20 20 20 20 20 20 20 20  |      ^         |
00000140: 20 20 DE 70 01 3B 20 20  20 20 20 62 65 6C 69 65  |  .p.;     belie|
00000150: 62 69 67 20 20 20 20 20  73 74 72 69 6E 67 76 61  |big     stringva|
00000160: 72 69 61 62 6C E5 80 01  BB 90 01 3B 20 73 6F 20  |riabl......; so |
00000170: 69 73 74 20 65 73 20 6D  6F 65 67 6C 69 63 68 20  |ist es moeglich |
00000180: 6D 69 74 20 69 6E 70 75  74 20 65 69 6E E5 00 02  |mit input ein...|
00000190: 3B 20 66 75 6E 6B 74 69  6F 6E 20 69 6E 20 65 69  |; funktion in ei|
000001A0: 6E 20 6C 61 75 66 65 6E  64 65 73 20 62 61 73 69  |n laufendes basi|
000001B0: 63 AD 10 02 3B 20 70 72  6F 67 72 61 6D 6D 20 7A  |c...; programm z|
000001C0: 75 20 75 65 62 65 72 6E  65 68 6D 65 6E 20 75 6E  |u uebernehmen un|
000001D0: 64 20 64 69 65 73 E5 20  02 3B 20 64 61 6E 6E 20  |d dies. .; dann |
000001E0: 64 65 66 20 66 6E 20 7A  75 7A 75 77 65 69 73 65  |def fn zuzuweise|
000001F0: 6E 2C 20 6F 68 6E 65 20  64 65 EE 30 02 3B 20 75  |n, ohne de.0.; u|
00000200: 6D 77 65 67 20 75 65 62  65 72 20 64 69 65 20 73  |mweg ueber die s|
00000210: 69 6D 75 6C 69 65 72 74  65 20 74 61 73 74 61 AD  |imulierte tasta.|
00000220: 40 02 3B 20 74 75 72 20  7A 75 20 67 65 68 65 6E  |@.; tur zu gehen|
00000230: 2C 20 6F 64 65 72 20 64  69 65 20 66 75 6E 6B 74  |, oder die funkt|
00000240: 69 6F EE 50 02 3B 20 27  65 69 6E 7A 75 70 6F 6B  |io.P.; 'einzupok|
00000250: 65 6E 27 AE 60 02 BB 70  02 3B 2D 2D 2D 2D 2D 2D  |en'.`..p.;------|
00000260: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000270: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D AD 80 02 BB 90  |-----------.....|
00000280: 02 3B 20 62 65 6E 75 74  7A 74 65 20 7A 65 72 6F  |.; benutzte zero|
00000290: 70 61 67 65 2D 61 64 72  65 73 73 65 EE 00 03 BB  |page-adresse....|
000002A0: 10 03 76 61 72 70 74 6E  20 20 20 20 20 2E 64 65  |..varptn     .de|
000002B0: 20 24 34 37 20 20 3B 76  61 72 69 61 62 6C 65 6E  | $47  ;variablen|
000002C0: 7A 65 69 67 65 F2 20 03  6F 70 70 74 72 20 20 20  |zeige. .opptr   |
000002D0: 20 20 20 2E 64 65 20 24  34 62 20 20 3B 70 72 6F  |   .de $4b  ;pro|
000002E0: 67 72 61 6D 6D 7A 65 69  67 65 F2 30 03 74 78 74  |grammzeige.0.txt|
000002F0: 70 74 72 20 20 20 20 20  2E 64 65 20 24 37 61 20  |ptr     .de $7a |
00000300: 20 3B 70 72 6F 67 72 61  6D 6D 7A 65 69 67 65 F2  | ;programmzeige.|
00000310: 40 03 62 75 66 20 20 20  20 20 20 20 20 2E 64 65  |@.buf        .de|
00000320: 20 24 32 30 30 20 3B 62  61 73 69 63 20 2D 20 65  | $200 ;basic - e|
00000330: 69 6E 67 61 62 65 70 75  66 66 65 F2 50 03 BB 60  |ingabepuffe.P..`|
00000340: 03 BB 70 03 3B 20 62 65  6E 75 74 7A 74 65 20 62  |..p.; benutzte b|
00000350: 61 73 69 63 20 2D 20 72  6F 75 74 69 6E 65 EE 80  |asic - routine..|
00000360: 03 BB 90 03 63 72 75 6E  63 68 20 20 20 20 20 2E  |....crunch     .|
00000370: 64 65 20 24 61 35 37 39  20 3B 76 61 72 69 61 62  |de $a579 ;variab|
00000380: 6C 65 6E 69 6E 68 61 6C  74 20 69 6E 20 74 6F 6B  |leninhalt in tok|
00000390: 65 EE 00 04 66 72 6D 6E  75 6D 20 20 20 20 20 2E  |e...frmnum     .|
000003A0: 64 65 20 24 61 64 38 61  20 3B 61 75 73 77 65 72  |de $ad8a ;auswer|
000003B0: 74 65 6E 20 61 75 73 64  72 75 63 EB 10 04 6F 72  |ten ausdruc...or|
000003C0: 64 76 61 72 20 20 20 20  20 2E 64 65 20 24 62 30  |dvar     .de $b0|
000003D0: 65 37 20 3B 76 61 72 69  61 62 6C 65 20 73 75 63  |e7 ;variable suc|
000003E0: 68 65 EE 20 04 BB 30 04  BB 40 04 3B 20 62 65 67  |he. ..0..@.; beg|
000003F0: 69 6E 6E 20 70 72 6F 67  72 61 6D ED 50 04 BB 60  |inn program.P..`|
00000400: 04 20 2E 62 61 20 24 63  30 30 30 20 3B 68 69 65  |. .ba $c000 ;hie|
00000410: 72 20 7A 2E 62 2E 20 6E  61 63 68 20 63 30 30 B0  |r z.b. nach c00.|
00000420: 70 04 BB 80 04 20 2E 6F  73 20 3B 6F 62 6A 65 6B  |p.... .os ;objek|
00000430: 74 63 6F 64 65 20 69 6E  20 73 70 65 69 63 68 65  |tcode in speiche|
00000440: F2 90 04 BB 00 05 BB 10  05 20 6A 73 72 20 6F 72  |......... jsr or|
00000450: 64 76 61 72 20 3B 76 61  72 69 61 62 6C 65 20 73  |dvar ;variable s|
00000460: 75 63 68 65 EE 20 05 20  6C 64 79 20 23 24 30 B1  |uche. . ldy #$0.|
00000470: 30 05 20 64 65 79 20 20  3B 79 2D 72 65 67 69 73  |0. dey  ;y-regis|
00000480: 74 65 72 3D B0 40 05 20  6C 64 61 20 28 76 61 72  |ter=.@. lda (var|
00000490: 70 74 6E 29 2C 79 20 20  3B 61 6E 7A 61 68 6C 20  |ptn),y  ;anzahl |
000004A0: 64 65 72 20 62 79 74 65  F3 50 05 20 70 68 61 20  |der byte.P. pha |
000004B0: 3B 72 65 74 74 65 EE 60  05 20 69 6E 63 20 76 61  |;rette.`. inc va|
000004C0: 72 70 74 6E 20 3B 61 75  66 20 76 61 72 69 61 62  |rptn ;auf variab|
000004D0: 6C 65 6E 61 6E 66 61 6E  E7 70 05 20 62 6E 65 20  |lenanfan.p. bne |
000004E0: 77 65 69 74 65 72 20 3B  6E 69 63 68 74 20 30 2C  |weiter ;nicht 0,|
000004F0: 20 64 61 6E 6E 20 77 65  69 74 65 F2 80 05 20 69  | dann weite... i|
00000500: 6E 63 20 76 61 72 70 74  6E 2B B1 90 05 77 65 69  |nc varptn+...wei|
00000510: 74 65 72 20 6C 64 61 20  28 76 61 72 70 74 6E 29  |ter lda (varptn)|
00000520: 2C 79 20 3B 61 6E 66 61  6E 67 20 6C 6F F7 00 06  |,y ;anfang lo...|
00000530: 20 73 74 61 20 6F 70 70  74 72 20 3B 7A 77 69 73  | sta opptr ;zwis|
00000540: 63 68 65 6E 73 70 65 69  63 68 65 72 20 6C 6F F7  |chenspeicher lo.|
00000550: 10 06 20 69 6E F9 20 06  20 6C 64 61 20 28 76 61  |.. in. . lda (va|
00000560: 72 70 74 6E 29 2C 79 20  3B 61 6E 66 61 6E 67 20  |rptn),y ;anfang |
00000570: 68 69 67 E8 30 06 20 73  74 61 20 6F 70 70 74 72  |hig.0. sta opptr|
00000580: 2B 31 20 3B 7A 77 69 73  63 68 65 6E 73 70 2E 20  |+1 ;zwischensp. |
00000590: 68 69 67 E8 40 06 20 70  6C 61 20 3B 61 6E 7A 61  |hig.@. pla ;anza|
000005A0: 68 6C 20 7A 75 72 75 65  63 6B 68 6F 6C 65 EE 50  |hl zurueckhole.P|
000005B0: 06 20 74 61 79 20 3B 69  6E 73 20 79 2D 72 65 67  |. tay ;ins y-reg|
000005C0: 69 73 74 65 F2 60 06 20  64 65 79 20 3B 61 6E 7A  |iste.`. dey ;anz|
000005D0: 61 68 6C 2D B1 70 06 6C  6F 6F 70 20 6C 64 61 20  |ahl-.p.loop lda |
000005E0: 28 6F 70 70 74 72 29 2C  79 20 3B 74 65 78 74 20  |(opptr),y ;text |
000005F0: 6C 61 64 65 EE 80 06 20  69 6E F9 90 06 20 20 20  |lade... in...   |
00000600: 20 20 20 20 20 20 20 20  73 74 61 20 62 75 66 2D  |        sta buf-|
00000610: 31 2C F9 00 07 20 64 65  F9 10 07 20 64 65 F9 20  |1,... de... de. |
00000620: 07 20 62 70 6C 20 6C 6F  6F 70 20 3B 77 65 69 74  |. bpl loop ;weit|
00000630: 65 72 20 62 69 73 20 75  6E 74 65 72 6C 61 75 E6  |er bis unterlau.|
00000640: 30 07 20 6C 64 61 20 74  78 74 70 74 72 20 3B 7A  |0. lda txtptr ;z|
00000650: 65 69 67 65 72 20 72 65  74 74 65 EE 40 07 20 70  |eiger rette.@. p|
00000660: 68 E1 50 07 20 6C 64 61  20 74 78 74 70 74 72 2B  |h.P. lda txtptr+|
00000670: B1 60 07 20 70 68 E1 70  07 20 6C 64 61 20 23 24  |.`. ph.p. lda #$|
00000680: 66 E6 80 07 20 73 74 61  20 74 78 74 70 74 F2 90  |f... sta txtpt..|
00000690: 07 20 69 6E 63 20 74 78  74 70 74 72 20 3B 30 20  |. inc txtptr ;0 |
000006A0: 6E 61 63 68 20 74 78 74  70 74 F2 00 08 20 6C 64  |nach txtpt... ld|
000006B0: 61 20 23 24 30 B2 10 08  20 73 74 61 20 74 78 74  |a #$0... sta txt|
000006C0: 70 74 72 2B 31 20 3B 30  32 30 30 2D 7A 65 69 67  |ptr+1 ;0200-zeig|
000006D0: 65 72 20 74 78 74 70 74  F2 20 08 20 6A 73 72 20  |er txtpt. . jsr |
000006E0: 63 72 75 6E 63 68 20 3B  74 65 78 74 20 69 6E 20  |crunch ;text in |
000006F0: 74 6F 6B 65 6E 20 77 61  6E 64 65 6C EE 30 08 20  |token wandel.0. |
00000700: 69 6E 63 20 74 78 74 70  74 72 20 3B 77 69 72 64  |inc txtptr ;wird|
00000710: 20 77 69 65 64 65 72 20  B0 40 08 20 69 6E 63 20  | wieder .@. inc |
00000720: 74 78 74 70 74 72 2B 31  20 3B 77 69 72 64 20 77  |txtptr+1 ;wird w|
00000730: 69 65 64 65 72 20 B2 50  08 20 6A 73 72 20 66 72  |ieder .P. jsr fr|
00000740: 6D 6E 75 6D 20 3B 61 75  73 77 65 72 74 65 EE 60  |mnum ;auswerte.`|
00000750: 08 20 70 6C 61 20 3B 61  6C 74 65 20 7A 65 69 67  |. pla ;alte zeig|
00000760: 65 72 20 7A 75 72 75 65  63 EB 70 08 20 73 74 61  |er zuruec.p. sta|
00000770: 20 74 78 74 70 74 72 2B  B1 80 08 20 70 6C E1 90  | txtptr+... pl..|
00000780: 08 20 73 74 61 20 74 78  74 70 74 F2 00 09 20 72  |. sta txtpt... r|
00000790: 74 F3 10 09 BB 20 09 BB  30 09 20 2E 65 EE FF F7  |t.... ..0. .e...|
..0.7'..;*******************************
**. ..0.; MODIFIZIERTE DEFFN - FUNKTIO.@
..P.; (C) WERNER HAAK    198.`..P.;*****
****************************.........; D
IE DEFFN FUNKTION KANN NUN AUCH EIN...; 
STRINGVARIABLE ZUGEWIESEN BEKOMME. ..0.;
 DER NEUE SYNTAX HEISST NUN.@..P.; DEF F
N F(X) = USR (AB$.`.;         ^         
  .P.;     BELIEBIG     STRINGVARIABL...
...; SO IST ES MOEGLICH MIT INPUT EIN...
; FUNKTION IN EIN LAUFENDES BASIC...; PR
OGRAMM ZU UEBERNEHMEN UND DIES. .; DANN 
DEF FN ZUZUWEISEN, OHNE DE.0.; UMWEG UEB
ER DIE SIMULIERTE TASTA.@.; TUR ZU GEHEN
, ODER DIE FUNKTIO.P.; 'EINZUPOKEN'.`..P
.;---------------------------------.....
.; BENUTZTE ZEROPAGE-ADRESSE......VARPTN
     .DE $47  ;VARIABLENZEIGE. .OPPTR   
   .DE $4B  ;PROGRAMMZEIGE.0.TXTPTR     
.DE $7A  ;PROGRAMMZEIGE.@.BUF        .DE
 $200 ;BASIC - EINGABEPUFFE.P..`..P.; BE
NUTZTE BASIC - ROUTINE......CRUNCH     .
DE $A579 ;VARIABLENINHALT IN TOKE...FRMN
UM     .DE $AD8A ;AUSWERTEN AUSDRUC...OR
DVAR     .DE $B0E7 ;VARIABLE SUCHE. ..0.
.@.; BEGINN PROGRAM.P..`. .BA $C000 ;HIE
R Z.B. NACH C00.P.... .OS ;OBJEKTCODE IN
 SPEICHE......... JSR ORDVAR ;VARIABLE S
UCHE. . LDY #$0.0. DEY  ;Y-REGISTER=.@. 
LDA (VARPTN),Y  ;ANZAHL DER BYTE.P. PHA 
;RETTE.`. INC VARPTN ;AUF VARIABLENANFAN
.P. BNE WEITER ;NICHT 0, DANN WEITE... I
NC VARPTN+...WEITER LDA (VARPTN),Y ;ANFA
NG LO... STA OPPTR ;ZWISCHENSPEICHER LO.
.. IN. . LDA (VARPTN),Y ;ANFANG HIG.0. S
TA OPPTR+1 ;ZWISCHENSP. HIG.@. PLA ;ANZA
HL ZURUECKHOLE.P. TAY ;INS Y-REGISTE.`. 
DEY ;ANZAHL-.P.LOOP LDA (OPPTR),Y ;TEXT 
LADE... IN...           STA BUF-1,... DE
... DE. . BPL LOOP ;WEITER BIS UNTERLAU.
0. LDA TXTPTR ;ZEIGER RETTE.@. PH.P. LDA
 TXTPTR+.`. PH.P. LDA #$F... STA TXTPT..
. INC TXTPTR ;0 NACH TXTPT... LDA #$0...
 STA TXTPTR+1 ;0200-ZEIGER TXTPT. . JSR 
CRUNCH ;TEXT IN TOKEN WANDEL.0. INC TXTP
TR ;WIRD WIEDER .@. INC TXTPTR+1 ;WIRD W
IEDER .P. JSR FRMNUM ;AUSWERTE.`. PLA ;A
LTE ZEIGER ZURUEC.P. STA TXTPTR+... PL..
. STA TXTPT... RT.... ..0. .E...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL