블로그 이미지
안녕하세요? 이안입니다. 과학의 모든것을 좋아합니다. 이안김

카테고리

분류 전체보기 (481)
NOTICE (12)
SALE (8)
자유 게시판 (40)
◆ APPLE II (54)
◆ SD Smart Drive (15)
◆ SD DISK II (82)
◆ SD Music card (27)
◆ SD MIDI ][+ (23)
◆ Mockingboard 4c (20)
◆ Hyperion 512K RAM+ (5)
◆ Accelerator (10)
◆ PS2 Adapter (8)
◆ Z80 Card (24)
◆ APMSX (26)
◆ APV40 (0)
◆ FC-150 (15)
◆ i86 PC (20)
◆ MPU 관련 (9)
◆ CPLD (1)
◆ RF (5)
◆ 진공관및 오디오 (28)
◆ AutoBike (13)
◆Other (27)
비공개 연구실 (0)
★ 개인방 (1)
스크랩 (0)
임시보관함 (0)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

APPLE//c 회로도 site

◆ APPLE II / 2013. 10. 11. 22:31

http://www.downloads.reactivemicro.com/Public/Apple%20II%20Items/Hardware/IIc/Technical/

'◆ APPLE II' 카테고리의 다른 글

애플2 관련 서적 표지 하나  (0) 2014.02.08
PS2 Keybaord interface 개선  (0) 2013.10.11
APPLE //c Power DIN7 pin  (1) 2013.10.11
APPLE//e의 키보드 부분 회로  (0) 2013.10.03
APPLE//에 사용되었던 특이한 확장 카드  (0) 2013.09.30
Posted by 이안김
, |

APPLE //c Power DIN7 pin

◆ APPLE II / 2013. 10. 11. 22:30
From the Apple //c Technical Reference Manual 

Section 11.2.2 The External Power Connector 
  

The external power supply is attached to the 
internal converter by means of a 7-pin DIN 
connector. The connector pins are identified 
in Figure 11-1 and Table 11-3. 
  

Figure 11-1  External Power Connector 
.     --+ +--       Pin#      Signal 
.   / 7 |_| 1 \     Pin 1     Not Connected 
.  | 6       2 |    Pin 2,3   Signal Ground 
.   \ 5  4  3 /     Pin 4     Shield Ground 
.    \_______/      Pin 5,6   +15 VDC 
.                   Pin 7     Not Connected 

Table 11-3   External Power Connector Signals 

Pin#    Name      Description 
1,7       --      Not Connected 
2,3     Ground    Common Electrical Ground 
4       Chassis   Chassis Ground 
5,6     +15       +15-volt DC input to converter 


'◆ APPLE II' 카테고리의 다른 글

PS2 Keybaord interface 개선  (0) 2013.10.11
APPLE//c 회로도 site  (0) 2013.10.11
APPLE//e의 키보드 부분 회로  (0) 2013.10.03
APPLE//에 사용되었던 특이한 확장 카드  (0) 2013.09.30
APPLE// coprocessor card [Z80 card]  (0) 2013.09.15
Posted by 이안김
, |

APPLE ][+ 와는 매우 다른 구조를 갖고 있다.

직관적인 느낌으로는 원가 절감이다.

기존의 APPLE][+는 ASCII키보드로 Data를 ASCII로 보내면 되는데,

이것은 APPLE이 직접 키보드배선을 검사하는 구조를 갖고 있다.

요즘과 비교하면 //e는  배선으로 만들어져 있고,

][+는 PS2 라고 봐도 될듯하다.

따라서 APPLE][는 Datat 7핀, Strobe 1핀 Reset 1핀 및 전원선인데

이것은 한참 많은 24선이다.




문득 생각나는것이..

그간 잘 보관하던 ROMAX를 버린것이다..

케이스도 있었는데.. 무슨 귀신이 씌였는지..

과거를 버려야 미래에 잘 산다라는 생각이 문득 들었다..

그래서 버렸는데... 맞는지는 아직도 모르지만, 아쉬움은 지금도 든다..


그리고.. 잘 세팅해둔 8비트는 관리를 잘못해서 같이 숙소를 쓰던 녀석한테 거의 도둑을 맞은것이다.

FDD도 2대였고 조이스틱에 그리고 용산에서 사온 황금빛의 보드와 황금딱지 붙은 RAM 이었는데....ㅠ.ㅠ



'◆ APPLE II' 카테고리의 다른 글

APPLE//c 회로도 site  (0) 2013.10.11
APPLE //c Power DIN7 pin  (1) 2013.10.11
APPLE//에 사용되었던 특이한 확장 카드  (0) 2013.09.30
APPLE// coprocessor card [Z80 card]  (0) 2013.09.15
The 25¢ Apple II Real Time Clock  (0) 2013.09.14
Posted by 이안김
, |

16x2에 대한 자료로 16x2의 내부 문자 메모리 와 명령어 타이밍이 나타나 있네요.



Handout_Character_16x2_LCD.pdf

출처는 여기

http://www.csus.edu/indiv/p/pangj/166/handout/Handout_Character_16x2_LCD.pdf

'◆ MPU 관련' 카테고리의 다른 글

BASIC으로 구동시키는 ARM processor  (0) 2014.05.25
Nokia5110 on Atmega8 참조회로  (0) 2013.12.08
초고속 OPAMP  (0) 2012.04.29
32Mbit Serial Flash memory  (0) 2012.04.29
Realtime clock module  (0) 2012.04.29
Posted by 이안김
, |

HDV화일의 Write 기능 시험중..

Block command를 전송하기때문에 프로토콜 오류가 나는지 어떤지 확인하기 위해 Test하는 화면이다.

현재 800여개의 32KB화일을 오랜시간동안 Error없이 Write하였다.




Reading Test는?

Reading은 당연히 Writing이 문제없다면 OK다


'◆ SD DISK II' 카테고리의 다른 글

SD DISK][ Emulator test version  (0) 2013.12.29
Bluettooth HC-06 commands  (0) 2013.10.31
SD DISKII 완성을 위해  (0) 2013.09.13
SD DISKII Emulator (Prodos 8 and HDD cache memory)  (1) 2013.09.12
APPLEII용 • SD DISKII Emulator  (0) 2013.08.22
Posted by 이안김
, |

ATO20클럭이라고 합니다.



ATO20클럭이라고 하는데, 구성에 ROM이 없는것으로 보아 NO SLOT CLOCK의 슬롯버젼을 보입니다.

그냥 Prodos에서 호환되는 정도겠네요.

심플하게 그냥 만들어진 Clock일듯.. NO Slot clock칩도 값이 꽤 나가서 싸면 구해봄직도 한데, 비싸면 가치는 없지요.


AVR에 DS1307넣어서 만드는것이 나을지도.. 물론 Address부분과 Firmware부분이 있지만, 잘 하면 될껍니다.




판매자가 Video sync신호에 맞춰서 Interrupt를 발생시키는 카드라고 알고 있는데,


맞는지는 모르겠으나, 해당 카드는 IRQ를 1초에 60번 발생시키는 카드겠지요.


쓰기에따라서는 대단한 기능을 할수 있는 카드인데,


6502로 멀티tasking을 시킬때 필요한 카드겠지요?


게임 개발할때도 대단히 유용해 보입니다.


향후에 개발해보고 싶은 Timer카드와 비슷한 기능을 할수도 있을것 같네요.







요런 책자도 있었나 봅니다.

APPLEII를 쓰는 법





낙원에서의 사과와 애플II와의 연관?







'◆ APPLE II' 카테고리의 다른 글

APPLE //c Power DIN7 pin  (1) 2013.10.11
APPLE//e의 키보드 부분 회로  (0) 2013.10.03
APPLE// coprocessor card [Z80 card]  (0) 2013.09.15
The 25¢ Apple II Real Time Clock  (0) 2013.09.14
SD DISKII Emulator for ProDos 8  (0) 2013.08.29
Posted by 이안김
, |

디렉토리를 Sort

자유 게시판 / 2013. 9. 29. 17:51

디렉토리를 Sort해주는 프로그램입니다.


Memory card에 아주 요긴합니다.


아주 작아서 최고!!


아래에서 퍼왔습니다.


http://www.anerty.net/software/file/DriveSort.php

DriveSort.exe


'자유 게시판' 카테고리의 다른 글

I got a sick but much better now.  (2) 2021.03.03
오류와의 싸움  (1) 2013.09.29
정치판 이야기를 피하고..  (0) 2013.07.31
홍게라도 좋다  (0) 2013.01.05
금년에는 눈도 많이 오네..  (0) 2013.01.05
Posted by 이안김
, |

오류와의 싸움

자유 게시판 / 2013. 9. 29. 15:32

프로그램을 짜다보면 오류와  필연적인 싸움을 해야합니다.


내가 짠 프로그램과  싸움을 한다는것이 사실 우습지만, 실제로 그렇게 밖에는 표현이 어렵습니다.


디버깅이란 수정을 하는 과정에서 자아성찰도 되고, 다시한번 자신을 돌이켜 보는 시간이 됩니다.


분명히 문제 없다고 생각하고 돌아갈줄 알았던 코드가..


무심코 당연하게 보이는것을 그냥 넘어가는 인간적인 오류를 범하게 됨으로써 발생한다고 생각합니다.


물론 몰라서 그럴것이다라고 추측해서 코딩을 하게 되어 생기는 문제도 꽤 있지요.


그러나 무심코 넘아갔던것, 자신을 속이고 당연히 잘했다라고 착각하는 경우..


이런저런 오류가 결국 오동작이라는 결과를 낳고... 여기에 얽매여 싸움을 벌입니다.


오늘은 그런 날이네요.


왜 안되는지 이유를 알지 못하는....


내가 모르는 뭔가가 있는것 같은데..


실수는 아닌데... 왜 그런지 이해를 할수 없습니다.


어젯밤부터 오늘 지금까지.. 같은 고민.. .. 왜??? ㅋㅋㅋ


아...~~~ 힘들다..


'자유 게시판' 카테고리의 다른 글

I got a sick but much better now.  (2) 2021.03.03
디렉토리를 Sort  (0) 2013.09.29
정치판 이야기를 피하고..  (0) 2013.07.31
홍게라도 좋다  (0) 2013.01.05
금년에는 눈도 많이 오네..  (0) 2013.01.05
Posted by 이안김
, |

사실 이 카드는 Z80 CPM카드로 많이 불리던 카드이다.

애플은 6502CPU를 사용하지만, 이카드만 달면 Z80 CPU 머신으로 바뀌게 된다.

물론 Z80프로그램도 환경만 맞으면 돌아간다.

APPLE의 O Addres 방식이 메모리맵 방식이로 좀 차이는 있으나, CPM프로그램등의 TEXT프로그램은 모두 잘 돌아간다.

한때는 이것을 확장해서 VDP를 달고 SOund카드를 patch해서 MSX를 흉내낼수 있지 않을까 생각해 보았는데,

IO Addres가 메모리 IO이고 해서 좀더 많은것을 바꿔야 해서 아주 간단하지는 않을것 같아서 시도되지는 않았다.

이 CPM카드로 z80에 대해서 알게 되었다.

처음 느낀것은 와!! Z80 CPU는 6502보다 더 좋구나 ! 였다.

이러한 차이점은 어셈블러로 들어가면 알수 있다. 다른 경우에는 ? 글쎄... 잘 모를듯..


그리고 , 언젠가 애플에 VDP와 Sound를 달아서 FC-150이라도 만들어 보리라...

재미로는 FC-150카드는 만들어 볼수는 있을것 같다.

IO는 APPLE의 IO를 다시 Mapping해서 사용하면 꽤 작동될듯... ㅎ


SOftware가 많은 MSX로 가야 좀 충분하게 사용할 수 있을듯...


6502 머신으로는 Comodore64도 괜찮을것 같고,

게임기인 Famicom도 6502이므로 나름 가능성이 있어 보인다.

향후에 Z80과 6502쪽 타 시스템 카드를 만드는것을 고려해 보겠다.

단, 롬팩등은 SD카드로 Emulation한다. ^^/

이렇게 되면 아주 재미있는 APPLE이 될것이다.


왜 아무도 이러한 재미있는 시도는 안하는지 참 알수가 없다.




Posted by 이안김
, |

한 20년된 스쿠터가 있다.

예전에 총각때 사다둔것...

그 이름도 유명한 TACT

사실 이 때만 해도 이거 하나면 행복했다.

가고 싶은곳 맘껏 갈수 있고,

이것 덕에 원동기면허도 따고 ...

재미있는 추억거리도 꽤 있다.

후후..


그런데, 오랜동안 쓰지 않아서 당연히 손볼곳이 꽤 있어서

1) 연료탱크 분해 청소

