Skip to content
Permalink
Browse files

split KERNAL into segments

  • Loading branch information...
mist64 committed Apr 14, 2019
1 parent 4bc08d2 commit acab5973a484bde5657205d4909e2854ed34294f
Showing with 41 additions and 5 deletions.
  1. +1 −0 kernal/channelio.s
  2. +1 −0 kernal/editor.1.s
  3. +1 −0 kernal/errorhandler.s
  4. +1 −0 kernal/init.s
  5. +1 −0 kernal/irqfile.s
  6. +0 −1 kernal/kernal.s
  7. +1 −0 kernal/messages.s
  8. +4 −0 kernal/patches.s
  9. +1 −0 kernal/rs232nmi.s
  10. +1 −0 kernal/rs232trans.s
  11. +1 −0 kernal/serial4.0.s
  12. +1 −0 kernal/tapefile.s
  13. +1 −0 kernal/time.s
  14. +26 −4 rom.cfg
@@ -1,3 +1,4 @@
.segment "CHANNEL"
;***************************************
;* getin -- get character from channel *
;* channel is determined by dfltn.*
@@ -1,3 +1,4 @@
.segment "EDITOR"
maxchr=80
nwrap=2 ;max number of physical lines per logical line
;
@@ -1,3 +1,4 @@
.segment "ERROR"
;***************************************
;* stop -- check stop key flag and *
;* return z flag set if flag true. *
@@ -1,3 +1,4 @@
.segment "INIT"
; start - system reset
; will goto rom at $8000...
; if locs $8004-$8008
@@ -1,3 +1,4 @@
.segment "IRQFILE"
; simirq - simulate an irq (for cassette read)
; enter by a jsr simirq
;
@@ -1,7 +1,6 @@
.feature labels_without_colons, pc_assignment

.include "declare.s"
.segment "KERNAL" ;start of vic-40 kernal
.include "editor.1.s"
.include "editor.2.s"
.include "editor.3.s"
@@ -1,3 +1,4 @@
.segment "MESSAGES"
ms1 .byt $d,"I/O ERROR ",$a3
ms5 .byt $d,"SEARCHING",$a0
ms6 .byt "FOR",$a0
@@ -1,4 +1,8 @@
.segment "KPATCH"

; unused patch area
.res 28, $aa

; prtyp - rs232 parity patch...added 901227-03
;
prtyp sta rinone ;good receiver start...disable flag
@@ -1,3 +1,4 @@
.segment "RS232NMI"
nmi sei ;no irq's allowed...
jmp (nminv) ;...could mess up cassettes
nnmi pha
@@ -1,3 +1,4 @@
.segment "RS232"
; rstrab - entry for nmi continue routine
; rstbgn - entry for start transmitter
;
@@ -1,3 +1,4 @@
.segment "SERIAL"
;command serial bus device to talk
;
talk ora #$40 ;make a talk adr
@@ -1,3 +1,4 @@
.segment "TAPE"
;fah -- find any header
;
;reads tape device until one of following
@@ -1,3 +1,4 @@
.segment "TIME"
;***********************************
;* *
;* time *
30 rom.cfg
@@ -14,9 +14,21 @@ MEMORY {
LOBASIC: start = $A000, size = $2000, fill=yes, fillval=$AA, file="basic.bin";

# ROM E000-FFFF
HIBASIC: start = $E000, size = $04D3, fill=yes, fillval=$AA, file="kernal.bin";
KPATCH: start = $E4D3, size = $002D, fill=yes, fillval=$AA, file="kernal.bin";
KERNAL: start = $E500, size = $1A80, fill=yes, fillval=$AA, file="kernal.bin";
HIBASIC: start = $E000, size = $04B7, fill=yes, fillval=$AA, file="kernal.bin";
KPATCH: start = $E4B7, size = $0049, fill=yes, fillval=$AA, file="kernal.bin";

EDITOR: start = $E500, size = $0809, fill=yes, fillval=$AA, file="kernal.bin";
SERIAL: start = $ED09, size = $01B2, fill=yes, fillval=$AA, file="kernal.bin";
RS232: start = $EEBB, size = $0202, fill=yes, fillval=$AA, file="kernal.bin";
MESSAGES:start = $F0BD, size = $0081, fill=yes, fillval=$AA, file="kernal.bin";
CHANNEL: start = $F13E, size = $055D, fill=yes, fillval=$AA, file="kernal.bin";
TIME: start = $F69B, size = $0052, fill=yes, fillval=$AA, file="kernal.bin";
ERROR: start = $F6ED, size = $003F, fill=yes, fillval=$AA, file="kernal.bin";
TAPE: start = $F72C, size = $05B6, fill=yes, fillval=$AA, file="kernal.bin";
INIT: start = $FCE2, size = $0161, fill=yes, fillval=$AA, file="kernal.bin";
RS232NMI:start = $FE43, size = $0100, fill=yes, fillval=$AA, file="kernal.bin";
IRQFILE: start = $FF43, size = $003D, fill=yes, fillval=$AA, file="kernal.bin";

JMPTBL: start = $FF80, size = $007A, fill=yes, fillval=$AA, file="kernal.bin";
VECTORS: start = $FFFA, size = $0006, fill=yes, fillval=$AA, file="kernal.bin";
}
@@ -35,7 +47,17 @@ SEGMENTS {

HIBASIC: load = HIBASIC, type = ro;
KPATCH: load = KPATCH, type = ro;
KERNAL: load = KERNAL, type = ro;
EDITOR: load = EDITOR, type = ro;
SERIAL: load = SERIAL, type = ro;
RS232: load = RS232, type = ro;
MESSAGES: load = MESSAGES, type = ro;
CHANNEL: load = CHANNEL, type = ro;
TIME: load = TIME, type = ro;
ERROR: load = ERROR, type = ro;
TAPE: load = TAPE, type = ro;
INIT: load = INIT, type = ro;
RS232NMI: load = RS232NMI, type = ro;
IRQFILE: load = IRQFILE, type = ro;
JMPTBL: load = JMPTBL, type = ro;
VECTORS: load = VECTORS, type = ro;
}

0 comments on commit acab597

Please sign in to comment.
You can’t perform that action at this time.