Found in Hobbycomputer #1 (c) 1980 Herwig Feichtinger (of EMUF fame!) improved by Nils Andreas, a phonebook
On the github page of Nils you can find source and executables.
In fact, it is a searchable text database.
The program is written, probably by hand, Herwig Feichtinger in the German magazine Hobbycomputer, Issue 1. Available on archive.org.
I took the source as typed in by Nils, added the comments from the (see below) listing in the article and made sure it was binary compatible with the listing. There are some problems with the first entry in the database.
Source, listing, article, binary, papertape of original version of Telefonbuch
; Target assembler: TASM ;***************************** ;* Telefonbuch * ;* (c) 1979 * ;* Herwig Feichtinger * ;***************************** ; typed in and checked by Nils Andreas ; comments entered from German listing into source ; checked for being binary compatible with original listing in HobbyComputer 1 1979 ; ; Note that getch in KIM-1 returns with Y = $FF, used in this program to save two bytes? ; Testcase for the KIM-1 Simulator, which now emulates this getch behaviour ; ; Hans Otten, 15 december 2021 ; CR = $0d ; carriage return esc = $1b ; escape crlf = $1e2f ; KIM-1 print cr getch = $1e5a ; KIM-1 read char for tty space = $1e9e ; KIM-1 print space tty outch = $1ea0 ; KIM-1 print car on tty incpt = $1f63 ; increment pointer ; ; zeropage ; savy = $f9 tablep = $fa ; pointer into table bufferp = $df ; buffer table = $0200 ; table starts here ; .org $0000 ; start: lda #(table & $ff) ; low byte table address sta tablep lda #(table >> 8) ; high byte table address sta tablep + 1 ; ldx #$17 ; 17 bytes clear lda #$00 buffer: sta bufferp,x ; clear buffer dex bne buffer ; read: jsr getch ; get ascii character cmp #esc ; escape? bne chkend ; no iny ; yes, y = 0 chkfre: jsr incpt ; increment table pointer lda (tablep),y ; query buffer bne chkfre ; free space in buffer? input: jsr getch ; get ascii character iny ; y=0 cmp #esc ; escape? beq start ; yes, back to begin sta (tablep),y ; no, store in table jsr incpt ; increment table pointer jmp input ; and again chkend: cmp #CR ; return? beq zzz ; yes, line ready sta bufferp +1,x ; no, store char in buffer inx ; increment buffer index cpx #$15 ; is $15? bne read ; next character ; zzz: nop nop ; newline: jsr incpt ; table after return ldy #$00 ; search for character lda (tablep),y ; in table beq printquest ; cmp #CR ; found? bne newline ; no, search again found: ldx #$00 ; yes, compare character in table compbuf: iny ; with character in buffer lda bufferp +1,x ; no, compare table and buffer beq printline ; show it lda (tablep),y cmp #CR ; return? beq zzz cmp bufferp +1,x ; next character bne found inx bne compbuf ; nop nop ; printline: jsr crlf ; new line ldy #$01 loadchar: lda (tablep),y ; load character from table beq printquest ; zero is ready cmp #CR ; return? beq zzz ; end of table entry sty savy ; save Y jsr outch ; and print character ldy savy iny ; increment Y, next bne loadchar ; load new character printquest: jsr crlf ; print return lda #'?' ; print ? jsr outch ; jsr space ; print space jmp start ; return ; .end
Here the pages where the program is described and the listing shown.
See also:
aim65_quartus
Filippo (shinymetal6) published an alpha version of aim65_quartus, an FPGA clone on his github resource. Forum discus...
Filippo (shinymetal6) published an alpha version of aim65_quartus, an FPGA clone on his github resource. Forum discus...
TIM-1 SBC
Christian Ortner (mister-freeze at the VzEkC e. V. forum buold a SBC with expansion around a TIM IC. Here is his proje...
Christian Ortner (mister-freeze at the VzEkC e. V. forum buold a SBC with expansion around a TIM IC. Here is his proje...
MC-65
An AIM 65 compatible 65C02 CPU based computer, the MC-65. With a 6532, 6522, terminal I/O, cassette interface, and in th...
An AIM 65 compatible 65C02 CPU based computer, the MC-65. With a 6532, 6522, terminal I/O, cassette interface, and in th...
AIM 65 reproduction AIM65-CPLD-3v3
Mr. Nagano, from Tokyo, Japan send me photos and circuit diagram of an AIM 65 reproduction he designed an build: the AIM...
Mr. Nagano, from Tokyo, Japan send me photos and circuit diagram of an AIM 65 reproduction he designed an build: the AIM...