2) 캬브레터 분해 청소

3) 타이어 확인 및 교체

4) 자체 부식 방지용 구리스칠(이게 생각외로 효과가 짱이다) 물 고이는곳 등에 충분히 뿌리는 구리스를 뿌려준다.

5) 메인 스텍드 부식으로 손질..(요건 별거 아닌데, 없으면 불편하다.

택트는 이 스텐드가 없으면 발로 시동을 걸기가 매우 어렵다. 바닥에 후까시 넣다가 발이 바닥에 닿는다..


요것이 작지만 생각외로 힘도 좋다.

내 기억에 한 2마력 되는데, 2마력이면 말 2마리가 끄는 힘이다.
말 2마리가 끄는 로마시대 2륜 마차와 비슷한 힘이라는..


암튼, 좀 손보고.. 우리 딸래미 태우고 동네 한바퀴.. ㅋㅎㅎ

나이에 맞지 않아 많이 창피하다..

뭐.. 그래도 용감하게.. ㅋ

사실 이렇게 타고 다닌것이 바로 엊그제 같은데.. 이제는 40대 중반의 아저씨가 되어 버렸다.

마음은 아직도 젊은데... 주의에서 늙어다고 하니.. 섭섭하다.


아무튼, 위처럼 이렇게 해서 기본적인 동작은 잘 한다.

큰 돈 들이지 않고..

그런데.. 밧데리는 고민이 된다.


황산납 밧데리(= Lead acid battery)는 특성상 충전하지 않고 오래두면 영원히 죽는다.

예전에 중간에 새 밧데리고 교환을 해둔적이 있다.

그렇지만, 안쓰면 결국 죽는다...

현실적으로 충전해둘수도 없고..

어쩌다가 쓰는데... 충전량이 부족해서 밧데리가 또 죽을것 같다.

그냥 생돈만 또 날아갈듯..( 전에 배터리 15,000원 정도에 새것 사서 넣어두고 안쓰고 죽이것 같다)


그래서 용감하게 NICD밧데리를 연결하려 한다.

2개의 밧데리의 차이는 잘 알고 있다.

장단점도 알고 있다.


문제는 어떻게 방지할까? 아직 문제가 큰지 작은지 모르겠다.


1) NICD는 1.2V 이다.

