FROM alpine
#get all needed for run telnetd 
RUN apk add busybox-extras
#and compilation
RUN apk add make
RUN apk add gcc
RUN apk add git
RUN apk add libc-dev
#prepare virtual CP/M Machine 
RUN mkdir -p /root/z80pack
RUN mkdir /root/bin
WORKDIR /root/z80pack/
RUN wget https://www.autometer.de/unix4fun/z80pack/ftp/z80pack-1.37.tgz
RUN tar -xzvf z80pack-1.37.tgz 
WORKDIR /root/z80pack/z80pack-1.37/cpmsim/srcsim/
RUN make -f Makefile.linux 
WORKDIR /root/z80pack/z80pack-1.37/cpmsim/srctools/
RUN make
RUN make install
WORKDIR /root/z80pack/z80pack-1.37/cpmsim/
#install hdd tolls 
RUN mkdir -p /root/git
WORKDIR /root/git
RUN git clone https://github.com/lipro-cpm4l/cpmtools.git
WORKDIR /root/git/cpmtools/
RUN ./configure
RUN make all
RUN make install
#create hdds
WORKDIR /root/z80pack/z80pack-1.37/cpmsim/
RUN /usr/local/bin/mkfs.cpm -fz80pack-hd disks/drivec.dsk
RUN /usr/local/bin/mkfs.cpm -fz80pack-hd disks/drived.dsk
RUN wget www.primrosebank.net/computers/cpm/games/Zork1.zip
RUN unzip Zork1
RUN /usr/local/bin/cpmcp disks/drivec.dsk ZORK1.COM  0:
RUN /usr/local/bin/cpmcp disks/drivec.dsk ZORK1.DAT  0:
RUN cp disks/library/cpm3-1.dsk disks/drivea.dsk
RUN cp disks/library/cpm3-2.dsk disks/driveb.dsk
ENV PATH=$PATH:/root/bin
EXPOSE 23
WORKDIR /root/z80pack/z80pack-1.37/cpmsim
RUN cat cpm3
ENTRYPOINT ["telnetd", "-F",  "-l" ,"./cpmsim"]
