Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #6006

Re: Keyboard layout/character set question

Newsgroups comp.sys.apple2.programmer
Date 2023-01-24 12:27 -0800
References <20230120090302.0a08a296@SGX-CMP-480> <021d6a99-198f-42c4-bcb0-bedb20afee3bn@googlegroups.com> <20230124113642.0c355771@SGX-CMP-480> <768e8cb6-ddbe-45db-8b3f-e42ce7db76b9n@googlegroups.com>
Message-ID <71f15580-d160-4d33-9d62-8ffcff438c50n@googlegroups.com> (permalink)
Subject Re: Keyboard layout/character set question
From Antoine Vignau <ntn.vignau@gmail.com>

Show all headers | View raw


Hi All,

Here are the //c firmware equates:

 SBTL "Apple //c Video Firmware" 
********************************
*
* Apple //c 
* Video Firmware and  
* Monitor ROM Source
*
* COPYRIGHT 1977-1983 BY
* APPLE COMPUTER, INC.
*
* ALL RIGHTS RESERVED
*
* S. WOZNIAK           1977 
* A. BAUM              1977 
* JOHN A           NOV 1978 
* R. AURICCHIO     SEP 1981 
* E. BEERNINK          1983 
*
********************************
*
* ZERO PAGE EQUATES
*
LOC0 EQU $00 ;vector for autostart from disk 
LOC1 EQU $01
WNDLFT EQU $20 ;left edge of text window 
WNDWDTH EQU $21 ;width of text window 
WNDTOP EQU $22 ;top of text window 
WNDBTM EQU $23 ;bottom+1 of text window 
CH EQU $24 ;cursor horizontal position 
CV EQU $25 ;cursor vertical position 
GBASL EQU $26 ;lo-res graphics base addr. 
GBASH EQU $27  
BASL EQU $28 ;text base address 
BASH EQU $29 
BAS2L EQU $2A ;temp base for scrolling 
BAS2H EQU $2B 
H2 EQU $2C ;temp for lo-res graphics 
LMNEM EQU $2C ;temp for mnemonic decoding 
RTNL equ $2C ;Step return address
V2 EQU $2D ;temp for lo-res graphics 
RMNEM EQU $2D ;temp for mnemonic decoding 
rtnh equ $2D ;Step return address
MASK EQU $2E ;color mask for lo-res gr. 
FORMAT EQU $2E ;temp for opcode decode 
LENGTH EQU $2F ;temp for opcode decode 
COLOR EQU $30 ;color for lo-res graphics 
MODE EQU $31 ;Monitor mode
INVFLG EQU $32 ;normal/inverse(/flash)  
PROMPT EQU $33 ;prompt character 
YSAV EQU $34 ;position in Monitor command 
YSAV1 EQU $35 ;temp for Y register 
CSWL EQU $36 ;character output hook 
CSWH EQU $37 
KSWL EQU $38 ;character input hook 
KSWH EQU $39 
PCL EQU $3A ;temp for program counter 
PCH EQU $3B 
XQT EQU $3C ;Step and trace execute area
A1L EQU $3C ;Monitor temp 
A1H EQU $3D ;Monitor temp 
A2L EQU $3E ;Monitor temp 
A2H EQU $3F ;Monitor temp 
A3L EQU $40 ;Monitor temp 
A3H EQU $41 ;Monitor temp 
A4L EQU $42 ;Monitor temp 
A4H EQU $43 ;Monitor temp 
A5L EQU $44 ;Monitor temp 
A5H EQU $45 ;Monitor temp 
*
* Note: In Apple II, //e, both interrupts and BRK destroyed
* location $45.  Now only BRK destroys $45 (ACC) and it
* also destroys $44 (MACSTAT).
*
MACSTAT EQU $44 ;Machine state after BRK
ACC EQU $45 ;Acc after BRK
*
XREG EQU $46 ;X reg after break 
YREG EQU $47 ;Y reg after break 
STATUS EQU $48 ;P reg after break 
SPNT EQU $49 ;SP after break 
RNDL EQU $4E ;random counter low 
RNDH EQU $4F ;random counter high 
*
* Value equates
*
GOODF8 EQU $06 ;value of //e, lolly ID byte
PICK EQU $95 ;CONTROL-U character 
ESC EQU $9B ;what ESC generates
*
* Characters read by GETLN are placed in
* IN, terminated by a carriage return.
*
IN EQU $0200 ;input buffer for GETLN  
*
* Page 3 vectors
*
BRKV EQU $03F0 ;vectors here after break 
SOFTEV EQU $03F2 ;vector for warm start
PWREDUP EQU $03F4 ;THIS MUST = EOR #$A5 OF SOFTEV+1 
AMPERV EQU $03F5 ;APPLESOFT & EXIT VECTOR
USRADR EQU $03F8 ;APPLESOFT USR function vector 
NMI EQU $03FB ;NMI vector 
IRQLOC EQU $03FE ;Maskable interrupt vector 
LINE1 EQU $0400 ;first line of text screen 
MSLOT EQU $07F8 ;owner of $C8 space 
*
* HARDWARE EQUATES
*
IOADR EQU $C000 ;for IN#, PR# vector 
KBD EQU $C000 ;>127 if keystroke 
CLR80COL EQU $C000 ;disable 80 column store 
SET80COL EQU $C001 ;enable 80 column store 
RDMAINRAM EQU $C002 ;read from main 48K RAM 
RDCARDRAM EQU $C003 ;read from alt. 48K RAM 
WRMAINRAM EQU $C004 ;write to main 48K RAM 
WRCARDRAM EQU $C005 ;write to alt. 48K RAM 
SETSTDZP EQU $C008 ;use main zero page/stack 
SETALTZP EQU $C009 ;use alt. zero page/stack 
CLR80VID EQU $C00C ;disable 80 column hardware 
SET80VID EQU $C00D ;enable 80 column hardware 
CLRALTCHAR EQU $C00E ;normal LC, flashing UC 
SETALTCHAR EQU $C00F ;normal inverse, LC; no flash 
KBDSTRB EQU $C010 ;turn off key pressed flag 
RDLCBNK2 EQU $C011 ;>127 if LC bank 2 is in 
RDLCRAM EQU $C012 ;>127 if LC RAM read enabled 
RDRAMRD EQU $C013 ;>127 if reading main 48K
RDRAMWRT EQU $C014 ;>127 if writing main 48K 
RDALTZP EQU $C016 ;>127 if Alt ZP and LC switched in
RD80COL EQU $C018 ;>127 if 80 column store   
RDVBLBAR EQU $C019 ;>127 if not VBL 
RDTEXT EQU $C01A ;>127 if text (not graphics) 
RDMIX EQU $C01B ;>127 if mixed mode on
RDPAGE2 EQU $C01C ;>127 if TXTPAGE2 switched in 
RDHIRES EQU $C01D ;>127 if HIRES is on
ALTCHARSET EQU $C01E ;>127 if alternate char set in use
RD80VID EQU $C01F ;>127 if 80 column hardware in 
ROMBANK EQU $C028 ;Switches rombanks
SPKR EQU $C030 ;clicks the speaker  
TXTCLR EQU $C050 ;switch in graphics (not text) 
TXTSET EQU $C051 ;switch in text (not graphics) 
MIXCLR EQU $C052 ;clear mixed-mode 
MIXSET EQU $C053 ;set mixed-mode (4 lines text) 
TXTPAGE1 EQU $C054 ;switch in text page 1 
TXTPAGE2 EQU $C055 ;switch in text page 2 
LORES EQU $C056 ;low-resolution graphics 
HIRES EQU $C057 ;high-resolution graphics 
CLRAN0 EQU $C058
SETAN0 EQU $C059
CLRAN1 EQU $C05A
SETAN1 EQU $C05B
CLRAN2 EQU $C05C
SETAN2 EQU $C05D
CLRAN3 EQU $C05E
SETAN3 EQU $C05F
RD40SW EQU $C060 ;>127 if 40/80 switch in 40 pos 
BUTN0 EQU $C061 ;open apple key
BUTN1 EQU $C062 ;closed apple key
PADDL0 EQU $C064 ;read paddle 0 
PTRIG EQU $C070 ;trigger the paddles 
ROMIN EQU $C081 ;switch in $D000-$FFFF ROM
LCBANK2 EQU $C083 ;switch in LC bank 2
LCBANK1 EQU $C08B ;switch in LC bank 1
CLRROM EQU $CFFF ;switch out $C8 ROMs 
BASIC EQU $E000 ;BASIC entry point 
BASIC2 EQU $E003 ;BASIC warm entry point 
*
VMODE EQU $4F8+3 ;OPERATING MODE
*
* BASIC VMODE BITS
*
* 1....... - BASIC active
* 0....... - Pascal active 
* .0......
* .1......
* ..0..... - Print control characters  
* ..1..... - Don't print ctrl chars 
* ...0.... - 
* ...1.... -
* ....0... - Print control characters 
* ....1... - Don't print ctrl chars. 
* .....0.. -
* .....1.. - 
* ......0. -
* ......1. -
* .......0 - Print mouse characters 
* .......1 - Don't print mouse characters 
*
M.40 EQU $40
M.CTL2 EQU $20 ;Don't print controls
M.CTL EQU $08 ;Don't print controls 
M.MOUSE EQU $01 ;Don't print mouse chars
*
* Pascal Mode Bits 
*
* 1....... - BASIC active
* 0....... - Pascal active 
* .0......
* .1......
* ..0..... -
* ..1..... -
* ...0.... - Cursor always on 
* ...1.... - Cursor always off 
* ....0... - GOTOXY n/a 
* ....1... - GOTOXY in progress 
* .....0.. - Normal Video
* .....1.. - Inverse Video
* ......0. - 
* ......1. - 
* .......0 - Print mouse chars 
* .......1 - Don't print mouse chars 
*
M.PASCAL EQU $80 ;Pascal active 
M.CURSOR EQU $10 ;Don't print cursor
M.GOXY EQU $08 ;GOTOXY IN PROGRESS
M.VMODE EQU $04
*
ROMSTATE EQU $478 ;temp store of ROM state
TEMP1 EQU $4F8 ;used by CTLCHAR 
TEMPA EQU $578 ;used by scroll
TEMPY EQU $5F8 ;used by scroll
*
OLDCH EQU $478+3 ;last value of CH 
OURCH EQU $578+3 ;80-COL CH
OURCV EQU $5F8+3 ;CURSOR VERTICAL 
VFACTV EQU $678+3 ;Bit7=video firmware inactive 
XCOORD EQU $6F8+3 ;X-COORD (GOTOXY) 
NXTCUR EQU $778+3 ;next cursor to display 
CURSOR EQU $7F8+3 ;the current cursor char 
*
* Disk II boot rom equates
*
DNIBL EQU $356
NBUF1 EQU $300
SLOTZ EQU $2B
BOOTTMP EQU $3C
BOOTDEV EQU $4F
 skp 3
 rep 40