2) Lead Acid 는 2V이다.


밧데리는 직렬로 연결되어 12V를 가진다.

즉 NICD는 10개, Lead Acid는 6개다.


충전전압

NICD는 충전완전히 시키면 약 1.39V(실험치)가 나왔다. 즉 10개면 13.9V가 나온다는..

그러면 Lead Acid는? 메이커에서는 충전전압이 약 14.4V..

플로팅 충전은 보통 13.8V를 이야기 한다.

플로팅 충전전압에는 거의 맞는다.

그러면 과충전을 별로 안될듯...


그래서 10개를 직렬로 연결하기로 하고 지금 충전중이다.

시험을 해봐야 겠다.

온도 퓨즈증은 장착되어 있지 않고 그냥 무식 충전/방전이다.

방전전류가 아마도 10A는 필요하지 않을까?

여유분은 있으므로 셀이 죽으면 교환을 해서 사용할까 한다.


걱정되는 문제


1) Nicd 셀이 죽게되면 니카드는 특이하게 쇼트가 된다.

이는 다른셀들에게 큰 부담을 주게 되어... 연속적으로 과충전으로 죽게 만들수 있다.

2) 충전시의 전압의 다름, 일단 큰 걱정말고 써보기로 했다. 보통 레귤레이터가 13.8V를 만들어 주는데, 이 전압이면 밧데리는 문제가 되지 않는다. 단, 내부셀중에 하나라도 죽으면 과충전으로 열이 발생할 수 있다.

3) 과열 대책?; 없다. 온도퓨즈를 넣게 되면 순간전류에 어떻게 될지 모르곘다. 10A는 흘려야 시동을 걸텐데...

온도퓨즈가 있으면 연결해 둬야 할듯..



'◆Other' 카테고리의 다른 글

카르노맵 최적화라는데  (0) 2013.12.25
Windows XP hidden process 보기  (0) 2013.12.19
이젠 떠날곳은 떠나야 하겠다  (0) 2013.08.14
잘 모르는 GPS수신기(?)  (0) 2012.04.27
관심 가는 계산기  (0) 2012.04.25
Posted by 이안김
, |

간단하면서 효과적인 Real time clock이다.

음.. IRQ Disable만 쉽게 할수 있으면 쓸만은 하겠네요



출처: http://www.atarimagazines.com/compute/issue9/030_1_THE_25C_APPLE_II_REAL_TIME_CLOCK.php

The 25¢ Apple II Real Time Clock

Erann Gat
Oak Ridge, Tennessee

It is interesting to count the number of features of the Apple II which traditionally require boards full of parts to implement, but are done with only one or two inexpensive chips. For instance, the analog to digital conversion for the game paddles would normally cost at least $25, but is done on the Apple with a single inexpensive timer chip. The refresh for the dynamic memory requires no extra parts at all as this is done by the video circuitry.

This philosophy of doing things the easy way makes one wonder at the prices that are being charged for some of the peripheral boards for the Apple, particularly real time clocks. A search for an easier (and hopefully cheaper) way yielded a clock with good accuracy and any feature found on the more expensive boards, including many extra fringe benefits, with a total cost of between 3 to 25 cents depending on how sophisticated you want it to be.

All About Interrupts

Interrupts are something almost every computer hobbyist has heard of, but most of the information about them is rather cryptic. This section will attempt (note that verb) to clarify how interrupts work because they form the basis of the 25 cent clock.

Here is how an interrupt works: on the 6502 microprocessor there are two pins called IRQ, and NMI. IRQ stands for Interrupt ReQuest and NMI stands for Non Maskable Interrupt. When either one of these pins is grounded, the processor finishes the machine language instruction it is currently working on, saves the program counter and processor status register onto the stack, (if you don't know what that means it isn't important) and jumps to a program somewhere in memory called an interrupt handling routine or interrupt handler. It then executes the interrupt handler until it encounters a RTI (ReTurn from Interrupt) instruction. It then restores the status register and program counter to their original values and continues executing the main program at the point where the interrupt occurred.

The main program is not affected by an interrupt except that some time is lost during the interrupt and the main program slows down. How much it slows depends on the length of the interrupt handler.

Now suppose that the interrupt handler was a routine that incremented a memory location and returned. This would then be an interrupt counter; i.e. every time an interrupt occurs, the counter is incremented. Now suppose that a pulse was applied to the interrupt line exactly once each second. Voila! A real time clock that tells time in seconds. This is the idea behind the 25 cent clock.

More About Interrupts

Up until now the 25 cent clock has been discussed in generalities and theories. This section discusses the actual implementation.

First some more facts about interrupts on the 6502: There are two main differences between the IRQ and NMI interrupts. In the 6502 status register there is a flag called interrupt enable. This flag can in effect turn off the IRQ line. If the enable flag is not set, the 6502 will deny Interrupt ReQuests. It will ignore them as if they were not there. On the other hand, NMI cannot be turned off. When a Non Maskable Interrupt occurs, the processor will always act on it and jump to the interrupt handler.

The second difference is that NMI and IRQ have their interrupt handlers at different places in memory. IRQ has another difference in that its interrupt handler is the same routine which handles the BRK instruction. BRK in effect generates a IRQ signal. There is a way to tell IRQ's from BRK's (in fact the Apple monitor does this for you) but this takes up quite a bit of time as well as creating other complications. NMI therefore is more suitable than IRQ for the clock. However, there is no law that says IRQ can't be used.

Next, a signal of known frequency must be found. A time base generator can be used, but at several dollars a piece it would be difficult to stay within the 25¢ budget. An ideal signal can be found in the video circuitry. This signal is the 60 Hz (meaning 60 times each second) pulse which generates the vertical retrace. This signal can be tapped at two locations shown in figure 1. The physical details are discussed in the next section.

FIGURE 1

The Three Cent Clock

Implementing the clock in its simplest form involves simply connecting the NMI line to a signal source. On the Apple, the NMI line can be accessed from any of the peripheral slots on the rear of the board. The location of the NMI line is shown in figure 2. The connection can be made using a prototype board or by simply inserting a wire between the metal contact and the plastic housing of the connector.

FIGURE 2

The 60 Hz signal can be accessed in the two locations shown in figure 1. The first place is a small solder filled hole in the board. A wire may be soldered in the hole, or a wire wrap pin may be attached and connected to the NMI line via an alligator clip to make the clock removable. NOTE; This may void your warranty. Check with your dealer!

The other connection point does not involve soldering. To make the connection, carefully remove the IC at location C-14. The row and column numbers are marked on the board itself. Then insert a piece of very thin (wire wrap) wire into pin 4 of the socket. (See figure 1.) Now carefully reinsert the IC making sure it is oriented correctly and all the pins are securely seated in the socket.

