git @ Cat's Eye Technologies linapple / 8715360
Merge pull request #1 from iKarith/ghedger Merge Andrey's 2b version Greg Hedger authored 3 years ago GitHub committed 3 years ago
67 changed file(s) with 50 addition(s) and 103 deletion(s). Raw diff Collapse all Expand all
0 bin
1 obj
88
99 !! Audio: Fixed choppy Mockingboard sound due to incorrect cycle caculation between IRQs.
1010
11 For LinApple version 2b has been made:
12 !! Fixed gcc version 4.8.4 <unistd.h> includes
13 !! Some cleanup on Makefile, INSTALL, README and some others
14
1115 For LinApple version 2.0 has been made:
12
1316 !! Fixed screen corruption bug for x64 systems
14
1517 !! Fixed gcc 4.4 compilation error lacking <strings>
16
1718 ++ FTP support. You can load disk images on Slots 6 (1 & 2) and Hard disks images, using FTP server such as apple.asimov.net
1819 Press Alt+F3, Alt+Shift+F3 for load disk image through FTP
19
2020 ++ Screen sizes are now flexible. You can set any screen size you wish, just be catious - not all screen sizes can work in full screen mode
21
2221 ++ .zip images support for FDD 140K (in read-only mode). Just first file in .zip archive will be read and inserted as an image.
2322 You can load .zip images directly from your file system (by F3/F4 keypress), or from FTP server (by pressing ALT+F3(F4)).
24
2523 -- Sound is still glitched. Needs repairing. Please help!
2624
27
2825 For LinApple version 1.1 has been added:
29
3026 ++ 1. Opening of compressed .gz files - in read-only mode. Works only for FDD 140Kb drives.
31
3227 ++ 2. Super quick load-save states (CTRL+0..9 - quick load state, CTRL+SHIFT+0..9 - quick save it) in current states directory.
33
3428 ++ 3. Add Mockingboard (but not Phasor??) support, without speech, as I could take it.
3529 But Mockingboard works! You may test it in such games as Berzap! (you need to switch Mockingboard on after pressing Ctrl+C in the game), in Willy Byte in the Digital Dimensions, in Pitfall II(tm), in UltimaIV and few others.
36
3730 ++ 4. VideoBenchmark added! Run `linapple -b' to see benchmark running and its result in console.
38
3931 ++ 5. Parallel Printer file name can be set in linapple.conf (default was Printer.txt in working directory)
0 Linapple - crossplatfom emulator of Apple][ (Apple2, Apple 2) series computer for Linux or other OSes with SDL support.
1
0 Linapple - crossplatfom emulator of Apple ][ (Apple2, Apple 2e) series computer for Linux or other OSes with SDL support.
21
32 [INSTALL]
43
5 You need SDL, cURL, zlib and libzip:
4 You need SDL, cURL, zlib and libzip libraries development versions with -dev or -devel suffixes.
65
76 For Debian/Ubuntu their names are:
8
97 libsdl1.2-dev - Simple Direct Media crossplatform library for video,audio, events etc.
108 libcurl4 - openssl-dev - cURL net functions
119 zlib1g-dev - access .gz files
1412 All these libraries are available for free around the world.
1513
1614 For example for Debian/Ubuntu to install:
17
18 $sudo apt-get install libsdl1.2-dev libcurl4-openssl-dev zlib1g-dev libzip-dev
19
15 $ sudo apt-get install libsdl1.2-dev libcurl4-openssl-dev zlib1g-dev libzip-dev
2016
2117 After being SDL, zlib, cURL and libzip installed you will be able to compile linapple from sources:
2218
2319 Untar the package (in .bz2 format):
24
25 $ tar xjf linapple-src_2a.tar.bz2
26
20 $ tar xjf linapple_src-2b.tar.bz2
2721
2822 Then go to src directory and compile.
29
30 $ cd linapple-src_2a/src
31
23 $ cd linapple_src-2b/src
3224 $ make
3325
34 If there was no errors, you may install it if you wish:
35
26 If there are no errors, you may install it if you wish:
3627 $ sudo make install
3728
38 It will be install in /usr/local/linapple folder, whre you can find linapple.conf file for changing some linapple settings,
39 and empty `images` and `ftp` folders, where Apple 2 images files and downloaded through FTP images are meant to be in.
29 It will be installed in /usr/local/linapple folder, whre you can find linapple.conf file for changing some linapple settings,
30 and empty `images` and `ftp` folders, where Apple 2 images files and downloaded through FTP cached images are meant to be in.
4031
41 But of course you are free to choose any directories of your choice.
42 Note: you should read/write permissions of these folders, or linapple could not work properly.
32 Of course you are free to choose any directories of your choice changing it in Makefile in src directory.
33 Note: you should read/write permissions for these folders, or linapple could not work properly.
4334
44 For linaaple ability to unpack .zip and .gz files on the fly (either from local disks or from FTP) you also need read/write access for linapple working
45 folder (which by default is /usr/local/linapple), for linapple unpacks these files as drive0.dsk and drive1.dsk for drive 1 and 2 respectively.
35 For linaaple ability to unpack .zip and .gz files on the fly (either from local disks or from FTP) you also need read/write access for linapple working folder (which by default is /usr/local/linapple), for linapple unpacks these files as drive0.dsk and drive1.dsk for drive 1 and 2 respectively.
4636
47
48 OK.
49 If you installed it, you are able to run emulator from any place, just run it like this:
50
37 OK. If you installed it, you are able to run emulator from any place, just run it like this:
5138 $ linapple
5239
53
5440 If you have chosen not to install it, go to the upper directory then and run the beast:
55
5641 $ cd ..
57
5842 $ ./linapple
59
6043
6144 If all files are on their places, you should see an X-Window with splash screen.
6245 Press F2 (or F3 before to choose some disk image in drive 1), and go to work.
6447 Note: linapple needs some files in its current working directory for proper working.
6548
6649 These files are:
67
6850 splash.bmp - splash screen
6951 charset40.bmp - charset for Apple][ (Apple 2e, etc.) text modes.
7052 font.bmp - font for Help screen and Disk Select screens.
7153 icon.bmp - nice icon, logo of Apple][ computer.
7254 linapple.conf - configuration file.
73 Master.dsk - disk image with Applesoft(tm) DOS 3.3 inside. See Apple license (on apple.com) for details.
55 Master.dsk - disk image with Applesoft(tm) DOS 3.3 inside. See Apple license (on apple.com) for details.
7456
75 Essentials are font.bmp and charset40.bmp, others can be omitted peacefully.
57 Essential are font.bmp and charset40.bmp, others can be omitted peacefully.
7658
77 P.S. You may play with some options in Makefile in src directory, if you know what you are to do. :)
59 P.S. You may play with some options in Makefile in src directory, if you know what you want to do.
7860
7961 Note: See README file for more detailed instructions on using linapple.
80
8162
8263 [UNINSTALL]
8364
8465 To uninstall previously installed linapple (by `sudo make install` command) you may write this:
85
8666 $ sudo make uninstall
8767
8868 This will remove by default entire `/usr/local/linapple` folder and `/usr/local/bin/linapple` script.
8969
90
9170 Also there is possible command for cleaning compiled binaries in src directory:
92
9371 $ make clean
9472
9573 Note: `linapple` executable in upper directory will remain intact.
9674
97
98
9975 [CONTACT]
10076
101 I will be glad to see your comments, suggestions and so on on my email: beotiger@gmail.com
77 I will be glad to see your comments, suggestions and so on on my email beotiger@gmail.com
10278
10379 Sincerely Yours,
104 Krez beom beotiger, December 2007 AD - March 2012 AD
105
106 beotiger@mail.ru
107 beotiger@gmail.com
80 beotiger, December 2007 AD - March 2012 AD - June 2015
81 http://beotiger.com beotiger@gmail.com
10882
10983 Let Apple 2 live forever!
110
(No changes)
1111
1212
1313
14 *** LINAPPLE 2.0***
14 *** LINAPPLE 2b***
1515
1616 Copyright (C) 1994-1996, Michael O'Brien
1717 Copyright (C) 1999-2001, Oliver Schmidt
2222 [INTRO]
2323 What is linapple?
2424 It is an emulator of Apple2 (Apple][, Apple 2, Apple 2e etc.) computer series for Linux or other OSes with SDL support.
25 (SDL means Simple Direct Media Layer written by Sam Lantinga and others).
2526
26 (SDL means Simple DirectMedia Layer written by Sam Lantinga and others).
27
28 linapple works out of the box, just make it once and run whenever you wish.
27 Linapple works out of the box, just make it once and run whenever you wish.
2928
3029 Why not AppleLin? Yes, at first I think to call it such, but later linapple seemed better to me. And one point!
31
3230 This is my work for making it possible to have comprehensive emulator of Apple][ computer series in Linux.
33
3431 The original source is from AppleWin (http://applewin.berlios.de) by Tom Charlesworth and others.
35
3632 I just adapted it for: video+audio for SDL, other functions for POSIX compliant OS, which Linux is in particularly.
37
3833 Later some sort of Windows support had been added, so you may try to compile it under Windows.
39
40
4134
4235 [INSTALL]
4336
4740
4841
4942 I will show brief instructions for compiling and installing linapple here.
50
5143 Please, see INSTALL file for comprehensive installing tips.
52
53 After SDL1.2, zlib, libcurl and libzip are installed in your system, you can build sources.
44 After SDL1.2, zlib, libcurl and libzip (development versions with -dev or -devel suffixes) are installed in your system, you can build sources.
5445
5546 If all files are on their places, you should see an X-Window with splash screen.
5647
6354 linapple.conf - configuration file.
6455 Master.dsk - disk image with Applesoft(tm) DOS 3.3 inside. See Apple license (on apple.com) for details.
6556
66
6757 [USING LINAPPLE]
6858
69 At first start you should see some nice splashscreen. Press F2 to start emualtion. Master.dsk should load, and you will see an DOS3.3(tm) prompt. By pressing F3 you may select an image file name (usually having extensions .dsk, .do, .po) into Slot 6 Drive 1. After selecting it, you either may reboot anew (by pressing F2 key) and try to boot from the inserted disk, or type any DOS3.3(tm) commands to view disk contents and to run any program located in it. Common DOS commands are `CATALOG' (like `ls' in Linux), `BRUN FILENAME' - running any binary (B) program, or `RUN FILENAME' - running any Basic program (A or I). Usually, most game images have alternative way to run programs in them. You may find a lot of disk images on largest and oldest ftp for Apple][ stuff ftp.apple.asimov.net.
59 At first start you should see some nice splashscreen. Press F2 to start emualtion. Master.dsk should load, and you will see an DOS3.3(tm) prompt. By pressing F3 you may select an image file name (usually having extensions .dsk, .do, .po) into Slot 6 Drive 1. After selecting it, you either can reboot anew (by pressing F2 key) and try to boot from the inserted disk, or type any DOS3.3(tm) commands to view disk contents and to run any program located in it. Common DOS commands are `CATALOG' (like `ls' in Linux), `BRUN FILENAME' - running any binary (B) program, or `RUN FILENAME' - running any Basic program (A or I). Usually, most game images have alternative way to run programs in them.
7060
71 From version 2 of linapple you are able to download such images directly from FTP! Use Alt+F3 or Alt+F4 for charging drive 1 and drive 2 for slot 6 (if you know what I am about :) ) - they are just common disk sources of Apple 2 computer for reading/writing its files, such as system, games, utilities and so on.
61 You may find a lot of disk images on may be the largest and the oldest ftp archive for various Apple ][ stuff - ftp.apple.asimov.net
62
63 From version 2 of linapple you are able to download such images directly from FTP! Use Alt+F3 or Alt+F4 for charging drive 1 and drive 2 for slot 6 (if you know what I am about :) ) - they are just common disk sources of Apple 2 computer for reading/writing its files, such as system, games, utilities and so on. Change `FTP Local Dir` parameter in linnaple. conf file to point to some writable directory and make directory named `cache` inside it (install routine does it for you).
7264
7365 To quit emualtor peacefully, press F10. F6 toggles fullscreen mode, Scroll Lock toggles fullspeed mode.
7466
115107 $ ./linapple -b - run VideoBenchmark and exit emulator. Note: if fullscreen mode is on in linapple.conf, then
116108 VideoBenchmark will be runned in fullscreen mode.
117109
118
119
120110 In version 2 besides FTP support there is also support for changable Window sizes (see at the end of linapple.conf file for details).
121111 Just be aware when you are not running emulator on its native mode (560x384) you can suffer slowdown if you are using old box.
122
123
124112
125113 [SUPPORT]
126114 Wanted:
127115
128 -- we need to get rid of some SOUND glitches. HELP!
116 -- We need to get rid of some SOUND glitches. HELP!
129117
130118 --DEBUGGER
131119 I just owe at 9300 lines of code of AppleWin debugger. Michael Pohoreski, you are he-man, I tell you.
132120 Besides Debugger.cpp alone, there are some helper files such as Debugger_Assembler.cpp,
133121 Debugger_Console.cpp, Debugger_Display.cpp and so on. Who is able to port it to linapple?
134
135122
136123 --PHASOR
137124 Who knows how does that great thing work? Please, help adopting it to lianpple.
139126 SDL Audio used. Speakers are working out in Speaker.cpp. Who may think, heh?
140127 From version 1.1 Mockingboard support are done.
141128
142
143
144129 More testing and debugging needed, of course. I would be grateful for any comment or suggestion regarding linapple, and using it on OSes other than Linux.
145130
131 [CONTACTS]
132 I am beotiger, you may contact me at your will by my email beotiger@gmail.com
146133
147 [CONTACTS]
148 I am Krez beom beotiger (Kbb), you may contact me at your will by my email beotiger@gmail.com or beotiger@mail.ru
149
150 Web-site: http://linapple.sourceforge.net
151
134 Web-sites:
135 http://beotiger.com
136 http://linapple.sourceforge.net
152137
153138 Thank you very much.
154139 Long Live Linux!
156141
157142 --
158143 24 March 2012 AD
159 beotiger@mail.ru
160
144 26 June 2015 AD
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
00 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11 # !! Note 1: this configuration file is for installed linapple
2
32 # !! If you have edited Makefile (in src directory of linaple package)
43 # !! to change INSTDIR - path where lianpple are to be installed
54 # !! you should consider change some paths for disk images and FTP local directory
65 # !! in order to let linapple find proper way to access needed stuff
76
8
9 # !! Good luck to You! (beotiger: beotiger@mail.ru)
10
11
127 # Note 2: Default install directory (for *nix) is /usr/local/linapple/
138 # (defined in Make file in src directory as INSTDIR variable)
149
15
1610 #
1711 # linapple.conf - config file used by LinApple, Apple][ (Apple2, Apple 2) emulator for Linux and other systems with SDL support
1812 #
2115
2216 # Remember - all lines beginning with '#' are considered comments.
2317 # All values are CASE SENSITIVE, you should not use, for example, 'joystick 0' instead of 'Joystick 0'.
24 #
25
2618
2719 ####################################################################
2820 # First of all let us determine our machine type
264256
265257 # Screen factor = 1.5
266258
267
268259 # Note: if you want to use Screen Width and Screen Height directly, comment out `Screen factor` whole option
269260 # otherwise they won't take effect
270261 # Default Screen Width is 560, Screen Height is 384
167167 #
168168 # Default: your home directory (if not set)
169169
170 Slot 6 Directory =
170 Slot 6 Directory =
171171
172172 # You may also provide images to be inserted in 1 and 2 drive (D1 or D2) of Slot 6 at startup
173173 # Default: do not use, starting with image named Master.dsk in current directory
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
3838 char *
3939 md5str (const char *input); // forward declaration of md5str func
4040
41 TCHAR g_sFTPDirListing[512] = TEXT("/cache/ftp."); // name for FTP-directory listing
41 TCHAR g_sFTPDirListing[512] = TEXT("cache/ftp."); // name for FTP-directory listing
4242 ////////////////////////////////////////////////////////////////////////////////////////
4343 int getstatFTP(struct ftpparse *fp, int * size)
4444 {
(No changes)
2727
2828 /* Adaptation for SDL and POSIX (l) by beom beotiger, Nov-Dec 2007 */
2929
30 /* And KREZ */
31
30 // for usleep
31 #include <unistd.h>
3232 #include "stdafx.h"
3333 //#pragma hdrstop
3434 #include "MouseInterface.h"
3737 // for stat in FrameSaveBMP function
3838 #include <sys/stat.h>
3939
40 // for usleep()
41 #include <unistd.h>
4240 #include <iostream>
4341
4442 #define ENABLE_MENU 0
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
(No changes)
3838 //
3939
4040 /* Adaptation for SDL and POSIX (l) by beom beotiger, Nov-Dec 2007 */
41
42 // for read() and write()
43 #include <unistd.h>
4144
4245 #include "stdafx.h"
4346 //#pragma hdrstop
(No changes)
(No changes)
2828 /* Adaption for Linux+SDL done by beom beotiger. Peace! LLL */
2929
3030 // Timers like functions for Windows and Posix
31
32 // for usleep()
33 #include <unistd.h>
34
3135 #include "stdafx.h"
3236 #include "Timer.h"
3337
(No changes)
(No changes)
(No changes)
(No changes)