mirror of
https://github.com/bobbimanners/emailler.git
synced 2024-09-12 02:54:54 +00:00
commence A2 basic client
git-svn-id: http://svn.code.sf.net/p/netboot65/code@330 93682198-c243-4bdb-bd91-e943c89aac3b
This commit is contained in:
parent
ebca797206
commit
610aaef3ee
@ -1,8 +1,8 @@
|
||||
|
||||
.PHONY: ip65 drivers test clean distclean kipperterm2 examples carts basic wiznet
|
||||
.PHONY: ip65 drivers test clean distclean kipperterm2 examples carts basic wiznet a2
|
||||
|
||||
|
||||
all: ip65 drivers test carts examples basic kipperterm2 wiznet
|
||||
all: ip65 drivers test carts examples basic kipperterm2 wiznet a2
|
||||
|
||||
ip65:
|
||||
make -C ip65 all
|
||||
@ -13,7 +13,8 @@ drivers:
|
||||
examples:
|
||||
make -C examples all
|
||||
|
||||
|
||||
a2:
|
||||
make -C a2 all
|
||||
|
||||
test:
|
||||
make -C test TARGET=$(TARGET) all
|
||||
|
54
client/a2/Makefile
Normal file
54
client/a2/Makefile
Normal file
@ -0,0 +1,54 @@
|
||||
CC=cl65
|
||||
AS=ca65
|
||||
LD=ld65
|
||||
CFLAGS=-Oirs -t $(TARGET)
|
||||
AFLAGS=
|
||||
|
||||
|
||||
|
||||
IP65LIB=../ip65/ip65.lib
|
||||
IP65TCPLIB=../ip65/ip65_tcp.lib
|
||||
A2UTHERLIB=../drivers/a2uther.lib
|
||||
|
||||
INCFILES=\
|
||||
../inc/common.i\
|
||||
../inc/commonprint.i\
|
||||
../inc/net.i\
|
||||
|
||||
all: \
|
||||
ip65 \
|
||||
drivers \
|
||||
amper.dsk \
|
||||
|
||||
|
||||
ip65:
|
||||
make -C ../ip65 all
|
||||
|
||||
drivers:
|
||||
make -C ../drivers all
|
||||
|
||||
%.o: %.s
|
||||
$(AS) $(AFLAGS) $<
|
||||
|
||||
#tokenize_asoft comes from http://www.deater.net/weave/vmwprod/apple/dos33fs.html
|
||||
%.bas: %.applesoft
|
||||
tokenize_asoft < $*.applesoft > $*.bas
|
||||
|
||||
%.pg2: %.o $(IP65LIB) $(A2UTHERLIB) $(INCFILES) ../cfg/a2bin.cfg
|
||||
$(LD) -vm --mapfile $*.map -C ../cfg/a2bin.cfg -o $*.pg2 $(AFLAGS) $< $(IP65LIB) $(A2UTHERLIB)
|
||||
|
||||
amper.dsk: autoexec.pg2 autoexec.bas amper.pg2
|
||||
ripxplore.rb amper.dsk --init AppleDos
|
||||
ripxplore.rb amper.dsk -a autoexec.pg2 -t AppleBinary
|
||||
ripxplore.rb amper.dsk -a amper.pg2 -t AppleBinary
|
||||
cp autoexec.bas hello
|
||||
ripxplore.rb amper.dsk -a hello -t Applesoft
|
||||
rm hello
|
||||
|
||||
clean:
|
||||
rm -f *.o *.pg2 *.map *.lst
|
||||
rm -f ip65test.dsk
|
||||
rm -f amper.dsk
|
||||
|
||||
distclean: clean
|
||||
rm -f *~
|
48
client/a2/amper.s
Normal file
48
client/a2/amper.s
Normal file
@ -0,0 +1,48 @@
|
||||
.include "../inc/common.i"
|
||||
.include "../inc/commonprint.i"
|
||||
.include "../inc/a2const.i"
|
||||
.import exit_to_basic
|
||||
.import cfg_get_configuration_ptr
|
||||
|
||||
|
||||
|
||||
.import copymem
|
||||
.importzp copy_src
|
||||
.importzp copy_dest
|
||||
|
||||
.import __CODE_LOAD__
|
||||
.import __CODE_SIZE__
|
||||
.import __RODATA_SIZE__
|
||||
.import __DATA_SIZE__
|
||||
.import __IP65_DEFAULTS_SIZE__
|
||||
.import __BSS_RUN__
|
||||
.import __BSS_SIZE__
|
||||
|
||||
END_OF_BSS = __BSS_RUN__+__BSS_SIZE__
|
||||
|
||||
.segment "EXEHDR" ;this is what gets put an the start of the file on the Apple 2
|
||||
.addr __CODE_LOAD__-$03 ; Start address
|
||||
.word __CODE_SIZE__+__RODATA_SIZE__+__DATA_SIZE__+__IP65_DEFAULTS_SIZE__+4 ; file size
|
||||
jmp init
|
||||
.code
|
||||
|
||||
init:
|
||||
|
||||
|
||||
ldax #END_OF_BSS
|
||||
stax TXTTAB
|
||||
print_hex_double #END_OF_BSS
|
||||
ldax #start_message
|
||||
jsr print
|
||||
ldax #amper_handler
|
||||
stax AMPERSAND_VECTOR+1
|
||||
jsr SCRTCH
|
||||
jmp exit_to_basic
|
||||
|
||||
|
||||
start_message: .byte "AMPER ON ALES",13,0
|
||||
|
||||
amper_handler:
|
||||
lda #'*'
|
||||
jmp print_a
|
||||
|
1
client/a2/autoexec.applesoft
Normal file
1
client/a2/autoexec.applesoft
Normal file
@ -0,0 +1 @@
|
||||
10 PRINT CHR$(4);"BRUN AMPER.PG2"
|
BIN
client/a2/autoexec.bas
Normal file
BIN
client/a2/autoexec.bas
Normal file
Binary file not shown.
31
client/a2/autoexec.s
Normal file
31
client/a2/autoexec.s
Normal file
@ -0,0 +1,31 @@
|
||||
.include "../inc/common.i"
|
||||
.include "../inc/commonprint.i"
|
||||
.include "../inc/net.i"
|
||||
|
||||
.import cfg_get_configuration_ptr
|
||||
.import copymem
|
||||
.importzp copy_src
|
||||
.importzp copy_dest
|
||||
.import exit_to_basic
|
||||
|
||||
|
||||
.import __CODE_LOAD__
|
||||
.import __CODE_SIZE__
|
||||
.import __RODATA_SIZE__
|
||||
.import __DATA_SIZE__
|
||||
.import __IP65_DEFAULTS_SIZE__
|
||||
.segment "EXEHDR" ;this is what gets put an the start of the file on the Apple 2
|
||||
.addr __CODE_LOAD__-$03 ; Start address
|
||||
.word __CODE_SIZE__+__RODATA_SIZE__+__DATA_SIZE__+__IP65_DEFAULTS_SIZE__+4 ; file size
|
||||
jmp init
|
||||
|
||||
.code
|
||||
|
||||
init:
|
||||
cld
|
||||
jsr print_cr
|
||||
init_ip_via_dhcp
|
||||
jsr print_ip_config
|
||||
jsr print_cr
|
||||
jmp exit_to_basic
|
||||
|
BIN
client/a2/ip65test.dsk.original
Normal file
BIN
client/a2/ip65test.dsk.original
Normal file
Binary file not shown.
BIN
client/a2/make
Normal file
BIN
client/a2/make
Normal file
Binary file not shown.
Binary file not shown.
@ -3,7 +3,8 @@ MEMORY {
|
||||
ZP: start = $00, size = $08, type = rw, define = yes;
|
||||
IP65ZP: start = $0f, size = $10, type = rw, define = yes;
|
||||
HEADER: start = $0000, size = $10, file = %O;
|
||||
RAM: start = $800, size = $8000, file = %O;
|
||||
RAM: start = $800, size = $8000, file = %O, define=yes;
|
||||
PAGE3: start = $2C0, size = 272;
|
||||
}
|
||||
SEGMENTS {
|
||||
EXEHDR: load = HEADER, type = ro;
|
||||
@ -12,6 +13,7 @@ SEGMENTS {
|
||||
RODATA: load = RAM, run=RAM, type = ro , define = yes;
|
||||
IP65_DEFAULTS: load = RAM, run=RAM, type = ro , define = yes;
|
||||
DATA: load = RAM, run=RAM, type = rw , define = yes;
|
||||
PAGE3: load = RAM,run=PAGE3, type = rw, define = yes, optional=yes;
|
||||
BSS: load=RAM, type = bss, define = yes;
|
||||
TCP_VARS: load = RAM, type = bss, optional=yes;
|
||||
APP_SCRATCH: load = RAM, type = bss , optional=yes;
|
||||
|
548
client/inc/a2const.i
Normal file
548
client/inc/a2const.i
Normal file
@ -0,0 +1,548 @@
|
||||
GOWARM = $00
|
||||
GOSTROUT = $03
|
||||
USR = $0A
|
||||
CHARAC = $0D
|
||||
ENDCHR = $0E
|
||||
TKN_CNTR = $0F
|
||||
EOL_PNTR = $0F
|
||||
NUMDIM = $0F
|
||||
DIMFLG = $10
|
||||
VALTYP = $11
|
||||
DATAFLG = $13
|
||||
GARFLG = $13
|
||||
SUBFLG = $14
|
||||
INPUTFLG = $15
|
||||
CPRMASK = $16
|
||||
SIGNFLG = $16
|
||||
HGR_SHAPE = $1A
|
||||
HGR_BITS = $1C
|
||||
HGR_COUNT = $1D
|
||||
MON_CH = $24
|
||||
MON_GBASL = $26
|
||||
MON_GBASH = $27
|
||||
MON_H2 = $2C
|
||||
MON_V2 = $2D
|
||||
MON_HMASK = $30
|
||||
MON_INVFLG = $32
|
||||
MON_PROMPT = $33
|
||||
MON_A1L = $3C
|
||||
MON_A1H = $3D
|
||||
MON_A2L = $3E
|
||||
MON_A2H = $3F
|
||||
LINNUM = $50
|
||||
TEMPPT = $52
|
||||
LASTPT = $53
|
||||
TEMPST = $55
|
||||
INDEX = $5E
|
||||
DEST = $60
|
||||
RESULT = $62
|
||||
TXTTAB = $67
|
||||
VARTAB = $69
|
||||
ARYTAB = $6B
|
||||
STREND = $6D
|
||||
FRETOP = $6F
|
||||
FRESPC = $71
|
||||
MEMSIZ = $73
|
||||
CURLIN = $75
|
||||
OLDLIN = $77
|
||||
OLDTEXT = $79
|
||||
DATLIN = $7B
|
||||
DATPTR = $7D
|
||||
INPTR = $7F
|
||||
VARNAM = $81
|
||||
VARPNT = $83
|
||||
FORPNT = $85
|
||||
TXPSV = $87
|
||||
LASTOP = $87
|
||||
CPRTYP = $89
|
||||
TEMP3 = $8A
|
||||
FNCNAM = $8A
|
||||
DSCPTR = $8C
|
||||
DSCLEN = $8F
|
||||
JMPADRS = $90
|
||||
LENGTH = $91
|
||||
ARG_EXTENSION = $92
|
||||
TEMP1 = $93
|
||||
ARYPNT = $94
|
||||
HIGHDS = $94
|
||||
HIGHTR = $96
|
||||
TEMP2 = $98
|
||||
TMPEXP = $99
|
||||
INDX = $99
|
||||
EXPON = $9A
|
||||
DPFLG = $9B
|
||||
LOWTR = $9B
|
||||
EXPSGN = $9C
|
||||
FAC = $9D
|
||||
DSCTMP = $9D
|
||||
VPNT = $A0
|
||||
FAC_SIGN = $A2
|
||||
SERLEN = $A3
|
||||
SHIFT_SIGN_EXT = $A4
|
||||
ARG = $A5
|
||||
ARG_SIGN = $AA
|
||||
SGNCPR = $AB
|
||||
FAC_EXTENSION = $AC
|
||||
SERPNT = $AD
|
||||
STRNG1 = $AB
|
||||
STRNG2 = $AD
|
||||
PRGEND = $AF
|
||||
CHRGET = $B1
|
||||
CHRGOT = $B7
|
||||
TXTPTR = $B8
|
||||
RNDSEED = $C9
|
||||
HGR_DX = $D0
|
||||
HGR_DY = $D2
|
||||
HGR_QUADRANT = $D3
|
||||
HGR_E = $D4
|
||||
LOCK = $D6
|
||||
ERRFLG = $D8
|
||||
ERRLIN = $DA
|
||||
ERRPOS = $DC
|
||||
ERRNUM = $DE
|
||||
ERRSTK = $DF
|
||||
HGR_X = $E0
|
||||
HGR_Y = $E2
|
||||
HGR_COLOR = $E4
|
||||
HGR_HORIZ = $E5
|
||||
HGR_PAGE = $E6
|
||||
HGR_SCALE = $E7
|
||||
HGR_SHAPE_PNTR = $E8
|
||||
HGR_COLLISIONS = $EA
|
||||
FIRST = $F0
|
||||
SPEEDZ = $F1
|
||||
TRCFLG = $F2
|
||||
FLASH_BIT = $F3
|
||||
TXTPSV = $F4
|
||||
CURLSV = $F6
|
||||
REMSTK = $F8
|
||||
HGR_ROTATION = $F9
|
||||
M_NEG = $D0C7
|
||||
M_EQU = $D0CA
|
||||
M_REL = $D0CD
|
||||
QT_ERROR = $D353
|
||||
QT_IN = $D35B
|
||||
QT_BREAK = $D35D
|
||||
BLTU = $D393
|
||||
BLTU2 = $D39A
|
||||
CHKMEM = $D3D6
|
||||
REASON = $D3E3
|
||||
MEMERR = $D410
|
||||
ERROR = $D412
|
||||
INLIN = $D52C
|
||||
INLIN2 = $D52E
|
||||
INCHR = $D553
|
||||
PARSE = $D56C
|
||||
FNDLIN = $D61A
|
||||
FL1 = $D61E
|
||||
RTS_1 = $D648
|
||||
NEW = $D649
|
||||
SCRTCH = $D64B
|
||||
CLEAR = $D66A
|
||||
CLEARC = $D66C
|
||||
STKINI = $D683
|
||||
RTS_2 = $D696
|
||||
STXTPT = $D697
|
||||
LIST = $D6A5
|
||||
LIST_0 = $D6DA
|
||||
LIST_1 = $D6FE
|
||||
LIST_2 = $D702
|
||||
LIST_3 = $D724
|
||||
GETCHR = $D72C
|
||||
LIST_4 = $D734
|
||||
FOR = $D766
|
||||
STEP = $D7AF
|
||||
NEWSTT = $D7D2
|
||||
TRACE_ = $D805
|
||||
GOEND = $D826
|
||||
COLON_ = $D842
|
||||
SYNERR_1 = $D846
|
||||
SETDA = $D853
|
||||
RTS_3 = $D857
|
||||
ISCNTC = $D858
|
||||
STOP = $D86E
|
||||
END = $D870
|
||||
END2 = $D871
|
||||
END4 = $D88A
|
||||
CONT = $D896
|
||||
RTS_4 = $D8AF
|
||||
SAVE = $D8B0
|
||||
LOAD = $D8C9
|
||||
VARTIO = $D8F0
|
||||
PROGIO = $D901
|
||||
RUN = $D912
|
||||
GOSUB = $D921
|
||||
GOTO = $D93E
|
||||
RTS_5 = $D96A
|
||||
POP = $D96B
|
||||
UNDERR = $D97C
|
||||
SYNERR_2 = $D981
|
||||
RETURN = $D984
|
||||
DATA = $D995
|
||||
ADDON = $D998
|
||||
RTS_6 = $D9A2
|
||||
DATAN = $D9A3
|
||||
REMN = $D9A6
|
||||
PULL3 = $D9C5
|
||||
IF = $D9C9
|
||||
REM = $D9DC
|
||||
ONGOTO = $D9EC
|
||||
ON_1 = $D9F4
|
||||
ON_2 = $D9F8
|
||||
RTS_7 = $DA0B
|
||||
LINGET = $DA0C
|
||||
LET = $DA46
|
||||
LET2 = $DA63
|
||||
PUTSTR = $DA7B
|
||||
PRINT = $DAD5
|
||||
PRINT2 = $DAD7
|
||||
CRDO = $DAFB
|
||||
NEGATE = $DB00
|
||||
RTS_8 = $DB02
|
||||
NXSPC = $DB2C
|
||||
DOSPC = $DB35
|
||||
STROUT = $DB3A
|
||||
STRPRT = $DB3D
|
||||
OUTSP = $DB57
|
||||
OUTQUES = $DB5A
|
||||
OUTDO = $DB5C
|
||||
ERLIN = $DB7F
|
||||
INPERR = $DB86
|
||||
GET = $DBA0
|
||||
INPUT = $DBB2
|
||||
NXIN = $DBDC
|
||||
READ = $DBE2
|
||||
INPFIN = $DC99
|
||||
NEXT = $DCF9
|
||||
NEXT_1 = $DCFF
|
||||
NEXT_2 = $DD02
|
||||
GERR = $DD0D
|
||||
NEXT_3 = $DD0F
|
||||
FRMNUM = $DD67
|
||||
CHKNUM = $DD6A
|
||||
CHKSTR = $DD6C
|
||||
CHKVAL = $DD6D
|
||||
JERROR = $DD78
|
||||
FRMEVL = $DD7B
|
||||
NXOP = $DDD6
|
||||
SAVOP = $DDD7
|
||||
PREFNC = $DDF6
|
||||
SNTXERR = $DE0D
|
||||
NOTMATH = $DE35
|
||||
GOEX = $DE38
|
||||
EXIT = $DE5D
|
||||
STRTXT = $DE81
|
||||
NOT_ = $DE90
|
||||
EQUOP = $DE98
|
||||
FN_ = $DEA4
|
||||
SGN_ = $DEAB
|
||||
PARCHK = $DEB2
|
||||
CHKCLS = $DEB8
|
||||
CHKOPN = $DEBB
|
||||
CHKCOM = $DEBE
|
||||
SYNCHR = $DEC0
|
||||
SYNERR = $DEC9
|
||||
MIN = $DECE
|
||||
EQUL = $DED0
|
||||
SCREEN = $DEF9
|
||||
UNARY = $DF0C
|
||||
OR_KWD = $DF4F
|
||||
AND_KWD = $DF55
|
||||
FALSE = $DF5D
|
||||
TRUE = $DF60
|
||||
RELOPS = $DF65
|
||||
STRCMP = $DF7D
|
||||
NUMCMP = $DFB0
|
||||
PDL = $DFCD
|
||||
NXDIM = $DFD6
|
||||
DIM = $DFD9
|
||||
PTRGET = $DFE3
|
||||
BADNAM = $DFF4
|
||||
NAMOK = $DFF7
|
||||
ISLETC = $E07D
|
||||
C_ZERO = $E09A
|
||||
GETARY = $E0ED
|
||||
NEG32768 = $E101
|
||||
MAKINT = $E102
|
||||
MKINT = $E108
|
||||
AYINT = $E10C
|
||||
MI1 = $E119
|
||||
MI2 = $E11B
|
||||
ARRAY = $E11E
|
||||
SUBERR = $E196
|
||||
IQERR = $E199
|
||||
JER = $E19B
|
||||
FAE_1 = $E253
|
||||
GSE = $E269
|
||||
GME = $E26C
|
||||
FAE_2 = $E26F
|
||||
FAE_3 = $E270
|
||||
RTS_9 = $E2AC
|
||||
MULTIPLY_SUBSCRIPT = $E2AD
|
||||
FRE = $E2DE
|
||||
GIVAYF = $E2F2
|
||||
POS = $E2FF
|
||||
SNGFLT = $E301
|
||||
ERRDIR = $E306
|
||||
UNDFNC = $E30E
|
||||
DEF = $E313
|
||||
FNC_ = $E341
|
||||
FUNCT = $E354
|
||||
STR = $E3C5
|
||||
STRINI = $E3D5
|
||||
STRSPA = $E3DD
|
||||
STRLIT = $E3E7
|
||||
STRLT2 = $E3ED
|
||||
PUTNEW = $E42A
|
||||
JERR = $E432
|
||||
PUTEMP = $E435
|
||||
GETSPA = $E452
|
||||
GARBAG = $E484
|
||||
CAT = $E597
|
||||
MOVINS = $E5D4
|
||||
MOVSTR = $E5E2
|
||||
FRESTR = $E5FD
|
||||
FREFAC = $E600
|
||||
FRETMP = $E604
|
||||
FRETMS = $E635
|
||||
CHRSTR = $E646
|
||||
MIDSTR = $E691
|
||||
LEN = $E6D6
|
||||
GETSTR = $E6DC
|
||||
ASC = $E6E5
|
||||
GOIQ = $E6F2
|
||||
GTBYTC = $E6F5
|
||||
GETBYT = $E6F8
|
||||
CONINT = $E6FB
|
||||
VAL = $E707
|
||||
POINT = $E73D
|
||||
GTNUM = $E746
|
||||
GETADR = $E752
|
||||
PEEK = $E764
|
||||
POKE = $E77B
|
||||
WAIT = $E784
|
||||
RTS_10 = $E79F
|
||||
FADDH = $E7A0
|
||||
FSUB = $E7A7
|
||||
FSUBT = $E7AA
|
||||
FADD_1 = $E7B9
|
||||
FADD = $E7BE
|
||||
FADDT = $E7C1
|
||||
FADD_2 = $E7CE
|
||||
FADD_3 = $E7FA
|
||||
FADD_4 = $E855
|
||||
RTS_11 = $E89D
|
||||
RTS_12 = $E8D4
|
||||
CON_ONE = $E916
|
||||
POLY_LOG = $E918
|
||||
CON_SQR_HALF = $E930
|
||||
CON_SQR_TWO = $E935
|
||||
CON_NEG_HALF = $E93A
|
||||
CON_LOG_TWO = $E93F
|
||||
LOG = $E941
|
||||
GIQ = $E948
|
||||
LOG_2 = $E94B
|
||||
FMULT = $E97F
|
||||
FMULTT = $E982
|
||||
RTS_13 = $E9E2
|
||||
ZERO = $EA31
|
||||
JOV = $EA36
|
||||
MUL10 = $EA39
|
||||
CON_TEN = $EA53
|
||||
DIV10 = $EA55
|
||||
DIV = $EA5E
|
||||
FDIV = $EA66
|
||||
FDIVT = $EA69
|
||||
SETFOR = $EB27
|
||||
MFA = $EB55
|
||||
MAF = $EB66
|
||||
RTS_14 = $EB71
|
||||
SIGN = $EB82
|
||||
SIGN1 = $EB86
|
||||
SIGN2 = $EB88
|
||||
RTS_15 = $EB8F
|
||||
SGN = $EB90
|
||||
FLOAT = $EB93
|
||||
ABS = $EBAF
|
||||
FCOMP = $EBB2
|
||||
FCOMP2 = $EBB4
|
||||
QINT = $EBF2
|
||||
RTS_16 = $EC11
|
||||
QINT_2 = $EC12
|
||||
INT = $EC23
|
||||
QINT_3 = $EC40
|
||||
RTS_17 = $EC49
|
||||
FIN = $EC4A
|
||||
FIN_1 = $EC61
|
||||
FIN_2 = $EC64
|
||||
FIN_3 = $EC66
|
||||
FIN_4 = $EC87
|
||||
FIN_5 = $EC8A
|
||||
FIN_6 = $EC8C
|
||||
FIN_10 = $EC98
|
||||
FIN_7 = $EC9E
|
||||
FIN_8 = $ECA0
|
||||
FIN_9 = $ECC1
|
||||
ADDACC = $ECD5
|
||||
GETEXP = $ECE8
|
||||
CON_99999999_9 = $ED0D
|
||||
CON_999999999 = $ED12
|
||||
CON_BILLION = $ED17
|
||||
INPRT = $ED19
|
||||
LINPRT = $ED24
|
||||
FOUT = $ED34
|
||||
FOUT_1 = $ED36
|
||||
FOUT_2 = $ED8C
|
||||
FOUT_3 = $EE17
|
||||
FOUT_4 = $EE57
|
||||
FOUT_5 = $EE5A
|
||||
FOUT_6 = $EE5F
|
||||
CON_HALF = $EE67
|
||||
DECTBL = $EE6C
|
||||
SQR = $EE8D
|
||||
FPWRT = $EE97
|
||||
NEGOP = $EED0
|
||||
RTS_18 = $EEDA
|
||||
CON_LOG_E = $EEDE
|
||||
POLY_EXP = $EEE0
|
||||
EXP = $EF09
|
||||
RTS_19 = $EFA5
|
||||
CON_RND_1 = $EFA9
|
||||
CON_RND_2 = $EFAD
|
||||
RND = $EFAE
|
||||
GO_MOVMF = $EFE7
|
||||
COS = $EFEA
|
||||
SIN = $EFF1
|
||||
SIN_1 = $F023
|
||||
SIN_2 = $F026
|
||||
TAN = $F03A
|
||||
TAN_1 = $F062
|
||||
CON_PI_HALF = $F069
|
||||
CON_PI_DOUB = $F06E
|
||||
QUARTER = $F073
|
||||
POLY_SIN = $F075
|
||||
ATN = $F09E
|
||||
RTS_20 = $F0CD
|
||||
POLY_ATN = $F0CE
|
||||
CALL = $F1D5
|
||||
GOERR = $F206
|
||||
PLOT = $F225
|
||||
HLIN = $F232
|
||||
VLIN = $F241
|
||||
COLOR = $F24F
|
||||
VTAB = $F256
|
||||
SPEED = $F262
|
||||
TRACE = $F26D
|
||||
NORMAL = $F273
|
||||
N_I_ = $F279
|
||||
N_I_F_ = $F27B
|
||||
FLASH = $F280
|
||||
HIMEM = $F286
|
||||
JMM = $F296
|
||||
SETHI = $F299
|
||||
LOMEM = $F2A6
|
||||
ONERR = $F2CB
|
||||
RESUME = $F318
|
||||
JSYN = $F32E
|
||||
DEL = $F331
|
||||
GR = $F390
|
||||
TEXT = $F399
|
||||
STORE = $F39F
|
||||
RECALL = $F3BC
|
||||
HGR2 = $F3D8
|
||||
HGR = $F3E2
|
||||
SETHPG = $F3EA
|
||||
HCLR = $F3F2
|
||||
BKGND = $F3F6
|
||||
HPOSN = $F411
|
||||
HPLOT0 = $F457
|
||||
LR_1 = $F46E
|
||||
LR_2 = $F471
|
||||
LR_3 = $F476
|
||||
LR_4 = $F478
|
||||
LRUDX1 = $F49C
|
||||
LRUDX2 = $F49D
|
||||
LRUD1 = $F4B3
|
||||
LRUD2 = $F4B4
|
||||
LRUD3 = $F4C4
|
||||
LRUD4 = $F4C8
|
||||
UD_1 = $F501
|
||||
HLINRL = $F530
|
||||
HGLIN = $F53A
|
||||
MOVEX = $F57C
|
||||
MOVEX2 = $F581
|
||||
MSKTBL = $F5B8
|
||||
CON_1C = $F5B9
|
||||
HFIND = $F5CB
|
||||
RTS_22 = $F600
|
||||
DRAW0 = $F601
|
||||
DRAW1 = $F605
|
||||
XDRAW0 = $F65D
|
||||
XDRAW1 = $F661
|
||||
HFNS = $F6B9
|
||||
GGERR = $F6E6
|
||||
HCOLOR = $F6E9
|
||||
RTS_23 = $F6F5
|
||||
COLORTBL = $F6FC
|
||||
HPLOT = $F6FE
|
||||
ROT = $F721
|
||||
SCALE = $F727
|
||||
DRWPNT = $F72D
|
||||
DRAW = $F769
|
||||
XDRAW = $F76F
|
||||
SHLOAD = $F775
|
||||
HTAB = $F7E7
|
||||
|
||||
STACK = $100
|
||||
INPUT_BUFFER = $200
|
||||
AMPERSAND_VECTOR = $3F5
|
||||
KEYBOARD = $C000
|
||||
SW_TXTCLR = $C050
|
||||
SW_MIXCLR = $C052
|
||||
SW_MIXSET = $C053
|
||||
SW_LOWSCR = $C054
|
||||
SW_HISCR = $C055
|
||||
SW_LORES = $C056
|
||||
SW_HIRES = $C057
|
||||
MON_PLOT = $F800
|
||||
MON_HLINE = $F819
|
||||
MON_VLINE = $F828
|
||||
MON_SETCOL = $F864
|
||||
MON_SCRN = $F871
|
||||
MON_PREAD = $FB1E
|
||||
MON_SETTXT = $FB39
|
||||
MON_SETGR = $FB40
|
||||
MON_TABV = $FB5B
|
||||
MON_HOME = $FC58
|
||||
MON_WAIT = $FCA8
|
||||
MON_RD2BIT = $FCFA
|
||||
MON_RDKEY = $FD0C
|
||||
MON_GETLN = $FD6A
|
||||
MON_COUT = $FDED
|
||||
MON_INPORT = $FE8B
|
||||
MON_OUTPORT = $FE95
|
||||
MON_WRITE = $FECD
|
||||
MON_READ = $FEFD
|
||||
MON_READ2 = $FF02
|
||||
TOKEN_FOR = $81
|
||||
TOKEN_DATA = $83
|
||||
TOKEN_POP = $A1
|
||||
TOKEN_GOTO = $AB
|
||||
TOKEN_GOSUB = $B0
|
||||
TOKEN_REM = $B2
|
||||
TOKEN_PRINT = $BA
|
||||
TOKEN_TAB = $C0
|
||||
TOKEN_TO = $C1
|
||||
TOKEN_FN = $C2
|
||||
TOKEN_SPC = $C3
|
||||
TOKEN_THEN = $C4
|
||||
TOKEN_AT = $C5
|
||||
TOKEN_NOT = $C6
|
||||
TOKEN_STEP = $C7
|
||||
TOKEN_PLUS = $C8
|
||||
TOKEN_MINUS = $C9
|
||||
TOKEN_GREATER = $CF
|
||||
TOKEN_EQUAL = $D0
|
||||
TOKEN_SGN = $D2
|
||||
TOKEN_SCRN = $D7
|
||||
TOKEN_LEFTSTR = $E8
|
@ -43,6 +43,14 @@ temp_bin: .res 2
|
||||
temp_bcd: .res 3
|
||||
temp_ptr: .res 2
|
||||
.code
|
||||
|
||||
.macro print_hex_double arg
|
||||
lda #>(.right (.tcount (arg)-1, arg))
|
||||
jsr print_hex
|
||||
lda #<(.right (.tcount (arg)-1, arg))
|
||||
jsr print_hex
|
||||
.endmacro
|
||||
|
||||
.macro print_driver_init
|
||||
ldax #eth_driver_name
|
||||
jsr print_ascii_as_native
|
||||
|
@ -1 +1 @@
|
||||
.byte "1.0.41"
|
||||
.byte "1.0.45"
|
||||
|
@ -1 +1 @@
|
||||
.byte "2012-11-02"
|
||||
.byte "2013-04-08"
|
||||
|
@ -48,7 +48,7 @@ all: \
|
||||
# test_lancegs.pg2 \
|
||||
# test_xmodem.d64 \
|
||||
# httpd_test.d64 \
|
||||
# ip65test.dsk \
|
||||
ip65test.dsk \
|
||||
# test_disk_io.d64 \
|
||||
|
||||
|
||||
@ -111,10 +111,10 @@ httpd_test.d64: test_httpd.prg index.html file1.html
|
||||
ripxplore.rb httpd_test.d64 -a file1.html -t C64Seq
|
||||
|
||||
|
||||
ip65test.dsk: testdns.pg2 testdottedquad.pg2 testtftp.pg2 test_lancegs.pg2
|
||||
ripxplore.rb --init AppleDos ip65test.dsk -a test_lancegs.pg2 -t AppleBinary
|
||||
# ripxplore.rb --init BeautifulBoot ip65testb.dsk -a test_lancegs.pg2 -t AppleBinary
|
||||
# ripxplore.rb ip65test.dsk -a testtftp.pg2 -t AppleBinary
|
||||
ip65test.dsk: testdns.pg2 testdottedquad.pg2 testtftp.pg2 #test_lancegs.pg2
|
||||
|
||||
# ripxplore.rb --init AppleDos ip65test.dsk -a test_lancegs.pg2 -t AppleBinary
|
||||
ripxplore.rb --init BeautifulBoot ip65testb.dsk -a testtftp.pg2 -t AppleBinary
|
||||
# ripxplore.rb ip65test.dsk -a testdottedquad.pg2 -t AppleBinary
|
||||
# ripxplore.rb ip65test.dsk -a testdns.pg2 -t AppleBinary
|
||||
|
||||
|
@ -8,12 +8,11 @@ INCFILES=\
|
||||
../inc/commonprint.i\
|
||||
../inc/net.i\
|
||||
../inc/menu.i\
|
||||
../inc/nb65_constants.i\
|
||||
../nb65/nb65_version.i\
|
||||
../inc/kipper_constants.i
|
||||
|
||||
IP65LIB=../ip65/ip65.lib
|
||||
|
||||
APPLE2PROGLIB=../drivers/apple2prog.lib
|
||||
APPLE2PROGLIB=../drivers/a2uther.lib
|
||||
|
||||
%.o: %.s $(INCFILES) $(APPLE2PROGLIB)
|
||||
$(AS) $(AFLAGS) $<
|
||||
|
@ -317,7 +317,7 @@ tftp_download_ok_msg:
|
||||
|
||||
startup_msg: .byte "UTHERNET NETWORK BOOT CLIENT V"
|
||||
|
||||
.include "..\nb65\nb65_version.i"
|
||||
.include "../inc/version.i"
|
||||
.byte 0
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user