Before this connection is made an interrupt driver must be entered into memory. If this is not done, the system will crash and RESET will have no effect until the connection is broken.

To get the three cent clock off to a flying start, enter the short program in listing 1. This can be done in the monitor or the mini-assembler. When the program is in memory, connect the interrupt line and watch the upper left hand corner of the screen. If everything was done correctly, the first character on the screen should start changing rapidly. What is happening is that sixty times a second the video circuitry generates a signal which is now being used to generate an interrupt. When an interrupt occurs, the processor starts executing the interrupt handler which is located at 3FB hexadecimal on an Apple. Usually the interrupt handler starts with a jump instruction since there are only five bytes of usable memory at 3FB, but since this program is so short it can be entered directly at 3FB. The interrupt handler that is now in memory simply increments a memory location and returns to the main program. This is a real time clock. It tells time in sixtieths of a second. Granted, it isn't very useful as it is now, but that will be fixed in a moment.

LISTING 1

*3FBL

03FB- EE 00 04 INC $0400

03FE- 40       RTI

03FF- 00       BRK

Now incrementing a memory location on the screen isn't very exciting, but try hitting a few keys. Surprise! They still work. In fact, everything works. Try dumping out some memory or printing something in basic. Everything will work normally and the first character on the screen will go right on counting. WARNING: the disk will NOT work. Neither will the tape. This is because the interrupts slow down the main program enough to upset the precise timing required by the disk and tape routines. Having the interrupt connected will also make the bell tone sound peculiar.

To make the clock more useful, enter the three programs in listing 2. The first program is simply a jump instruction to the second program which is a clock routine to drive an hour-minute-second clock. The third program is a basic routine which sets the clock and outputs the time of day. The programs are thoroughly documented so they won't be discussed here.

LISTING 2 PROGRAM #1

*3FBL

03FB- 4C 00 03 JMP $0300

03FE- 00       BRK

03FF- 00       BRK

Making It Better or When Is An NMI Really An IRQ?

It should be clear by now that the power of the clock lies in the interrupt driver program, but there are some hardware enhancements that can be made. These extra features will roll the price up to a respectable 25 cents (more or less).

The first add-on is a sophicitcated piece of hardware called a switch. This is used to make easier the task of turning the interrupts on and off. The switch is installed so that it breaks the connection from the 60 Hz signal. Personal experience has shown that flipping a switch makes a more dignified display than pulling a wire in and out.

The second modification is a bit more complicated. (Seriously.) This modification allows the computer to control the interrupts via one of the annunciator outputs on the game I/O connector. The only extra part required is a 7400 or 74LS00 nand gate. It is wired according to figure 3 using a pro-totype board, an off-board wire wrap socket, or the breadboard area on the Apple board.Even the revision 1 boards have room for two IC's in the right hand corner under the keyboard. NOTE: To wire the modification in this way requires removal of the Apple board and will probably void your warranty. Check with your local dealer.

FIGURE 3

The connection to the game I/O connector is made using a piece of stiff wire such as the lead of a small resistor. This wire is inserted into the connector and bent as shown in figure 4. A 16 pin IC socket with one pin clipped to accommodate the wire is inserted over that and the game paddles are plugged into that socket. Many connections can be made to the game connector in this manner without having to clip pins off of the game paddles.

FIGURE 4

The Disadvantages

Unfortunately, every silver lining comes equipped with a cloud and the 25 cent clock is no exception. The main problem is that the disk and tape will not work, as well as other programs which involve precise timing. The interrupts must be disabled, either manually or under program control, while such programs are running.

Another hitch is in the computer control circuit itself. When an Apple is turned on, the annunciator outputs are high (logic 1) so this has been made to disable the interrupts. An autostart rom however, turns all the annunciators to logic 0. Before this happens all the annunciators are still at logic 1 for a few milliseconds so inverting the signal from the annunciator will still leave the interrupts enabled for enough time to cause an interrupt and a system crash. Therefore, the interrupts must be disabled manually upon power up with an autostart rom.

Another problem is that the bell tone sounds raspy. This isn't serious, but it can get on your nerves after a while. It doesn't make a good way to check if interrupts are enabled.

The final problem is that the clock seems to lose about ten seconds each hour. This can be remedied by adding ten seconds to the seconds counter each hour.

Fringe Benefits

The 25 cent clock is remarkably user proof. The NMI line doesn't require debouncing, and resetting the comupter doesn't interfere with its operation either (unless the reset key is held down for a long time).

The two main dangers of system crashes are working on the interrupt handler while interrupts are enabled, and not saving registers. THIS IS IMPORTANT!!! You must save each register you intend to modify. If you do not you will get very mysterious results. You can save registers in memory or you can push them onto the stack. There is also a routine to save and restore all registers in the monitor.

Once these restrictions have been met, the 25 cent clock opens a vast new horizon of features that would cost tens of dollars if bought from vendors. The price you pay is speed. The longer the interrupt routine, the slower the computer runs. This is not a severe handicap. The clock routine does not slow the computer down enough to be perceived, even when the interrupts are switched oh and off for comparison. In order to slow the computer down by even one percent it requires a one hundred instruction routine.

Some, things that can be done include:

Control Of Computer Speed Using Game Paddles: have the interrupt driver pause according to the position of a game paddle to give control of listing speed, how fast a program runs, etc.

Keyboard Buffering: have the interrupt routine sample the keyboard and store any keypresses in a buffer to give storage of multiple keypresses while something else is going on.

Mixing Display Modes: sixty times a second switch to another display mode to mix text and graphics, or mix two graphics modes for extra colors.

The possibilities are endless. You can even run two programs at once using the interrupt. The twenty-five cent Apple II real time clock is a lot more than just a clock, it's a cheap way of doing a lot of expensive things, right in line with Apple tradition.

GLOSSARY

INCREMENT- to add 1 to a counter

INTERRUPT HANDLER- a machine language program which is executed whenever an interrupt occurs

INTERRUPT VECTOR- the address of the interrupt handler routine

IRQ- Interrupt ReQuest; an interrupt line which can be disabled under program control

NMI- Non Makable Interrupt; interrupt line which cannot be disabled

REAL TIME CLOCK- a device which provides a computer with information about the time without disrupting the computer's normal functions

LISTING 2 PROGRAM #2

*300LL                  CLOCK

0300-   85      05      STA     $05      SAVE A AND X

0302-   86      06      STX     $06

0304-   A9      3C      LDA     #$3C      A = 60 DECIMAL  X = 0

0306-   A2      00      LDX     #$00

0308-   E6      04      INC     $04       COUNT 1/60 SECOND

030A-   C5      04      CMP     $04         FULL SECOND YET?

030C-   D0      22      BNE     $0330        IF NO THEN RESTORE REGISTERS & RETURN

030E    86      04      STX     $04       RESET 1/60 SECONDS

0310-   E6      03      INC     $03       COUNT 1 SECOND

0312-   C5      03      CMP     $03         1 MINUTE YET?

0314-   D0      1A      BNE     $0330

0316-   86      03      STX     $03

0318-   E6      02      INC     $02       MINUTES

031A-   C5      02      CMP     $02

031C-   D0      12      BNE     $0330

031E-   86      02      STX     $02

0320-   A9      0D      LDA     #$0D      SET A = # HOURS IN 1 DAY PLUS 1