* Entry points for other modules
 rep 40
pcnv equ $C880 
bootfail equ $C5F5 ;Boot fails message
pcnvrst equ $C5F8 ;Protocol converter reset
atalk equ $C580 ;Apple talk

--
Antoine

Back to comp.sys.apple2.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Keyboard layout/character set question Colin Leroy-Mira <colin@colino.net> - 2023-01-20 09:03 +0100
  Re: Keyboard layout/character set question Stu M <nixomose@gmail.com> - 2023-01-20 20:24 -0800
    Re: Keyboard layout/character set question Colin Leroy-Mira <colin@colino.net> - 2023-01-24 11:36 +0100
      Re: Keyboard layout/character set question fadden <fadden@fadden.com> - 2023-01-24 07:40 -0800
        Re: Keyboard layout/character set question Antoine Vignau <ntn.vignau@gmail.com> - 2023-01-24 12:27 -0800
    Re: Keyboard layout/character set question Michael J. Mahon <mjmahon@aol.com> - 2023-01-24 22:50 +0000
      Re: Keyboard layout/character set question Stu M <nixomose@gmail.com> - 2023-01-25 04:28 -0800
        Re: Keyboard layout/character set question qkumba <peter.ferrie@gmail.com> - 2023-01-25 10:59 -0800
          Re: Keyboard layout/character set question Stu M <nixomose@gmail.com> - 2023-01-25 12:26 -0800
          Re: Keyboard layout/character set question Andrew Roughan <no_email@invalid.invalid> - 2023-01-30 11:29 +0000
            Re: Keyboard layout/character set question Stu M <nixomose@gmail.com> - 2023-01-30 13:15 -0800

csiph-web