0322-   E6      01      INC     $01       HOURS

0324-   C5      01      CMP     $01       FULL DAY?

0326-   D0      08      BNE     $0330

0328-   E8              INX               IF YES SET HOURS TO 1

0329-   86      01      STX     $01

032B-   A5      05      LDA     $05       RESTORE REGISTERS

032D-   A6      06      LDX     $06

032F-   40              RTI

0330-   A5      05      LDA     $05       RESTORE THEM HERE TOO

0332-   A6      06      LDX     $06

0334-   40              RTI

0335-   00              BRK

0336    00              BRK

0337    00              BRK

0338    00              BRK

0339    00              BRK

LISTING 2 PROGRAM #3

>LIST CLOCK DRIVER

     5 PRINT CHR$(4); "BLOAD CLOCK"

     7 POKE 1020, 0 : POKE 1021, 3 : REM SET INTERRUPT VECTOR

    10 INPUT "INPUT TIME →", H, M, S

    15 REM SET CLOCK

    20 POKE 1, H

    30 POKE 2, M

    40 POKE 3, S

    43 POKE 4, 0

    45 A = PEEK(-16296) : REM TURN CLOCK ON

    47 INPUT "12 OR 24 HOUR CLOCK", A : POKE 801, A + 1

    48 REM  SEE       LISTING   FOR EXPLANATION          OF LINE 47

    50 CALL -936 : REM CLEAR SCREEN

    60 VTAB 10 : PRINT "

    61 REM ERASE OLD TIME

    70 VTAB 10 : TAB 10

    75 REM DISPLAY CURRENT TIME

    80 PRINT PEEK(1) ; " : ";

    81 REM  HOURS

    90 IF PEEK (2) < 10 THEN PRINT "0" ; : PRINT PEEK (2),

    91 REM MINUTES

    100 PRINT PEEK (3), PEEK (4) : GOTO 60

    110 REM SECONDS AND 1/60 SECONDS

 

'◆ APPLE II' 카테고리의 다른 글

APPLE//에 사용되었던 특이한 확장 카드  (0) 2013.09.30
APPLE// coprocessor card [Z80 card]  (0) 2013.09.15
SD DISKII Emulator for ProDos 8  (0) 2013.08.29
APPLE][ Puls F000~FFFF Monitor ROM  (0) 2013.08.20
APPLE][와 IBM FDD  (0) 2013.07.20
Posted by 이안김
, |

기능 추가중..

현재 새로운 공 디스켓 만들기 OK

기존 디스켓 화일 지우기 OK

기본적인 기능은 다 하는듯..


디레토리 만들기도 시킬까? 이건 IBM에서 해야 할것 같음... 버튼의 조합이 지금도 조금 복잡함.


ANSI Reverse 와 Normal을 찾아야 함. 커서 제어도 좀 찾아보고..



Posted by 이안김
, |

안녕하십니까? 이안입니다.
저번에 이어 이번에는 Writing cache 적용에 대한 이야기 입니다.
Cache란 일종의 버퍼로 Data를 임시로 저장하는 공간으로 특히 read write를 할때 이용되는 메모리버퍼를 이야기 합니다.
Reading cache는 Data를
읽어야 하는 경우에 처음에만 미디어에서 읽고 같은 Data는 미디어에서 읽지않고 바로 메모리에서 꺼내서 읽는 기술입니다. Reading cache는 속도가 매우 빠른 기기인 경우나 회전식 기기(다시 돌아올려면 시간이 걸리므로)나 반대의 경우(느린 미디어를 다시 읽어야 하는 경우) 에 좋은 결과를 냅니다.
이 Reading cache는 Write 명령 수행에도 도움을 줍니다.
Disk에 Write의 명령을 내려도 실제로 Write를 하기 위해서는 디스크를 몇몇 자료를 읽어서 확인해야 합니다.따라서 Reading cache만 적용되어도 실제로 Writing수행 속도에 향상이 있습니다. 하지만 Write할때는 Data를 받고 기록할때까지 어쩔수 없이 기다려야 합니다. 이것이 read cache의 한계입니다.
Write cache는 Write할때의 내용을 Buffering합니다. 즉 Write할 내용을 APPLE로 부터 받아서 저장합니다.Write를 한것처럼 APPLE에 알리지만 실제는 Write를 할 준비만 합니다.
적당한 시간후에 실제로 Write를 합니다. 기다리는 이유는 또 다사 Write될수도 있기 때문에 같은 작업을 반복하지 않으려는 것입니다.
이 Writing cache는 속도 뿐만이 아니라 , 메모리의 빈번한 Read Write로 수명이 짧아지는것도 방지합니다. 실제로  반복적인 Write를 일정시간사이에 1000번을 해도 실제로는 1번만 Write를 합니다. SD메모리 같이 소모성인 미디어에 수영연장의 효과가 있을것입니다.

자, 그러면, 이번에 적용된 Writing cache입니다.


Write cache는 APPLE과 연동되어 작동합니다. APPLE이 Write명령을 내리면 SD DISK는 버 퍼에  할당 받고 해당 위치에 Write해야 할 내용을 받아둡니다. 그런 후 APPLE이 놀면,, 뒤에서 Background로 몰아서 SD메모리카드에 저장합니다.중간에 APPLE이 Reading이나 또 Writing명령을 보내도 잘 받아서 처리합니다. 멀티 Tasking하듯이 잘 합니다. 간단한 개념이지만, 실제로 내부 동작은 꽤 어렵습니다. 큐 관리와 각 Cache data관기가 상당히 어렵습니다. 오류 한 조각만 있어도 자료를 깨먹을수 있고, catalog 를 할수 없을수도 있습니다. Cache의 크기는 각각의 디스크당 약 250KB가량 됩니다. 2개의 디스크이므로 약 500KB의 크기로 할당되어 있습니다.
이번 기술의 적용으로 DISK의 기록 속도가 매우 향상되었습니다.
멋진 Smart cache를 만들지는 못했지만, 나름대로 효과적으로 만들기 위해 노력했습니다.  TEST해본결과 32KB화일 7개는 아주 거뜬하게 Writing cache에 집어 넣습니다.
아래는 속도 측정을 해본 표입니다.
DOS3.3과 PRODOS HDD와 Cache의 성능을 알아볼수 있습니다.




** 맨위가 DOS3.3 Master orignal 이미지 디스켓으로 시험
   (숫자는  걸린시간 초(Sec) 입니다. 수치가 작을수록 빠른것입니다)
2번째는 빠르게 읽기 쓰기를 지원하는 PRONTO DOS의 이미지로 부팅한 후 시험, Pronto도 꽤 빠르네요?
3번째는 PRODOS2.0.3 HDD emulation에서 Read/Write cache 적용 상태로 시험한 결과
4번째는 Read/Write cache가 상태에서 재reading과 재bootong그리고 재 Writing을 해본 결과.
큰 의미는 없지만, 매우 빠른 속도를 보입니다.
PRODOS HDD Emulation은 DOS3.3대비 4.7배 빠르고, Write는 9.2배 빠르게 나타납니다.
이 정도면 괄목할만한 성능이라고 개인적으로 생각합니다. ^^/

금번 Reading cache와 Writing Cache가 적용되면서 약간은 속도를 희생하였습니다.
나중에  최적화 단계에서 다시 튜닝하도록 하겠습니다.

이것으로 만족스러운 SD DISKII Emulator의 Read/Write기능이 다 된듯 합니다.
나머지는 User Interface기능 개선과, 몇 가지 기능추가가 있겠습니다.(공디스켓 만들기, 디스켓 지우기)
동영상은 OS Booting, 화일 삭제, 화일 생성등인데  조금 편집해서 올리도록 하겠습니다.
감사합니다.

먼저 Prodos 2.0.3 부팅화면입니다. 처음 부팅이라 Cold booting이라고 합니다.


자, 그럼 재부팅도 해보겠습니다.
재부팅 속도가 대단합니다.  이게 다, Reading cache덕분이지요.^^
그럼, 화일도 저장해 보겠습니다. 동영상의 A$1000,L$8000은 $8000 즉 32KB화일을 저장하는 명령입니다. 매우 빠른 저장 속도를 보입니다.
다시 reload하면 당연히 Cache에서 읽어 들이므로 초고속(?) 입니다.
1초 정도로 바로 프롬프트 뜹니다.
예상했듯이 Reading보다 더 빠르게 Prompt를 내보냅니다. APPLE은 다른일을 계속할 수 있습니다.



화일 삭제도 해보도록 하지요.
제가 만든 키보드 인터페이스 Recall 기능을 같이 보실수 있습니다.
이 Recall기능이란 바로전에 쳤던 내용을 바로 다시 부를수 있는 기능입니다.
참고로 저는 IBM의 PS-2키보드를 APPLE][+에 연결해서 사용하고 있습니다.
그리고, 별짓(?)을 다해서 Prodos 2.0.3을 돌리고 있습니다. (참고로 PRODOS 2.0.3은 APPLE2 Plus에서는 돌아가지 않습니다.)


마지막으로 즐거운 놀이가 빠질수 는 없지요?
파일게임 Packman시리즈 중 MS Pacman ...
아주 잘 만들어진 Pacman이라고 생각합니다.

 


이로서 이번 이야기는 마치도록 하겠습니다.
많은 성원에 감사드립니다.

 

시험해 본 DISK BOOTING 게임들입니다.

 

 

 

 

 

 

 

 

 

 

 

 

 


'◆ SD DISK II' 카테고리의 다른 글

Bluettooth HC-06 commands  (0) 2013.10.31
SD DISKII Emulator Testing..  (0) 2013.09.30
SD DISKII 완성을 위해  (0) 2013.09.13
APPLEII용 • SD DISKII Emulator  (0) 2013.08.22
시리얼통신 터미널 Emulator / 이야기 멀티  (0) 2013.06.01
Posted by 이안김
, |

 

 

 

 

 

보는것이 믿는것

'◆ APPLE II' 카테고리의 다른 글

APPLE// coprocessor card [Z80 card]  (0) 2013.09.15
The 25¢ Apple II Real Time Clock  (0) 2013.09.14
APPLE][ Puls F000~FFFF Monitor ROM  (0) 2013.08.20
APPLE][와 IBM FDD  (0) 2013.07.20
APPLE2용 SD Memory Emulator를 위하여  (0) 2012.05.14
Posted by 이안김
, |
안녕하십니까? 이안입니다
APPLEII용 SD DISKII Emulator  개발하였으며 이를 소개합니다.
장치의 기본적인 컨셉은 당연하게  SD메모리 카드를 APPLE//에서 디스켓처럼 사용하자! 입니다.
아시다시피 APPLE// FDD 지능적이지 않습니다. 말은 FDD 자동적으로 어느 정도의 기능을 수행하는것이 아니라, CPU 일일이 헤드를 이동시키는고 바이트를 보내고.. 많은 일을 접하여 Data 읽고 쓰기를 수행 합니다. 이러한 개념은 개발 당시에는 간단하고 저가를 실현하였으나, 이제는 이것이 단점으로 작용하여 호환장치를 만드는것을 어렵게 합니다. 그러니 이제 소개할 있을 만큼 제작되기에 여러분들께 소개합니다.
사양과 기능입니다.
1) 주요 처리장치는 AVR Atmega128 사용합니다. 충분한 Pin수와 고속의 8비트 MPU입니다. 속도면에서는 조금 아쉽지만, 적용하였습니다.
2) 버퍼로 4Mbit 대용량(?) 채용했습니다. PC에서 보면 대용량으로 보이지는 않지만, MPU세계에서는 사실 매우 큰 용량입니다.
3) File NIB화일을 사용합니다.
4) 드라이버 2대를 갖고 있듯  2대의 DISKII장치를 Emulation 합니다.
5) NIB포맷의 디스켓의 읽기, 쓰기 그리고 INIT 지원합니다.
6) SD메모리카드는 갖고 있는 16G까지 Test하였습니다.
    파일명/폴더명은 Short file name 지원합니다. 화일명 8, 확장자3자만 나타납니다.
7) 부팅! 당연히 지원합니다. (최근 선택한 파일 자동 부팅도 지원합니다만, 실험상 Disable 놓았습니다.)
8) 화일선택은 다이얼 스위치로 선택합니다. 돌려서 파일을 선택합니다. 버튼보다는 월등히 편리합니다. 빠른 선택을 위해 100개의 화일명중에서 고를수 있습니다.
9) DISPLAY 외장으로 현재 RS232C 연결하여 실험합니다만, 시제품은 추가로 문자 LCD 달거나 BlueTooth 채용할 생각입니다.
10) 드라이브당 NIB화일은 기본 35 트랙 지원하나, 드라이브는 39트랙까지 읽고 쓸 수 있습니다.
11)  Half track 구현되어 있습니다.
12)  실제의 FDD보다 약간 빠릅니다.
13) 사용 도중에도 NIB디스켓 화일을 골라서 Loading시킬 있습니다.
14) 당연히 CPM, 프로도스 부팅됩니다.
- 계속 계발중인 PRODOS상의 하드드스크 Emulation, 32MB 지원하기 위해 계속 연구중입니다.
- 그리고 몇가지 아직 공개하지 못하는 기능도 개발 중에 있습니다.
- 이 정도로 설명을 드리고, 동영상을 보여드립니다.
 
동영상은 DISK NIB를 선택해서 Loading도 한후 APPLE에서 Save도 하고.. 드라이브2번에 화일도 로딩헤 보고.. 실제로 사용하듯이 써보는 중입니다.  Write기능이 잘 됩니다. 버튼을 눌러 디스켓을 빼기(Unloading)을 하면 기존 자료를 SD메모리 카드로 Update 해줍니다. 
 
<동영상 링크> 연계가 안되서 그냥 링크를 올립니다.
 
예전에 좋아했던 게임도 로딩해봅시다.
 
SD DISKII EMULATOR보드와 간단하게 꾸민 외장형 콘크롤 장치
왼쪽이 APPLE// 슬롯에 꽂는 SD DISKII Emulator 카드, 오른쪽이 사용자 인터페이스 콘크롤 장치로 다이얼과 버튼으로 화일 선택등의 작업을 합니다.
 
개발 후기
 
FDD Emulator는 나도 필요하도 너도 필요하고 우리가 필요해서... 한국형 DISKII Emulator 만들기로 작정했습니다.   사용자 입장을 고려하여 개발 하였습니다. 특히 디스켓 바꾸기 등은  편리하도록  직관적인 interface 방식을 사용했습니다.  틈 내서 구상도 하고 회로도 수정하고 PCB설계도 같이 하고 있습니다완성되면 초기 Version 나올것입니다.

사실 지금 상태로도 좋지만PRODOS 32MB 하드 디스크 지원되면 고속의 Read Write가 됩니다.

이것만 되면 다른 해외의 Emulator에서 결코 뒤지지 않을 듯 싶습니다.
주업은 부업이 되었고 개발일이 주업이 되다시피 했습니다. 휴가는 가지도 못했습니다. 식구들에게 미안하군요.

딸래미는 입이 튀어 나왔습니다TTL 사용이 원활하지 못해  카르노맵 공부 다시 했습니다 잊어 버렸더군요젊은 시절 어렵게 배운것 잊어 버릴까 두렵습니다.

 
그럼 여러분들의  지속적인 관심과 성원을 바랍니다.
Posted by 이안김
, |

PRODOS에서 문자열검색으로 넘어가지 않는 문제가 있어, 기존의 APPLE 88로 표시되는 놈을 APPLE ][로 교정한 F000~FFFF의 4KB롬이다.

 

구하지 못해 결국 손대서 만들었다.

 

문자열 찾는것도 어렵지만.. 시행착오 겪는것이 더 어려운듯 하다.

 

이 롬은 오리지날의  APPLE][와는 조금 다르다.

 

소문자 입력을 지원한다. 그외 조금 다른곳이 있는데 왜인지는 모르겠다.

 

apple2_f(KOR APPLE][).rom

 

'◆ APPLE II' 카테고리의 다른 글

The 25¢ Apple II Real Time Clock  (0) 2013.09.14
SD DISKII Emulator for ProDos 8  (0) 2013.08.29
APPLE][와 IBM FDD  (0) 2013.07.20
APPLE2용 SD Memory Emulator를 위하여  (0) 2012.05.14
ROM WRITER 카드 및 BASIC 소스  (2) 2012.04.28
Posted by 이안김
, |

가끔 들리던곳이 정치색으로 얼룩지고, 극우 사회주의를 좋아하는 성향에 일단 코드가 크게 틀리다.

 

자신과 코드가 다르면 빨갱이 운운하고, 도둑질하여 훔친 권력을 갖고 대항하는 시민을 폭도로 규정하고,

 

그 폭도를 총살하는 것이 당연하다고 생각하는 자들과는 말을 섞고 싶지 않다.

 

강건너 불구경하듯, 외국에 있으면서 한국에 밤놔라 대추놔라하고 떠드는 비겁함,

 

국가를 위해 한국에 와서 세금을 내라는 소리에 듣기 싫어서 너가 그런권한이 있다고 생각한느냐고 반박하는 사람..

 

혈연, 지연, 학연 연줄에 매달려, 자신의 패거리를 그저 감싸고 도는 작태..

 

그런 사람들이 있는 곳은 피하는것이 맞겠다.

 

그럼 잘 지내시고, 이제는 가보지 않겠다.

 

'◆Other' 카테고리의 다른 글

Windows XP hidden process 보기  (0) 2013.12.19
50cc스쿠터에 밧데리를 교환  (4) 2013.09.14
잘 모르는 GPS수신기(?)  (0) 2012.04.27
관심 가는 계산기  (0) 2012.04.25
간단한 리튬이온 충전기  (0) 2012.04.22
Posted by 이안김
, |

참 쓸데없는 일이었다고 생각한다.

 

현실을 제대로 보지 못하는 어리석은 사람들과 이야기 한다는 자체가 불쾌한 그 자체이다.

 

저런 사람들과 같이 지구상에 산다는 자제가 불쾌하기 짝이없다.

 

가르쳐야 할것이 많은것인지.. 아니면 자신의 주장을 강하게 이야기해서 남들에게 인정받고 싶은것인지?

 

게다가 한국에 살지도 않으면서 한국이 빨갱이 나라가 된다는 두려움(?) 같은 것을 같고 뭐 애국자라도 되는듯한 착각속에서 입에 거품무는꼴이 .. 그 집에 살지도 않으면서 이렇다 저렇다 하는꼴이 정말 꼴깝 하고 있다.

 

과거 한국 정부의 쿠데타에대한 비판이 일자 한다는 소리가 "조건만 된다면 일어난다" 고 합리화 하지를 않나...  만약 반대형태의 쿠데타가 일어난다면.. 빨갱이 국가 된다고 개거품 물을 놈들이다.

 

구데타같은것이 이것이 법치주의/민주주의국가에서 일어나도 되는 일인가?

 

그들의 주장은 게다가 한술 더 뜬다..

권력에 대항하는 폭도는 총으로 쏴도 된다?

 

허허 참...

 

자.. 생각해보자.

 

권력이 쿠데타로 얻어졌다.. 이 쿠데타로 얻어진 권력에 대항하는 폭도(?)에게 총으로 쏴도 된다?

 

이런 정말 도둑이 매를 드는 경우가 다 있는가? 이것이야 말로 적반하장 아닌가?

 

과연 그들이 주장하는 민주주의 국가는 무었인가?

 

게다가 법치주의를 주장하면서.. 그 쿠데타는 법치주의 위에서 세워진 권력집단인가?

 

그 불법으로 빼앗은 권력이 법치주의와 민주주의를 위반하고 힘있는자가 정권을 장악하는데,

이것에 대해 잘못되었으니 물라가라라고 하니, 지멋데로 계엄을 선포하고 폭도로 규정하고 총질하는데, 이것이 준법 법치주의라고 생각하는 사람의 뇌구조는 정말로 잇권에 영혼을 뺴앗긴 놈들이다. 

 

그들이 힘있는것이 정의이고 권력을 잡은놈이 옳다는 주장하며, 빨갱이 운운하는데, 도대체 빨갱이가 뭐라고 생각하는가?

 

불법으로 권력을 쿠데타로 빼앗고, 국회를 무력화시키기위해 계엄을 선포한자가 빨갱이아닌가?

 

그 권력집단에 아부하며 무단 불법으로 이익을 챙기려는 집단이 빨갱이 아닌가?

 

예전의 권력집단 박통, 전두환시절 그들이 한 행위는 빨갱이의 행위와 매우 흡사하다.

 

권력으로 기업을 뺴앗고, 돈을 빼앗고,.. 복종하지 않으면 기업을 죽이고, 사람을 해치고.

 

지금은 빨갱이 운운하며 권력(?)에 대항하는 사람앞에 자기들은 절대로 안그런척 안그랬던척 면서 자신의 권력에 대항하는 자들을 그들은 친북/빨갱이라고 한다.

 

웃기는 놈들이다.

 

반미는 당연한것 아닌가?

미국이 한국을 점령하는것을 반대한다는것이 잘못된 이야기 인가?

경제적으로 점령하고

군사적으로 점령하고

 

이것이 다 허용되고 북한을 붙혀서 북괴에 동조하는자. 친북...

 

자 그러면 우리나라는 뭔가?

 

경제적으로 미국 꼬봉, 군사적으로 미국 따깔이?

전쟁나면 전방에서 한국 군인들 다 죽어도 뒤에서 이리가라 저리가라 하면서 멀리서 포질이나 하는 미군들을 모른단 말인가?

 

국가를 위한다면 국가안에 들어와라.. 진정으로 세금도 내고 사람들과 이야기도 해봐라..

그리고 한국에 올때 이중국적 한다고 하는데 미국국적 포기하고 와라.. 어딜 튈려고 미국국적 놔두냐? 비자 있으면 싫컷 가고 싶을때 갈수 있는거 아니냐? 기회주의자 염치업는 짓좀 그만해라..

 

참으로 권력집단의 못된 행동들이 사람들을 버려놨다.

 

 

참을 보는 눈도 참으로 부족하다..

 

어리석은 사람들.. .나이 먹어도 어리석은 사람들... 인생 헛 살았소!!이다...

 

'자유 게시판' 카테고리의 다른 글

디렉토리를 Sort  (0) 2013.09.29
오류와의 싸움  (1) 2013.09.29
홍게라도 좋다  (0) 2013.01.05
금년에는 눈도 많이 오네..  (0) 2013.01.05
필리핀의 국가기관중의 하나인 자산관리국  (0) 2012.11.07
Posted by 이안김
, |

GOTEK System FDD Emulator

◆ i86 PC / 2013. 7. 28. 20:33

필요한 경우가 있을듯 해서 올려둔다.

인터넷에서 구하다 포기했다.

방을 뒤져서 CD를 찾아냈다.

 

SOFTWARE for XXX-U100 version.zip

 

별것도 아닌데..

메뉴얼도 올린다.

 

FU version.pdf

TU100M version.pdf

U100 version.pdf

 

'◆ i86 PC' 카테고리의 다른 글

286을 하나 얻은듯 합니다.  (1) 2013.04.02
ISA VGA카드  (1) 2012.05.14
Pentium-1 mother board  (0) 2012.05.14
VESA VGA카드  (0) 2012.05.14
IBM PC판 최종 ADC 및 8255보드  (0) 2012.05.08
Posted by 이안김
, |

APPLE][와 IBM FDD

◆ APPLE II / 2013. 7. 20. 11:10

오래전에 2DD 디스켓에 기록하는 인터페이스를 만들었었습니다만, 호환성되는 기종과 그렇지 않은 기종이 있었습니다.

문제 해결을 위해 노력했지만, 시간상..    미뤄 두었었습니다.

그간 바쁜 일들이 많아 SD DISKII Emulator도 만들지 못하고 있습니다..

 

사실 3.5" 드라이버와 디스켓은 아직 까지는 쉽게 구할수 있는데, 예전의 2DD디스켓을 구하기가 쉽지 않고

또 2HD디스켓을 강제로 2DD로 만들어서 사용하는것은 기록 시그널이 달라 안정성에 문제가 있을수 있을것 같아 썩 마음에 들지 않았습니다.

그래서 싸게 쉽게 구할수 있는 2HD 디스켓을 사용하기로 마음먹었습니다.

 

그간 이사다 뭐다 일들이 많아 차일 피일 미루다가, 이제는 개인 LAB실이 나름 갖춰져서 필요한 최소의 장비만 새로운 곳으로 이동시켜 놓고 새로운 LAB실 기념으로 작업을 착수 하였습니다.

APPLE과 플로피 디스켓에 향수가 많아 디스크드라이버에 대해 다시 연구를 시작해 보았습니다.

 

예전에 GIGO라고 말한적이 있지요. 우둔한 자는 이것이 무슨 말인지 못 알아 들었겠지만,

이것은 제대로 된 Data를 기록한 후에야 제대로 된 Data를 읽을 수 있다라는 이야기 입니다.

 

즉, 개발할때는 Reading이 먼저가 아니라 Writing이 먼저 우선되어야 하고 이 Writing된후에야 Reading을 검사해야 합니다.

어떻게든 잘 Writing이 되었다면 나름대로의 Decoding을 구성할수 있겠지요.

각설하고..

 

APPLE2의 DISKII는 Data를 기록할때 GCR포맷을 사용합니다.

이러한 Data를 MFM용 IBM FDD에 당연히 그냥 쓰고 읽을 수가 없지요.

그래서 어떻게든 GCR Data를 변환하여야 하며,  기타 다른 디스크드라이버 콘트롤 신호도 APPLE의 I/O에 맞게 변환해줘야 합니다.

 

애플에서는 각Bit를 4uS마다 Data bit를 저장합니다.

HD 디스켓을 제어하려면 2us 단위의 Data를 처리해야 합니다.

APPLE에서는 절대로 2HD를 그냥 처리할수 없어 AVR MPU를 사용하였습니다.

구해놓은 쓸만한 보드를 기존에 만들어둔 I/O장치에 추가하여 Data의 Encoder/Decoder를 구현하였습니다.

 

ATTINY2313이 20Mhz로 동작하는데도 2uS신호를 처리하기가 대단히 벅찹니다.

오버클로킹이라도 할까 생각했었습니다.

 

10여일간의 시행 착오와 프로그램 최적화 끝에 결국 아래와 같이 HD디스켓을 잘 읽고 쓸수 있게 되었습니다.

 

이에 기쁜 마음에 동영상을 올려봅니다.

해당 인터페이스는 안정성과 최적화를 더 거친후에 PCB를 만들 계획입니다.

 

이로써 IBM FDD의 연결은 모두 끝난것 같습니다.

사용한 APPLE은 예전에 만든 IBM케이스를 사용한 APPLE입니다.

 

동영상에 보시면 APPLE의 FDD는 7번 슬롯에 꽂혀 있고
IBM의 FDD는 6번슬롯에 꽂혀 있습니다.

 

IBM PC용 FDD는 예전과 같이 SIDE A, SIDE B를 APPLE의 D1, D2에 맞춰 두어서 마치 2대의 FDD처럼 동작합니다.

IBM PC용 FDD는 삼성FDD를 사용하였으며 HD로 동작하고 300RPM으로 회전하도록 약간의 Modification이 이루어져 있습니다. 

 

첫번째 동영상은 포맷과 COPY를 해보는 화면입니다.

 

두번째 동영상은 부하를 걸어 TEST하는 화면입니다.

 

아주 잘~ 됩니다.

 

이번 프로젝트는 꽤나 어려웠네요. 불가능할 줄 알았습니다.

이제는 SD DISKII Emulator에 집중 할 수 있겠습니다.

 

왼쪽이 이번에 사용한  MPU보드입니다. 적당한것 임시로 사용했습니다. MPU는 ATTINY2313이며 20Mhz로 동작합니다.

이것은 사실 APPLE의 40배정도의 속도를 냅니다.

오른쪽은 APPLE과의 I/O등을 담당합니다. 몇 가지 TTL과 OPAMP그리고 90S2313 4Mhz가 하나 들어 갑니다.

 

 

 

 

 

 

 

 

'◆ APPLE II' 카테고리의 다른 글

SD DISKII Emulator for ProDos 8  (0) 2013.08.29
APPLE][ Puls F000~FFFF Monitor ROM  (0) 2013.08.20
APPLE2용 SD Memory Emulator를 위하여  (0) 2012.05.14
ROM WRITER 카드 및 BASIC 소스  (2) 2012.04.28
SN76489  (0) 2012.04.22
Posted by 이안김
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함